Skip to main content
Glama
mindwear-capitian

followupboss-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FUB_API_KEYYesYour Follow Up Boss API key, found in Admin > API.
FUB_SAFE_MODENoToggle between Safe Mode (default) and Full Access. Safe Mode prevents the ability to delete data. Set to 'true' for Safe Mode or 'false' for Full Access.true

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
listEventsA

List events from FUB. Filter by personId, type, property address, etc.

createEventB

Create a new event in FUB (lead event, property inquiry, etc)

getEventA

Get a single event by ID

listPeopleA

List/search people in FUB. Supports filtering by name, email, phone, tags, stage, source, assignedTo, price range, smart list, and more. For tag filtering use the tags parameter (comma-separated, OR logic). For email lookup use the email parameter.

createPersonA

Create a new person/contact in FUB. Custom fields are supported: include them as additional top-level keys prefixed with 'custom' (e.g. customClosingDate) — run listCustomFields to see this account's field names.

getPersonB

Get a single person by ID

updatePersonA

Update an existing person in FUB. Custom fields are supported: include them as additional top-level keys prefixed with 'custom' (e.g. customClosingDate) — run listCustomFields to see this account's field names. Set a custom field to JSON null to clear it (the string 'null' would be stored literally).

checkDuplicateB

Check if a person already exists by email or phone

listUnclaimedA

List unclaimed people (in ponds, not assigned)

claimPersonB

Claim an unclaimed person

createPersonAttachmentA

Attach an externally-hosted file to a person. "Restricted - Registered Systems Only": requires FUB_SYSTEM + FUB_SYSTEM_KEY env vars. uri must point to an externally hosted file — FUB does NOT host uploads via this endpoint (omitting URI returns 403).

getPersonAttachmentA

Get a person attachment by ID

updatePersonAttachmentC

Update a person attachment

listRelationshipsB

List relationships for a person

createRelationshipA

Create a relationship contact (Spouse, Brother, Partner, etc.) for an existing person. The relationship is its own contact record linked to personId — it is NOT a link between two existing people.

getRelationshipB

Get a relationship by ID

updateRelationshipC

Update a relationship contact

getIdentityA

Get identity/account information for the API key

getCurrentUserA

Get the current authenticated user (GET /me)

listNotesA

List notes, optionally filtered by personId

createNoteB

Create a note on a person

getNoteC

Get a note by ID

updateNoteC

Update a note

listCallsC

List calls

createCallC

Log a call for a person. FUB expects isIncoming (boolean) and note (singular).

getCallA

Get a call by ID

updateCallC

Update a call record

listTextMessagesA

List text messages. FUB REQUIRES at least one filter: personId, threadId, phone, toNumber, fromNumber, sharedInboxId, groupTextId, participants, or id list. Unfiltered calls return 400.

createTextMessageA

LOG a text message that was already sent by your registered third-party SMS system. This endpoint does NOT actually deliver an SMS — FUB only records it as a log entry on the person. "Restricted - Registered Systems Only": requires FUB_SYSTEM + FUB_SYSTEM_KEY env vars. To actually send an SMS to a lead, do it from FUB's UI or use your SMS provider's API directly.

getTextMessageA

Get a text message by ID

listUsersB

List all users/agents in the account

getUserA

Get a user by ID

listSmartListsA

List all smart lists. By default only classic FUB smart lists are returned. Pass all: true to also include smart lists created in the current FUB UI (otherwise modern smart lists are invisible).

getSmartListB

Get a smart list by ID

listActionPlansC

List all action plans

listActionPlansPeopleB

List people assigned to action plans

addPersonToActionPlanB

Add a person to an action plan

updateActionPlanPersonC

Update a person's action plan status

listAutomationsA

List all Automations 2.0 automations. "Restricted - Registered Systems Only": requires FUB_SYSTEM + FUB_SYSTEM_KEY. Account must also be on Automations 2.0.

