Follow Up Boss MCP Server

157-tool MCP server for Follow Up Boss CRM covering contacts, deals, pipeline, tasks, emails, smart lists, action plans, and webhooks.

Follow Up Boss MCP Server

Connect your Follow Up Boss CRM to Claude AI (or any MCP-compatible tool) with 157 tools covering all official API endpoints plus convenience tools for common workflows.

WARNING: This tool has full read AND write access to your Follow Up Boss account. It can create, update, and delete contacts, deals, tasks, notes, and other data in your CRM. Use at your own risk. We strongly recommend testing with a small number of records first, and always reviewing AI-suggested actions before confirming changes to your live data. The authors are not responsible for any data loss or unintended modifications to your FUB account.

What This Does

This server acts as a bridge between your Follow Up Boss account and AI tools like Claude. Once connected, you can talk to Claude in plain English and it will read, create, update, and manage your FUB data directly.

What you can do:

  • Contacts & People -- Search contacts, create new leads, update stages, manage tags, check duplicates, view relationships
  • Deals & Pipeline -- Create and manage deals, move them through pipeline stages, track values and closing dates
  • Tasks & Appointments -- Create follow-up tasks, schedule appointments, set reminders, track outcomes
  • Communication -- View call logs, text message history, send texts through the API
  • Email Templates -- Create, edit, and merge email templates with contact data
  • Smart Lists & Action Plans -- View smart lists, assign people to action plans and automations
  • Custom Fields -- Create and manage custom fields for contacts and deals
  • Teams, Groups & Ponds -- Manage team structure, round robin groups, and lead ponds
  • Webhooks -- Set up and manage webhook integrations
  • And more -- Inbox apps, reactions, threaded replies, email marketing campaigns, timeframes

What You'll Need

  1. A Follow Up Boss account with API access (most paid plans include this)
  2. Claude Desktop, Claude Code, or any MCP-compatible AI tool
  3. Node.js 18 or higher -- This is a free tool that runs JavaScript. If you don't have it, download it from nodejs.org (choose the LTS version)

Setup (5 Minutes)

Step 1: Get Your FUB API Key

Your API key is like a password that lets this server talk to your FUB account.

  1. Log into Follow Up Boss
  2. Go to Admin (top menu) > API
  3. Copy your API key (it looks like a long string of letters and numbers)

Step 2: Download & Install

If you know git:

git clone https://github.com/mindwear-capitian/followupboss-mcp-server.git
cd followupboss-mcp-server
npm install

If you don't know git:

  1. Click the green "Code" button at the top of this page
  2. Select "Download ZIP"
  3. Unzip the downloaded file
  4. Open Terminal (Mac) or Command Prompt (Windows)
  5. Navigate to the unzipped folder:
    cd path/to/followupboss-mcp-server
    
  6. Install dependencies:
    npm install
    

Step 3: Run Setup

npm run setup

This will:

  • Ask for your API key
  • Test the connection to make sure it works
  • Ask you to choose Safe Mode or Full Access
  • Save your settings in a local .env file
  • Show you exactly how to connect it to Claude

Safe Mode vs Full Access

Safe Mode (default)Full Access
Read data (contacts, deals, etc.)YesYes
Create new recordsYesYes
Update existing recordsYesYes
Delete recordsNoYes
Tools available134157

Safe Mode is the default and recommended for most users. It gives you everything except the ability to delete data. You can switch modes at any time by changing FUB_SAFE_MODE in your .env file or AI tool config.

Quick Verify (Optional)

Before connecting to Claude, you can verify everything works:

npm test

You should see:

  PASS  Server starts and MCP handshake succeeds
  PASS  Lists 134 tools
  PASS  Read-only API call works (account: ok)

3 passed, 0 failed

If all 3 pass, you're good to go. If something fails, double-check your API key in the .env file.

Step 4: Connect to Your AI Tool

Pick the tool you use below. Each one needs a small config file edit -- the setup wizard (npm run setup) will show you the exact paths and JSON for your computer, but here are the manual instructions for each.

What's a config file? It's a settings file that tells your AI tool where to find this server. You'll copy/paste a small block of text into it. That's it.


