A product by Reva AI Solutions
User guide

Everything you need to use the Follow Up Boss MCP server

How to connect, what every one of the 160 tools does, and what to do when something goes wrong. This is the full reference — for a quicker overview, see Features.

Quick start

  1. Go to the signup section on the home page and enter your email. You'll get a trial API key for this server (7 days or 100 requests, whichever comes first — no credit card).
  2. Copy the MCP config block shown after signup — it already has your key filled in.
  3. Paste it into your AI app's MCP settings (Claude, ChatGPT, or any MCP-compatible client).
  4. Replace YOUR_FOLLOWUPBOSS_API_KEY_HERE in the config with your own Follow Up Boss API key (Follow Up Boss → Admin → API).
  5. Restart or reconnect your AI app, then just ask it something — e.g. "show me my leads from this week."

Connecting your AI app

Clients that support remote MCP servers natively — Claude Code, ChatGPT, Cursor, and most others — take this config directly. Two headers do the work: x-api-key identifies you as a customer of this hosted server, and x-fub-api-key is your own Follow Up Boss credential, used only for your requests.

{
  "mcpServers": {
    "followupboss": {
      "url": "https://YOUR-SERVER-URL/mcp",
      "headers": {
        "x-api-key": "YOUR_TRIAL_API_KEY",
        "x-fub-api-key": "YOUR_FOLLOWUPBOSS_API_KEY"
      }
    }
  }
}

Older SSE-only clients should point at /sse instead of /mcp, with the same two headers.

Your Follow Up Boss key is never stored. It's passed through on every request to spawn an isolated session scoped to you — it isn't written to a database on our side.

Using Claude Desktop? Its config file only accepts locally-run servers, not a raw URL — see the Claude Desktop section below instead of the block above.

Claude Desktop specifically

Claude Desktop's claude_desktop_config.json only validates locally-run (stdio) servers — command / args / env. A raw url + headers entry gets silently skipped with an error like "not a valid MCP server configuration." Use mcp-remote instead — a small bridge that runs locally via npx and forwards to this server over HTTP with your headers attached:

{
  "mcpServers": {
    "followupboss": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://YOUR-SERVER-URL/mcp",
        "--header",
        "x-api-key:${FUB_MCP_API_KEY}",
        "--header",
        "x-fub-api-key:${FUB_MCP_FUB_KEY}"
      ],
      "env": {
        "FUB_MCP_API_KEY": "YOUR_TRIAL_API_KEY",
        "FUB_MCP_FUB_KEY": "YOUR_FOLLOWUPBOSS_API_KEY"
      }
    }
  }
}

Edit the file at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) — merge this into any existing mcpServers key rather than replacing the whole file, since it likely has other settings in it already. Requires Node.js on your machine (npx ships with it). Fully quit and reopen Claude Desktop afterward — closing the window isn't enough.

Access modes

The underlying server can run in Safe Mode or Full Access. Safe Mode is the default and is recommended unless you specifically need to delete records through the AI.

CapabilitySafe ModeFull Access
Read contacts, deals, tasks, calls, etc.YesYes
Create new recordsYesYes
Update existing recordsYesYes
Delete recordsNoYes
Tools available137160

A handful of tools (webhooks, SMS logging, inbox apps) additionally require Follow Up Boss "registered system" credentials, regardless of mode — that's a Follow Up Boss platform restriction, not something this server controls.

Plans and usage limits

Every account — trial or active — has a request cap, separate from the per-minute rate limit below:

PlanCapResets
Trial100 requests totalNever — fixed for the 7-day trial window
Active2,000 requests/month by defaultEvery 30 days from activation

Once an active account's monthly cap is reached, requests return 402 until the next reset — or until the limit is raised. If your usage regularly exceeds the default, contact us to increase your account's limit.

Rate limits

Two layers of limits apply:

  • This server limits each account to a default of 60 requests/minute with a burst allowance of 10 in a 5-second window, to keep the service stable for everyone.
  • Follow Up Boss's own API enforces its own limits underneath: 250 requests/10s globally, 25/10s for person updates, 10/10s for notes. The underlying tool server automatically retries on HTTP 429 with backoff, up to 3 attempts.

If you're doing a bulk operation, prefer the bulkUpdatePeople convenience tool — it paces itself automatically to stay under FUB's per-endpoint limits.

Troubleshooting

