Brella

Getting started

The Claude connector

A remote MCP server that gives Claude the agency workspace’s own tools — the same handlers its screens call, authorised the same way, scoped to one workspace and one member.

The address#

One address. Register it exactly as written — including the www.

The MCP endpoint

https://www.brellapartners.com/mcp

Why the www matters

The apex domain brellapartners.com answers with a 308 to www.brellapartners.com, and a redirect across hosts drops the Authorization header — so a client registered against the apex signs in, gets a token, and is then told it has none. If connecting loops, check the host first.

What it speaks#

Model Context Protocol, over the Streamable HTTP transport, stateless. There is no session to resume and no server-sent stream to hold open: every request carries everything it needs, which is what lets it run as one serverless function and never leave a connection hanging.

  • POST /mcp — the one door. JSON-RPC in, JSON out.
  • GET and DELETE answer 405, which is the protocol’s own answer for a server offering neither a stream nor a session.
  • OPTIONS is answered for CORS, exposing WWW-Authenticate so a browser-based client can read the challenge that starts the sign-in.

What it exposes#

102 tools, five prompts, and a set of server instructions describing how Brella models an agency — policies and leads under one lifecycle, locations and buildings under a policy, the reference code on everything. The tools are not a separate API written for Claude: they are the same registry Bird, the agent inside Brella OS, already runs on, so the two cannot drift apart or authorise differently.

The book

What it covers

Search it, open any policy and its activity, today’s work, and the before-you-send report.

Tools

7
Addresses & property data

What it covers

Addresses resolved to real ones, and the public record for the building.

Tools

2
The record

What it covers

Stage, policy facts, locations and buildings, general liability, workers’ comp, questionnaires.

Tools

35
Documents & forms

What it covers

Read any file on the policy; generate the ACORD forms and the Schedule of Values.

Tools

6
Certificates

What it covers

Holders and what their contracts require, the endorsement on file, issuing and reissuing.

Tools

8
Claims

What it covers

Report a claim, record the carrier and the adjuster, move its status, add notes.

Tools

5
Mid-term changes

What it covers

Draft a change request, answer its questions, record where it stands.

Tools

5
The E&O advisory record

What it covers

What was offered and declined this term, and the letter that confirms it.

Tools

4
Producer licensing

What it covers

Producers, licences, carrier appointments and continuing education.

Tools

12
Surplus lines

What it covers

Non-admitted filings, their obligations, and the agency’s own deadline rules.

Tools

11
The policyholder

What it covers

Read the conversation on a policy, and send a message into it.

Tools

2
Reminders

What it covers

Your own reminders on a lead or policy, on your clock.

Tools

5

The full list, tool by tool, is the tool reference. Every entry there is generated from the connector’s own registry.

What is held back

Six of Bird’s tools are not exposed, each for a stated reason: the two that render Bird’s own question card and file drop (Claude has its own way to ask, and no Bird upload to point at), the one that drafts with Brella’s model rather than with Claude, and the three that hold Bird’s standing instructions for the agency — a connector must not hand a client instructions to follow, so that memory stays Bird’s.

One tool exists only here: get_workspace_context, which returns who is signed in, which workspace this connection acts in, today’s date and time zone, and an overview of the book. Bird gets that from its own system prompt; a connector has to be able to answer it out loud.

How a call is authorised#

In order, before the MCP layer sees a byte:

  • Method. Anything but POST is a 405.
  • Token. The bearer token must be one we issued, still live, bound to this resource, and held by somebody who is still a member of that agency. No token, or a bad one, is a transport-level 401 with a WWW-Authenticate header pointing at the protected-resource metadata — that header is what makes a client run OAuth. A 200 carrying a polite “please sign in” would not.
  • Scope. A call to a tool the token’s scopes do not cover is a 403 insufficient_scope, naming the scope to ask for — step-up authorization, which Claude turns into a re-consent. Batched calls are checked element by element.
  • Burst. A per-connection rate limit, against a runaway loop rather than against you.

Then the tool runs — under the member’s own session, through the same handler the workspace screen calls, with the same agencyCanAccess check in front of it. Nothing re-implements authorisation for Claude.

An unauthenticated call

POST /mcp HTTP/1.1Host: www.brellapartners.com HTTP/1.1 401 UnauthorizedWWW-Authenticate: Bearer resource_metadata=  "https://www.brellapartners.com/.well-known/oauth-protected-resource/mcp"

One workspace per connection#

A connection holds exactly one agency workspace — the one picked on the consent page. A person who works at two agencies connects twice and keeps two connections, and neither can see the other’s book. This is not a filter applied to a wider token: the grant itself names one org, and every query underneath filters by it.

What it deliberately does not carry#

  • No carrier transport. Brella does not send anything to a carrier, so neither does Claude. Recording a change request as submitted records that a human sent it, elsewhere, on the date they state.
  • No binding and no money. A stage of “bound” is a record of what a person did, not a binder.
  • No instructions from us to your client. Tool descriptions describe; they do not steer. The server’s instructions explain the model of the workspace and stop there.

Where it runs#

The connector runs in production only. A preview deployment refuses to serve it — previews share one database with production, so a token minted on a preview would be a valid production token, which is not a risk worth the convenience. The issuer and the resource identifier come from configuration, never from the Host header, so they cannot be moved by a request.

Live availability of the connector and everything behind it is on the status page, which checks the connector’s own tables by name rather than pinging a URL.