getAutomationB

Get an automation by ID

listAutomationsPeopleA

List people in Automations 2.0 automations. "Restricted - Registered Systems Only": requires FUB_SYSTEM + FUB_SYSTEM_KEY.

getAutomationPersonA

Get an automation-person entry by ID

addPersonToAutomationB

Add a person to an automation

updateAutomationPersonB

Update a person's automation status

listTemplatesA

List email templates

createTemplateC

Create an email template

getTemplateA

Get an email template by ID

updateTemplateB

Update an email template

mergeTemplateB

Merge an email template with a person's data (mail merge)

listTextMessageTemplatesB

List text message templates

createTextMessageTemplateB

Create a text message template

getTextMessageTemplateB

Get a text message template by ID

updateTextMessageTemplateB

Update a text message template

mergeTextMessageTemplateC

Merge a text message template with person data

listEmEventsC

List email marketing events

createEmEventC

Create email marketing events

listEmCampaignsB

List email marketing campaigns

createEmCampaignB

Create an email marketing campaign

updateEmCampaignC

Update an email marketing campaign

listCustomFieldsB

List custom fields. Paginated (FUB defaults to 10 per page) — pass limit=100 to fetch all in one call.

createCustomFieldC

Create a custom field

getCustomFieldB

Get a custom field by ID

updateCustomFieldC

Update a custom field

listStagesB

List all pipeline stages

createStageC

Create a pipeline stage

getStageA

Get a stage by ID

updateStageC

Update a stage

listTasksC

List tasks

createTaskB

Create a task

getTaskA

Get a task by ID

updateTaskC

Update a task

listAppointmentsC

List appointments

createAppointmentB

Create an appointment. FUB uses start/end (not startTime/endTime), typeId/outcomeId (not appointmentTypeId/appointmentOutcomeId), and invitees:[{type:'person'|'user',id}] (personId is NOT a top-level field).

getAppointmentA

Get an appointment by ID

updateAppointmentA

Update an appointment. FUB requires start and end on EVERY update (even partial edits) or it returns 'Valid Start and End dates are required'. Refetch with getAppointment first if you only have the id.

listAppointmentTypesA

List appointment types

createAppointmentTypeC

Create an appointment type

getAppointmentTypeA

Get appointment type by ID

updateAppointmentTypeC

Update an appointment type

listAppointmentOutcomesB

List appointment outcomes

createAppointmentOutcomeA

Create an appointment outcome

getAppointmentOutcomeA

Get appointment outcome by ID

updateAppointmentOutcomeC

Update an appointment outcome

listWebhooksA

List all webhooks

createWebhookD

Create a webhook

getWebhookA

Get a webhook by ID

updateWebhookC

Update a webhook

getWebhookEventsC

Get events for a webhook

listPipelinesC

List all pipelines

createPipelineC

Create a pipeline

getPipelineA

Get a pipeline by ID

updatePipelineC

Update a pipeline

listDealsB

List deals with filtering

createDealB

Create a deal. FUB expects peopleIds (array) and price (number). name + stageId required.

getDealB

Get a deal by ID

updateDealA

Update a deal. Use price (not value) and peopleIds (not personId).

createDealAttachmentA

Attach an externally-hosted file to a deal. "Restricted - Registered Systems Only": requires FUB_SYSTEM + FUB_SYSTEM_KEY env vars. uri must point to an externally hosted file — FUB does NOT host uploads via this endpoint (omitting URI returns 403).

getDealAttachmentA

Get a deal attachment by ID

updateDealAttachmentC

Update a deal attachment

listDealCustomFieldsA

List deal custom fields. Paginated (FUB defaults to 10 per page) — pass limit=100 to fetch all in one call.

createDealCustomFieldB

Create a deal custom field. FUB expects 'label' (not 'name') and 'choices' (not 'options').

getDealCustomFieldB

Get a deal custom field by ID