"Invalid api key" (403)
The x-api-key header doesn't match a known account, or has a typo. Re-copy it from your signup confirmation — it's shown only once.
"Your trial has expired" (402)
Your 7-day trial window has ended. Contact us to move to an active account.
"Your trial has reached its 100-request limit" (402)
You've used all the requests included in your trial, even if the 7 days haven't passed yet. Contact us to move to an active account.
"You've reached your plan's monthly limit of N requests" (402)
Active accounts get 2,000 requests/month by default, resetting 30 days after activation. Contact us to raise your limit if you're hitting it regularly.
"Missing FUB API key" (401)
The request didn't include x-fub-api-key. Check your client's config — this is separate from your trial x-api-key.
"Rate limit exceeded" (429)
You've hit the per-account request limit. Wait for the number of seconds in the Retry-After header and try again.
My AI app doesn't see any tools
Restart or fully reconnect the MCP client after adding the config. Double-check the config JSON is valid (no missing commas or brackets).
"The following entries in claude_desktop_config.json are not valid MCP server configurations and were skipped"
You used the url + headers config in Claude Desktop, which it doesn't accept directly. See the Claude Desktop section for the mcp-remote bridge config instead.
A tool call returns a Follow Up Boss error
That's coming straight from the Follow Up Boss API — check that your FUB API key is valid and has the right permissions in Follow Up Boss → Admin → API.

FAQ

Is my Follow Up Boss data safe?
Your FUB API key is sent per-request to spin up a session scoped only to you; it isn't persisted in a database. Standard precautions still apply — treat your key like a password, and don't share your trial API key with anyone you don't want accessing your FUB account through it.
Can the AI delete or change my data?
Yes, in Full Access mode it can create, update, and delete records. Safe Mode (the default) blocks deletes. Most AI clients will confirm with you before a destructive action, but review suggested changes before approving them.
Does this cost anything?
Trials are free for 7 days or 100 requests, whichever comes first — no credit card required. Reach out to keep using it after your trial ends.
Where are call recording URLs?
Follow Up Boss masks recordingUrl at the API level for every integration, not just this one — the API always returns a placeholder instead of the real link, and writing to it is a no-op. If you need call audio, capture it on the dialer side; call transcripts can still be stored via updateCall's note field.
What's MCP?
Model Context Protocol — an open standard for connecting AI apps to external tools and data. modelcontextprotocol.io has the full spec.

Full tool reference

All 160 tools, grouped the way they're grouped in the underlying server. Full Access unlocks the delete tools; Safe Mode (default) skips them.

People / Contacts 8 tools

ToolWhat it does
listPeopleSearch and filter contacts extensively
createPersonCreate a new contact
getPersonGet a contact by ID
updatePersonUpdate contact details, stage, tags, etc.
deletePersonDelete (trash) a contact
checkDuplicateCheck if a contact exists by email or phone
listUnclaimedList unclaimed leads in ponds
claimPersonClaim an unclaimed lead

Person Attachments 4 tools

ToolWhat it does
createPersonAttachmentAttach a file to a contact
getPersonAttachmentGet an attachment by ID
updatePersonAttachmentUpdate an attachment
deletePersonAttachmentDelete an attachment

Relationships 5 tools

ToolWhat it does
listRelationshipsList relationships for a contact
createRelationshipCreate a relationship between two contacts
getRelationshipGet a relationship by ID
updateRelationshipUpdate a relationship
deleteRelationshipDelete a relationship

Identity 2 tools

ToolWhat it does
getIdentityGet account information for the API key
getCurrentUserGet the current authenticated user

Notes 5 tools

ToolWhat it does
listNotesList notes, optionally filtered by personId
createNoteCreate a note on a contact
getNoteGet a note by ID
updateNoteUpdate a note
deleteNoteDelete a note

Deals 5 tools

ToolWhat it does
listDealsList deals with filtering
createDealCreate a deal
getDealGet a deal by ID
updateDealUpdate a deal
deleteDealDelete a deal

Pipelines 5 tools

ToolWhat it does
listPipelinesList all pipelines
createPipelineCreate a pipeline
getPipelineGet a pipeline by ID
updatePipelineUpdate a pipeline
deletePipelineDelete a pipeline

Stages 5 tools

ToolWhat it does
listStagesList all pipeline stages
createStageCreate a stage
getStageGet a stage by ID
updateStageUpdate a stage
deleteStageDelete a stage

Deal Attachments 4 tools

ToolWhat it does
createDealAttachmentAttach a file to a deal
getDealAttachmentGet an attachment by ID
updateDealAttachmentUpdate an attachment
deleteDealAttachmentDelete an attachment

Deal Custom Fields 5 tools

ToolWhat it does
listDealCustomFieldsList deal custom fields
createDealCustomFieldCreate a deal custom field
getDealCustomFieldGet a field by ID
updateDealCustomFieldUpdate a field
deleteDealCustomFieldDelete a field

Tasks 5 tools

ToolWhat it does
listTasksList tasks
createTaskCreate a task
getTaskGet a task by ID
updateTaskUpdate a task
deleteTaskDelete a task

Appointments 5 tools

ToolWhat it does
listAppointmentsList appointments
createAppointmentCreate an appointment
getAppointmentGet an appointment by ID
updateAppointmentUpdate an appointment
deleteAppointmentDelete an appointment

Appointment Types 5 tools

ToolWhat it does
listAppointmentTypesList appointment types
createAppointmentTypeCreate a type
getAppointmentTypeGet a type by ID
updateAppointmentTypeUpdate a type
deleteAppointmentTypeDelete a type

Appointment Outcomes 5 tools