Claude Desktop

  1. Open Finder (Mac) or File Explorer (Windows)
  2. Go to this file:
    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. If the file doesn't exist, create it
  4. Paste this (replace the two placeholder values with yours):
{
  "mcpServers": {
    "followupboss": {
      "command": "node",
      "args": ["/full/path/to/followupboss-mcp-server/index.js"],
      "env": {
        "FUB_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Replace /full/path/to/ with where you downloaded this project
  2. Replace your_api_key_here with your FUB API key
  3. Restart Claude Desktop (fully quit and reopen)

Claude Code (CLI)

Run this one command in your terminal (replace the path):

claude mcp add followupboss -- node /full/path/to/followupboss-mcp-server/index.js

Then restart Claude Code.


Cursor

  1. Open Cursor
  2. Go to Settings > Developer > click "Edit Config" (this opens ~/.cursor/mcp.json)
  3. Paste this:
{
  "mcpServers": {
    "followupboss": {
      "command": "node",
      "args": ["/full/path/to/followupboss-mcp-server/index.js"],
      "env": {
        "FUB_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Replace the path and API key with yours
  2. Restart Cursor

Windsurf

  1. Open Windsurf
  2. Go to Settings > Cascade > MCP Servers
  3. Or manually edit this file:
    • Mac: ~/.codeium/windsurf/mcp_config.json
    • Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
  4. Paste this:
{
  "mcpServers": {
    "followupboss": {
      "command": "node",
      "args": ["/full/path/to/followupboss-mcp-server/index.js"],
      "env": {
        "FUB_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Replace the path and API key with yours
  2. Fully quit and restart Windsurf

VS Code with GitHub Copilot

Requires VS Code 1.99 or newer and GitHub Copilot extension.

  1. Open VS Code
  2. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows)
  3. Type "MCP: Open User Configuration" and select it
  4. Paste this:
{
  "servers": {
    "followupboss": {
      "type": "stdio",
      "command": "node",
      "args": ["/full/path/to/followupboss-mcp-server/index.js"],
      "env": {
        "FUB_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Replace the path and API key with yours
  2. Use the tools in Copilot's Agent mode

Note: VS Code uses "servers" and requires "type": "stdio" -- slightly different from the other tools.


Cline (VS Code Extension)

  1. Open VS Code with Cline installed
  2. Click the MCP Servers icon in the Cline sidebar
  3. Click "Configure MCP Servers"
  4. Paste this:
{
  "mcpServers": {
    "followupboss": {
      "command": "node",
      "args": ["/full/path/to/followupboss-mcp-server/index.js"],
      "env": {
        "FUB_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Replace the path and API key with yours

Gemini CLI (Google)

This works with Google's Gemini CLI tool, not the Gemini website.

  1. Edit (or create) this file:
    • Mac: ~/.gemini/settings.json
    • Windows: %USERPROFILE%\.gemini\settings.json
  2. Paste this:
{
  "mcpServers": {
    "followupboss": {
      "command": "node",
      "args": ["/full/path/to/followupboss-mcp-server/index.js"],
      "env": {
        "FUB_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Replace the path and API key with yours

Continue.dev (VS Code Extension)

  1. In your project, create a folder called .continue/mcpServers/ if it doesn't exist
  2. Create a file called followupboss.json inside it
  3. Paste this:
{
  "mcpServers": {
    "followupboss": {
      "command": "node",
      "args": ["/full/path/to/followupboss-mcp-server/index.js"],
      "env": {
        "FUB_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Replace the path and API key with yours
  2. Use the tools in Continue's Agent mode

ChatGPT, OpenAI API, and Grok

These tools only support remote MCP servers (hosted on the internet), not local ones. This means the setup is more advanced -- you would need to host this server on a cloud service with HTTPS.

If there's enough interest, we may add a hosted version in the future. For now, we recommend using one of the tools listed above that support local MCP servers.

Usage Examples

Once connected, just talk to your AI tool normally. Here are some things you can ask:

"Show me all my leads from this week"

"Create a task to follow up with John Smith tomorrow at 2pm"

"What deals do I have in my pipeline over $500k?"

"Add a note to Jane Doe's profile: Had a great phone call, she's interested in the Oak Park listing"

"List all my upcoming appointments for this week"

"Who are my uncontacted leads?"

"Move the Smith deal to the 'Under Contract' stage"

"Show me all contacts tagged 'hot lead'"

"Create a new email template called 'Open House Follow Up'"

"What action plans do I have set up?"

All 157 Available Tools

<details> <summary>Click to expand full tool list</summary>

Events (3 tools)

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

People / Contacts (8 tools)

ToolDescription
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)

ToolDescription
createPersonAttachmentAttach a file to a contact
getPersonAttachmentGet an attachment by ID
updatePersonAttachmentUpdate an attachment
deletePersonAttachmentDelete an attachment

Relationships (5 tools)

ToolDescription
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)

ToolDescription
getIdentityGet account information for the API key
getCurrentUserGet the current authenticated user

Notes (4 tools)

ToolDescription
createNoteCreate a note on a contact
getNoteGet a note by ID
updateNoteUpdate a note
deleteNoteDelete a note

Calls (4 tools)

ToolDescription
listCallsList call records
createCallLog a call
getCallGet a call by ID
updateCallUpdate a call record

Text Messages (3 tools)

ToolDescription
listTextMessagesList text messages
createTextMessageSend a text message
getTextMessageGet a text message by ID

Users (3 tools)

ToolDescription
listUsersList all users/agents
getUserGet a user by ID
deleteUserDelete a user

Smart Lists (2 tools)

ToolDescription
listSmartListsList all smart lists
getSmartListGet a smart list by ID

Action Plans (4 tools)

ToolDescription
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)

ToolDescription
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

Email Templates (6 tools)

ToolDescription
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)

ToolDescription
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)

ToolDescription
listEmEventsList email marketing events
createEmEventCreate email marketing events
listEmCampaignsList email marketing campaigns
createEmCampaignCreate a campaign
updateEmCampaignUpdate a campaign

Custom Fields (5 tools)

ToolDescription
listCustomFieldsList all custom fields
createCustomFieldCreate a custom field
getCustomFieldGet a custom field by ID
updateCustomFieldUpdate a custom field
deleteCustomFieldDelete a custom field

Stages (5 tools)

ToolDescription
listStagesList all pipeline stages
createStageCreate a stage
getStageGet a stage by ID
updateStageUpdate a stage
deleteStageDelete a stage

Tasks (5 tools)

ToolDescription
listTasksList tasks
createTaskCreate a task
getTaskGet a task by ID
updateTaskUpdate a task
deleteTaskDelete a task

Appointments (5 tools)

ToolDescription
listAppointmentsList appointments
createAppointmentCreate an appointment
getAppointmentGet an appointment by ID
updateAppointmentUpdate an appointment
deleteAppointmentDelete an appointment

Appointment Types (5 tools)

ToolDescription
listAppointmentTypesList appointment types
createAppointmentTypeCreate a type
getAppointmentTypeGet a type by ID
updateAppointmentTypeUpdate a type
deleteAppointmentTypeDelete a type

Appointment Outcomes (5 tools)

ToolDescription
listAppointmentOutcomesList outcomes
createAppointmentOutcomeCreate an outcome
getAppointmentOutcomeGet an outcome by ID
updateAppointmentOutcomeUpdate an outcome
deleteAppointmentOutcomeDelete an outcome

Webhooks (6 tools)

ToolDescription
listWebhooksList all webhooks
createWebhookCreate a webhook
getWebhookGet a webhook by ID
updateWebhookUpdate a webhook
deleteWebhookDelete a webhook
getWebhookEventsGet events for a webhook

Pipelines (5 tools)

ToolDescription
listPipelinesList all pipelines
createPipelineCreate a pipeline
getPipelineGet a pipeline by ID
updatePipelineUpdate a pipeline
deletePipelineDelete a pipeline

Deals (5 tools)

ToolDescription
listDealsList deals with filtering
createDealCreate a deal
getDealGet a deal by ID
updateDealUpdate a deal
deleteDealDelete a deal

Deal Attachments (4 tools)

ToolDescription
createDealAttachmentAttach a file to a deal
getDealAttachmentGet an attachment by ID
updateDealAttachmentUpdate an attachment
deleteDealAttachmentDelete an attachment

Deal Custom Fields (5 tools)

ToolDescription
listDealCustomFieldsList deal custom fields
createDealCustomFieldCreate a deal custom field
getDealCustomFieldGet a field by ID
updateDealCustomFieldUpdate a field
deleteDealCustomFieldDelete a field

Groups (6 tools)

ToolDescription
listGroupsList all groups
listRoundRobinGroupsList round robin groups
createGroupCreate a group
getGroupGet a group by ID
updateGroupUpdate a group
deleteGroupDelete a group

Teams (5 tools)

ToolDescription
listTeamsList all teams
createTeamCreate a team
getTeamGet a team by ID
updateTeamUpdate a team
deleteTeamDelete a team

Team Inboxes (1 tool)

ToolDescription
listTeamInboxesList all team inboxes

Ponds (5 tools)

ToolDescription
listPondsList all ponds
createPondCreate a pond
getPondGet a pond by ID
updatePondUpdate a pond
deletePondDelete a pond

Timeframes (1 tool)

ToolDescription
listTimeframesList all timeframes

Inbox Apps (10 tools)

ToolDescription
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

Reactions (3 tools)

ToolDescription
getReactionsGet reactions for an item
createReactionAdd a reaction
deleteReactionRemove a reaction

Threaded Replies (1 tool)

ToolDescription
getThreadedRepliesGet threaded replies for an item

Convenience Tools

ToolDescription
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
</details>

Rate Limiting

The server automatically retries requests when FUB's rate limits are hit (HTTP 429). It reads the Retry-After header and backs off with increasing delays, up to 3 retries per request. FUB's limits are:

  • Global: 250 requests per 10 seconds
  • People updates: 25 per 10 seconds
  • Notes: 10 per 10 seconds

The bulkUpdatePeople tool also adds a built-in pause every 20 operations to stay under the PUT limit.

Troubleshooting

"Cannot connect" or "Connection refused"

  • Make sure Node.js is installed: run node --version in your terminal (should show v18 or higher)
  • Make sure you ran npm install in the project folder
  • Double-check the file path in your Claude config

"Invalid API key" or "401 Unauthorized"

  • Re-check your API key in FUB: Admin > API
  • Make sure there are no extra spaces when you copy/paste
  • Run npm run setup again to test your key

"Tool not found" in Claude

  • Restart Claude Desktop after adding the server config
  • Check that the JSON in your config file is valid (no missing commas or brackets)

Claude doesn't seem to know about FUB

  • Make sure the server name in your config matches exactly
  • Check Claude Desktop's developer console for error messages
  • Try asking Claude: "What MCP tools do you have available?"

FAQ

Is my data safe?

Yes. This server runs entirely on your computer. Your API key stays in a local file on your machine and is never sent anywhere except directly to Follow Up Boss's official API. No data passes through any third-party servers.

Does this cost anything?

This server is free and open source. You just need a Follow Up Boss account with API access (included in most paid plans).

Can Claude modify my FUB data?

Yes, Claude can create, update, and delete records in your FUB account. Claude will typically confirm before making changes, especially for deletions. If you want read-only access, you can create a restricted API key in FUB.

What's MCP?

MCP (Model Context Protocol) is an open standard created by Anthropic that lets AI tools like Claude connect to external services. Think of it as a universal plug that lets Claude talk to your apps. Learn more about MCP.

Who made this?

Built by Ed Neuhaus, broker at Neuhaus Realty Group and creator of StaySTRA, both in Austin, TX. We use Follow Up Boss every day and built this to make our own workflow faster.

Contributing

Contributions are welcome! Here's how:

  1. Fork this repository
  2. Create a feature branch: git checkout -b my-feature
  3. Make your changes
  4. Test them: node -c index.js (syntax check)
  5. Commit: git commit -m "Add my feature"
  6. Push: git push origin my-feature
  7. Open a Pull Request

Please keep the code style consistent and make sure all 157 tools continue to work.

License

MIT -- see LICENSE for details.


Built by Ed Neuhaus / StaySTRA

Related Servers