updateDealCustomFieldC

Update a deal custom field

listGroupsB

List all groups

listRoundRobinGroupsA

List round robin groups

createGroupC

Create a group

getGroupB

Get a group by ID

updateGroupC

Update a group

listTeamsA

List all teams

createTeamC

Create a team

getTeamA

Get a team by ID

updateTeamC

Update a team

listTeamInboxesC

List all team inboxes

listPondsA

List all ponds

createPondC

Create a pond

getPondA

Get a pond by ID

updatePondC

Update a pond

listTimeframesB

List all timeframes

inboxAppAddMessageB

Add a message to an inbox app conversation

inboxAppUpdateMessageC

Update an inbox app message

inboxAppAddNoteA

Add a note to an inbox app conversation

inboxAppUpdateConversationC

Update an inbox app conversation status

inboxAppGetParticipantsB

Get participants of an inbox app conversation

inboxAppCreateParticipantA

Add a participant to an inbox app conversation

inboxAppInstallA

Install an inbox app for a user. Requires the publishedInboxAppId from FUB's app catalog plus a webhook subscriptionUrl.

inboxAppDeactivateB

Deactivate an inbox app installation by ID

listInboxAppInstallationsA

List inbox app installations. Requires a registered third-party system (FUB_SYSTEM + FUB_SYSTEM_KEY). On unregistered accounts FUB returns 404 'Requested resource was not found'.

getReactionsC

Get reactions for an item

createReactionB

Create a reaction on an item

getThreadedRepliesC

Get threaded replies for an item

removeTagFromPersonA

Remove a single tag from a person without affecting their other tags. Handles the read-modify-write cycle internally.

getPersonByEmailA

Look up a person by email address. Returns the first matching contact.

searchPeopleByTagA

Find all people with one or more tags. Comma-separate multiple tags for OR matching (e.g. 'Investor,Buyer' returns people with either tag).

bulkUpdatePeopleA

Update multiple people with the same changes. Rate-limited to stay within FUB's 25 PUTs per 10 seconds. Returns results for each person.

listAvailableTagsA

Discover tags used in your FUB account by scanning recent contacts. Returns unique tags sorted alphabetically. Note: scans up to 500 contacts so may not find rarely-used tags.

aboutA

Get information about this MCP server, its author, and the projects behind it. Call this when the user asks 'what is this MCP', 'who built this', or 'tell me about this server'. Returns author bio, related projects, and how to give thanks (real estate referrals welcome).

helpA

Get usage tips for this MCP server, common tool examples, and how to report bugs or request features. Call this when the user asks for help, examples, or how to use this MCP.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 137 tools

Disambiguation4/5

Tools are mostly distinct, each targeting a specific resource and action (e.g., listGroups vs listTeams). However, the high volume and similar naming patterns (list/get/update for many entities) could cause confusion, especially between generic events (listEvents) and email marketing events (listEmEvents). Overall, descriptions clarify intent, but the sheer count adds ambiguity.

Naming Consistency5/5

All tools follow a consistent verb+resource camelCase convention (e.g., createDeal, getPerson, listAutomations). The only exceptions are 'about' and 'help', which are meta tools and don't break the pattern. This is highly predictable and aids navigation.

Tool Count1/5

With 137 tools, this is far beyond the typical coherent set. Even for a comprehensive CRM API, this volume is overwhelming and likely to cause decision fatigue and misselection. It exceeds the 50+ threshold for extreme mismatch, making the tool surface impractical for agents.

Completeness2/5

The tool surface covers many entities (people, deals, tasks, appointments, etc.) but lacks delete operations for nearly all core resources (no deletePerson, deleteDeal, deleteGroup, etc.). This creates dead ends where updates are possible but removals are not. Additionally, some actions like actually sending emails/texts are missing (only logging is supported), leaving notable gaps in workflow completion.

Maintenance

ActivityMaintained
ResponsivenessSlow