ToolWhat it does
listAppointmentOutcomesList outcomes
createAppointmentOutcomeCreate an outcome
getAppointmentOutcomeGet an outcome by ID
updateAppointmentOutcomeUpdate an outcome
deleteAppointmentOutcomeDelete an outcome

Calls 4 tools

ToolWhat it does
listCallsList call records
createCallLog a call
getCallGet a call by ID
updateCallUpdate a call record

Text Messages 3 tools

ToolWhat it does
listTextMessagesList text messages
createTextMessageSend a text message
getTextMessageGet a text message by ID

Reactions 3 tools

ToolWhat it does
getReactionsGet reactions for an item
createReactionAdd a reaction
deleteReactionRemove a reaction

Threaded Replies 1 tool

ToolWhat it does
getThreadedRepliesGet threaded replies for an item

Team Inboxes 1 tool

ToolWhat it does
listTeamInboxesList all team inboxes

Inbox Apps 10 tools

ToolWhat it does
inboxAppAddMessageAdd a message to a conversation
inboxAppUpdateMessageUpdate a message
inboxAppAddNoteAdd a note to a conversation
inboxAppUpdateConversationUpdate conversation status
inboxAppGetParticipantsGet conversation participants
inboxAppCreateParticipantAdd a participant
inboxAppDeleteParticipantRemove a participant
inboxAppInstallInstall an inbox app
inboxAppDeactivateDeactivate the inbox app
listInboxAppInstallationsList installations

Email Templates 6 tools

ToolWhat it does
listTemplatesList email templates
createTemplateCreate an email template
getTemplateGet a template by ID
updateTemplateUpdate a template
mergeTemplateMerge template with contact data (mail merge)
deleteTemplateDelete a template

Text Message Templates 6 tools

ToolWhat it does
listTextMessageTemplatesList text message templates
createTextMessageTemplateCreate a text message template
getTextMessageTemplateGet a template by ID
updateTextMessageTemplateUpdate a template
mergeTextMessageTemplateMerge template with contact data
deleteTextMessageTemplateDelete a template

Email Marketing 5 tools

ToolWhat it does
listEmEventsList email marketing events
createEmEventCreate email marketing events
listEmCampaignsList email marketing campaigns
createEmCampaignCreate a campaign
updateEmCampaignUpdate a campaign

Smart Lists 2 tools

ToolWhat it does
listSmartListsList all smart lists
getSmartListGet a smart list by ID

Action Plans 4 tools

ToolWhat it does
listActionPlansList all action plans
listActionPlansPeopleList people in action plans
addPersonToActionPlanAdd a contact to an action plan
updateActionPlanPersonUpdate action plan status for a contact

Automations 6 tools

ToolWhat it does
listAutomationsList all automations
getAutomationGet an automation by ID
listAutomationsPeopleList people in automations
getAutomationPersonGet automation-person entry
addPersonToAutomationAdd a contact to an automation
updateAutomationPersonUpdate automation status for a contact

Custom Fields 5 tools

ToolWhat it does
listCustomFieldsList all custom fields
createCustomFieldCreate a custom field
getCustomFieldGet a custom field by ID
updateCustomFieldUpdate a custom field
deleteCustomFieldDelete a custom field

Users 3 tools

ToolWhat it does
listUsersList all users/agents
getUserGet a user by ID
deleteUserDelete a user

Teams 5 tools

ToolWhat it does
listTeamsList all teams
createTeamCreate a team
getTeamGet a team by ID
updateTeamUpdate a team
deleteTeamDelete a team

Groups 6 tools

ToolWhat it does
listGroupsList all groups
listRoundRobinGroupsList round robin groups
createGroupCreate a group
getGroupGet a group by ID
updateGroupUpdate a group
deleteGroupDelete a group

Ponds 5 tools

ToolWhat it does
listPondsList all ponds
createPondCreate a pond
getPondGet a pond by ID
updatePondUpdate a pond
deletePondDelete a pond

Webhooks 6 tools

ToolWhat it does
listWebhooksList all webhooks
createWebhookCreate a webhook
getWebhookGet a webhook by ID
updateWebhookUpdate a webhook
deleteWebhookDelete a webhook
getWebhookEventsGet events for a webhook

Events 3 tools

ToolWhat it does
listEventsList events with filtering by person, type, property
createEventCreate a new event (lead event, property inquiry, etc.)
getEventGet a single event by ID

Timeframes 1 tool

ToolWhat it does
listTimeframesList all timeframes

Convenience Tools 5 tools

ToolWhat it does
removeTagFromPersonRemove a single tag without affecting others (handles read-modify-write internally)
getPersonByEmailLook up a person by email address
searchPeopleByTagFind all people with specific tags (comma-separated, OR logic)
bulkUpdatePeopleUpdate multiple people at once with automatic rate limiting
listAvailableTagsDiscover all tags in your account by scanning contacts

Meta Tools 2 tools

ToolWhat it does
aboutAuthor bio, related projects, contributors, "how to thank me"
helpUsage tips, common tool examples, bug report links