FUB MCP
Operational

Follow Up Boss, wired into Claude.

A hardened remote MCP server that exposes 20 Follow Up Boss CRM tools to Claude clients — search leads, log notes, draft SMS, move stages, and audit your pipeline conversationally. Built for a real team running a real book of business.

POST/api/mcp
AuthBearer·?token=
TransportStreamable HTTP

Compliance & Security

Production-grade by default.

Per-agent bearer auth

withMcpAuth gates every request. One token per agent for attribution.

Rate limiting

Per-agent token bucket cuts off runaway loops before they hit FUB.

DNC / opt-out guard

Code-blocks outreach to Not Interested · Bad Lead · Bad Phone Number · DNC tags.

Error sanitization

FUB error bodies never reach the client — generic status messages only.

429 retry / backoff

Honors Retry-After and X-RateLimit-Reset. Reads only — never replays writes.

Security headers

nosniff · DENY framing · strict CSP · HSTS · no-store on /api/*.

Registered FUB system

X-System / X-System-Key required in production for source attribution.

No PII persistence

Stateless serverless — ephemeral 5–10 min cache for users / smart lists only.

Tools exposed

20 tools, organized by intent.

Read11 tools
search_peopleFilter contacts by name, email, phone, stage, agent
get_personFull record for a contact by ID
list_eventsActivity history (notes, calls, emails)
list_notesAll notes with body for a person
get_noteSingle note by ID
list_text_messagesFull SMS thread for a lead
get_text_messageSingle SMS by ID
list_smart_listsSmart Lists configured in FUB
get_smart_list_peopleContacts inside a Smart List
list_usersAgents and admins on the account
pipeline_summaryCounts per stage, parallel fetch
Write8 tools
create_lead_eventNew inbound lead — triggers FUB automations
create_personManual contact insert (no automations)
create_noteLog a note on a contact
create_taskSchedule a follow-up task
create_text_messageLog an outbound/inbound SMS in FUB
update_personEdit any contact field (stage, name, phone…)
add_tagApply tags (can trigger action plans)
remove_tagRemove tags
Meta1 tools
get_core_directivesSmart Move Miami persona + CRM protocols

Connect

Two clients, same endpoint.

Claude.ai · Custom connector

Settings → Connectors → Add custom connector.

https://<your-app>.vercel.app/api/mcp
# the UI doesn't expose a bearer field — pass the token via query string:
https://<your-app>.vercel.app/api/mcp?token=<your-token>

Claude Desktop · config

%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "followupboss": {
      "url": "https://<your-app>.vercel.app/api/mcp",
      "headers": { "Authorization": "Bearer <your-token>" }
    }
  }
}