Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

FavCRM

REMOTE · API.FAVCRM.IO

Agentic CRM for service businesses — bookings, customers, WhatsApp, loyalty, invoicing.

Available components

0 this week 93 Trust /100

Last scanned (19 hours ago)

Scores higher than 99% of remote servers

Reachable. Last reached 5 Nov 2026.

Category CRM and Sales

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability87
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 20974 tokens (~86/item across 242 items; 237 tools + 5 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • Stability check failed: schema churn in the 30 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 8 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 20 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 238 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
What we tested

Checks we ran (13)

  • TLS certificate
  • Authorization
  • HTTPS
  • HSTS header
  • DNSSEC
  • Transport
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this hosted endpoint (2)

  • Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
  • Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 29 Oct 26 0
    • “update_booking_settings” added an optional parameter “bookingReminderLeadHoursList” cosmetic
    • “update_booking_settings” added an optional parameter “premisePassCode” cosmetic

    2 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

  • 17 Oct 26 0
    • Stability: pass → fail ▼ security
    • A breaking change shipped without a version bump: still 1.0.0 ▼ security
    • Tool “create_broadcast” was removed ▼ security
    • “create_campaign” reworded the description of “channelConfig” cosmetic
  • 10 Oct 26 0
    • Tool “backfill_conversation_summaries” rewrote its description, which is the text the model reads security
    • “backfill_conversation_summaries” reworded the description of “limit” cosmetic
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 12 Sept 26 0
    • Stability: fail → pass ▲ security
  • 5 Sept 26 0
    • “create_broadcast” reworded the description of “recipientFilter” cosmetic

    1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.

  • 4 Sept 26 0
    • Tool “create_campaign” rewrote its description, which is the text the model reads security
    • Tool “list_campaigns” rewrote its description, which is the text the model reads security
    • Tool “update_campaign” rewrote its description, which is the text the model reads security
    • New tool “get_campaign” functional
    • New tool “get_event_campaign_exclusions” functional
    • New tool “list_event_registrations” functional
    • New tool “undo_campaign_send” functional
    • “create_campaign” added an optional parameter “audienceExclusions” cosmetic
    • “update_campaign” added an optional parameter “audienceExclusions” cosmetic
    • “request_send_approval” reworded the description of “payload” cosmetic
    • “update_campaign” reworded the description of “recipientIds” cosmetic
    • “update_campaign” reworded the description of “recipientSource” cosmetic
    • “update_campaign” reworded the description of “status” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://api.favcrm.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=favcrm.io CN=WE1,O=Google Trust Services,C=US 9 Oct 2026 7 Jan 2027 ECDSA 256 ECDSA-SHA256 b6f4e82481e9d0d10e62053ee69ff893
SANs: favcrm.io, api.favcrm.io, *.api.favcrm.io
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.favcrm.io. — Not signed

Zone DS Keys Algorithms Outcome
. Trust anchor 20326, 38696 8, 8 Verified
io. DS published 38690 8 Verified
favcrm.io. No DS Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200
Header Value
strict-transport-security max-age=31536000
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy no-referrer

Protected resource metadata

Retrieved No
Problem No resource metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.favcrm.io/mcp Verified 200
http (plaintext) http://api.favcrm.io/mcp HTTPS enforced 301 https://api.favcrm.io/mcp
MCP tools · 237 exposed · ~20,864 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
revert_audit_action ~63

Revert an audited action by restoring the captured before snapshot. Only works for allowlisted target tables with full before/after audit snapshots.

NameTypeReqDescription
auditLogIdstringyesAudit log ID to revert
reasonstring–Reason for reverting this action
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

scrape_knowledge_url ~88

Fetch a URL's content into the knowledge base. Server crawls the URL, stores the response body in R2, returns the new document ID. Failures store the row with status='failed'. Use for adding marketing pages, FAQ docs, or external references the agent should be aware of.

NameTypeReqDescription
urlstringyesURL to fetch (must be https / http and publicly reachable)
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

search_audit_logs ~77

Search audit logs by free text across action, resource, resource ID, changes JSON, and metadata JSON.

NameTypeReqDescription
createdAfterstring–ISO timestamp lower bound
createdBeforestring–ISO timestamp upper bound
limitinteger–Maximum rows to return
querystringyesText to search for
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

search_crm ~46

Search across CRM accounts and contacts by name, email, or phone.

NameTypeReqDescription
limitnumber–Max per entity (default 10)
querystringyesSearch string
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

search_members ~320

Search and filter members/accounts. Supports text search, date ranges, booking/activity history, membership tier, tags, and more. Use lastBookingBefore/inactiveDays to find inactive members.

NameTypeReqDescription
createdAfterstring–ISO date — accounts created after this date
createdBeforestring–ISO date — accounts created before this date
hasBookingboolean–Filter to members with/without any booking
hasMembershipboolean–Filter to members with active membership
inactiveDaysnumber–Members with no activity in the last N days
lastActivityAfterstring–ISO date — members with activity after this date
lastActivityBeforestring–ISO date — members with no activity since this date
lastBookingAfterstring–ISO date — members who have a booking after this date
lastBookingBeforestring–ISO date — members whose last booking is before this date (or have no bookings)
lifeStagestring–Filter by life stage
limitnumber–Max results (default 20)
membershipStatusstring–Filter by membership status
orderstring–Sort order
searchstring–Name, email, or phone to search
sortstring–Sort column: name, email, or createdAt
sourcestring–Filter by account source
tagIdsarray–Filter by tag IDs
tierIdstring–Filter by membership tier ID
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

search_tools ~144

Search the available FavCRM tool catalog for relevant operations. Use this when the curated direct tool list does not contain the operation you need.

NameTypeReqDescription
includeInputSchemaboolean–Include full JSON input schemas for returned tools. Defaults to false to keep context small.
limitinteger–Maximum results (default 8, max 20)
querystring–Plain-language tool search, e.g. "delete a segment" or "set custom field values"
scopestring–Optional exact scope filter, e.g. contacts, customer_segments, invoices
writeboolean–Filter to write tools (true) or read-only tools (false)
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

set_custom_field_values ~65

Set or clear custom field values for a CRM entity. Values are stored as strings; pass null to clear a value.

NameTypeReqDescription
entityIdstringyesEntity ID
entityTypestringyesEntity type
valuesarrayyesValues to upsert
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

set_primary_contact ~43

Set a contact as the primary contact for its CRM account and demote other contacts on that account.

NameTypeReqDescription
contactIdstringyesThe contact ID to make primary
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

set_resource_availability ~134

Add an availability window for a resource. Use day-of-week + recurring=true for weekly schedules, or a specific date for one-off blocks.

NameTypeReqDescription
datestring–YYYY-MM-DD for a specific date instead of dayOfWeek
dayOfWeekstring–Day of week (0=Sun..6=Sat)
endTimestringyesHH:MM (24h)
isRecurringboolean–Default true
resourceIdstringyesResource ID
startTimestringyesHH:MM (24h)
typestring–Default available
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

set_segment_members ~57

Replace the members of a STATIC customer segment with the given account IDs. The segment is converted to STATIC.

NameTypeReqDescription
accountIdsarrayyesCRM account IDs to set as segment members
segmentIdstringyesThe segment ID
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

set_service_tier_pricing ~83

Set the complete pricing and booking-policy configuration for one membership tier on a booking service.

NameTypeReqDescription
advanceBookingDays–yes–
bookingLimits–yes–
discountPercent–yes–
priceOverride–yes–
serviceIdstringyesBooking service ID
tierIdstringyesMembership tier ID
timeSlotPricing–yes–
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

set_staff_availability ~142

Add an availability window for a staff member (companyMembers.id). Use day-of-week + recurring for weekly schedules, or a specific date for one-off changes.

NameTypeReqDescription
datestring–YYYY-MM-DD for a specific date instead of dayOfWeek
dayOfWeekstring–Day of week (0=Sun..6=Sat)
endTimestringyesHH:MM (24h)
isRecurringboolean–Default true
memberIdstringyescompanyMembers.id of the staff
startTimestringyesHH:MM (24h)
typestring–Default available
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

switch_company ~79

Issue a new MCP access token scoped to another company/organisation. This does not mutate the current MCP connection: the client must use the returned token on later /mcp requests. Platform operators should prefer explicit-company admin tools when available.

NameTypeReqDescription
companyIdstringyesThe company ID to switch to (use list_my_companies to find available IDs)
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

undo_campaign_send ~52

Undo a campaign send during its one-minute safety buffer. Use immediately when the merchant says to stop or undo a submitted campaign.

NameTypeReqDescription
campaignIdstringyesBuffered campaign ID to return to its prior draft state
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_account ~208

Update CRM account/customer profile fields such as name, phone, email, life stage, owner, notes, or member code.

NameTypeReqDescription
accountIdstringyesThe account ID to update
assignedTo––Assigned team member user ID, or null to clear
dateOfBirth––YYYY-MM-DD date of birth, or null to clear
emailstring–Email address
firstName––First name for individual accounts
genderstring–Gender
lastName––Last name for individual accounts
lifeStagestring–CRM life stage
memberCode––Merchant member code, or null to clear
namestring–Account/customer display name
notesstring–Internal notes
phonestring–Phone number
referredByAccountId––Referrer account ID, or null to clear
sourcestring–Acquisition source
typestring–Account type
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_booking_settings ~435

Update global booking settings. Pass only the fields you want to change.

NameTypeReqDescription
accessPassAfterMinutesinteger–Minutes after booking end when the access QR remains usable
accessPassBeforeMinutesinteger–Minutes before booking start when the access QR becomes usable
allowMemberCancellationboolean–Allow members to cancel bookings from the customer portal
blockUntilFinishedboolean–Block customers from booking again while they have active bookings
bookingReminderEnabledboolean–Send the default pre-booking reminder
bookingReminderLeadHoursinteger–Hours before booking start for the default reminder
bookingReminderLeadHoursListarray–Up to four reminder leads in hours. Replaces the legacy pair when set. Empty turns customer reminders off. Leads must be at least 2 hours apart.
calendarStylestring–Booking flow calendar presentation
cooldownMessage––Optional message shown when cooldown blocks a booking
globalCooldownDays––Minimum days between customer bookings, or null to disable
hideUnavailableTimeslotsboolean–Hide unavailable timeslots instead of showing them as full
memberCancellationCutoffHours––Hours before booking start when member cancellation closes, or null for no cutoff
memberReschedulingModestring–Choose whether rescheduling is disabled, merchant-only, or available to members
minimumAdvanceBookingMinutes––Minutes before slot start when customer booking closes. null/0 = no cutoff; set > 0 to require advance notice
premisePassCode––One premise pass code for this company. Guest templates show it only when they include the pass code variable. Empty clears it.
requireBookingConfirmationboolean–Require merchant confirmation before bookings are confirmed
sameDayReminderEnabledboolean–Send an additional same-day reminder before booking start
sameDayReminderLeadHoursinteger–Hours before booking start for the same-day reminder
showAccessPassboolean–Show access pass/package options in booking flow
showCouponboolean–Show coupon field in booking flow
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_campaign ~179

Update an existing campaign, including audience exclusions. Channel cannot be changed after creation. Pass only fields to change.

NameTypeReqDescription
audienceExclusionsobject–Optional exclusions: accountIds contains specific customer account IDs; campaignIds contains previous campaign IDs whose accepted recipients must be omitted. Pass empty arrays to clear exclusions.
campaignIdstringyesCampaign ID
channelConfigobject–For email, use subject + htmlBody + optional plainTextBody. Legacy html is normalized to htmlBody.
namestring–Name
recipientIdsarray–Explicit customer account IDs
recipientSourcestring–Recipient source: all | segment | individual | csv | list
scheduledAt––Scheduled timestamp (ISO 8601)
segmentId––Segment ID
statusstring–New campaign status
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_category ~61

Update a CMS post category.

NameTypeReqDescription
categoryIdstringyesCategory ID
description––Description
namestring–Name
slugstring–URL slug
sortOrdernumber–Sort order (lower = earlier)
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_contact ~75

Update fields on an existing contact.

NameTypeReqDescription
contactIdstringyesThe contact ID
emailstring–Email address
isPrimaryboolean–Mark as the primary contact
jobTitlestring–Job title
namestring–Name
phonestring–Phone number
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_crm_task ~162

Update a CRM follow-up task you can work: title, description, dueAt (exact datetime, or null to clear), owner (users.id, or null to unassign), status (done sets completion) or priority. Changing the linked account or conversation is not supported; create a new task instead.

NameTypeReqDescription
description––New description, or null to clear
dueAt––Exact ISO 8601 datetime with timezone offset or Z, or null to clear
ownerId––New owner users.id, or null to unassign
prioritystring–Priority
statusstring–todo, in_progress or done
taskIdstringyesCRM task ID
titlestring–New title
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_custom_field ~98

Update a custom field definition label, type, options, required flag, or sort order.

NameTypeReqDescription
definitionIdstringyesCustom field definition ID
fieldLabelstring–Human-readable label
fieldTypestring–Field type
isRequiredboolean–Whether this field is required
optionsarray–Allowed values for select/multiselect fields
sortOrdernumber–Display order
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_deal ~174

Update a CRM deal. Pass only fields to change; use null for nullable links/fields to clear them.

NameTypeReqDescription
accountId––Linked CRM account ID, or null to clear
amount––Deal amount, or null to clear
closingDate––Expected closing date, or null to clear
contactId––Linked contact ID, or null to clear
dealIdstringyesThe deal ID
dealType––Deal type/category, or null to clear
description––Deal notes or description, or null to clear
namestring–Deal name
ownerId––Owner user/team member ID, or null to clear
probability––Win probability, or null to clear
stage––Pipeline stage, or null to clear
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_deal_stage ~84

Move a deal to a different pipeline stage.

NameTypeReqDescription
dealIdstringyesThe deal ID
lostReasonstring–Required when moving to lost
probabilitystring–Optional win probability (percent string)
stagestringyesNew pipeline stage. "lead", "new" and "open" are accepted aliases of "discovery".
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_order_status ~47

Update the status of a shop order (e.g. confirm, ship, cancel).

NameTypeReqDescription
orderIdstringyesThe order UUID
statusstringyesNew order status
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_outlet ~108

Update an existing shop outlet/location by ID.

NameTypeReqDescription
acceptsOrdersboolean–Whether outlet accepts online orders
address––Street address
idstringyesOutlet ID (UUID)
isActiveboolean–Whether outlet is active
latitude––Latitude
logoUrl––Logo URL
longitude––Longitude
namestring–Outlet name
phone––Contact phone
sortOrderinteger–Display sort order
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_post ~343

Update an existing CMS post (any post type). Only provided fields are changed.

NameTypeReqDescription
blocksarray–Replaces the entire ordered block array. Use append_post_block / replace_post_block / remove_post_block / reorder_post_blocks for per-block edits. Each block: { id, version, type, data }. Types: para…
categoryIdsarray–Category IDs
excerptstring–Plain-text summary only — never JSON. Omit to leave unchanged.
featuredImagestring–Cover image URL
metaobject–Custom field values; merged shallowly with existing meta. Use this for structured data, not excerpt.
parentId––Parent post ID for nested types.
postIdstringyesThe post ID
publishedAt––Publish timestamp (ISO 8601)
seoDescriptionstring–SEO description override
seoTitlestring–SEO title override
slugstring–URL slug (must be unique per company+type).
sortOrdernumber–Sort order (lower = earlier)
statusstring–Post status
tagIdsarray–Tag IDs to sync (replaces existing tags)
titlestring–Post title
typestring–Change post type (e.g. blog_post → treatment). Slug is re-checked for uniqueness under the new type.
visibilitystring–Visibility
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_post_type ~151

Update a custom post type. Built-in types (blog_post, page) cannot be modified.

NameTypeReqDescription
icon––Icon name or URL
labelstring–Display label
labelPluralstring–Plural display label
postTypeIdstringyesPost type ID
sortOrdernumber–Sort order (lower = earlier)
supportsBlocksboolean–Allow content blocks (rich body)
supportsCategoriesboolean–Allow categories on this post type
supportsExcerptboolean–Allow an excerpt field
supportsFeaturedImageboolean–Allow a featured image
supportsNestingboolean–Allow parent/child nesting
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_post_type_field ~187

Update a field on a post type schema. Changing fieldType or flipping required=true is blocked when posts already use the field unless force=true is passed.

NameTypeReqDescription
fieldIdstringyesField ID
fieldTypestring–Field type
fields––Child fields for fieldType="repeater".
forceboolean–Override safety guards. Required to change fieldType or flip required=true on a field that already has data in posts.
helpText––Help text shown next to the input
labelstring–Display label
options––For URL fields, { uploadable: true } enables file upload while preserving a URL string in meta.
postTypeIdstringyesPost type ID
requiredboolean–Whether the field is required
sortOrdernumber–Sort order (lower = earlier)
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_product ~119

Update an existing product. Only provided fields are changed.

NameTypeReqDescription
categoryIdsarray–Category IDs (first is primary). Replaces all existing categories.
descriptionstring–Product description
discountPricestring–Discounted price
memberPricestring–Members-only price
namestring–Product name
pricestring–Price as decimal string
productIdnumberyesThe product ID
skustring–SKU code
statusstring–Product status
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_promotion ~132

Update an existing promotion. Pass only the fields you want to change.

NameTypeReqDescription
codestring–Promotion code
endsAt––End timestamp (ISO 8601)
namestring–Name
promotionIdstringyesPromotion ID
startsAt––Start timestamp (ISO 8601)
statusstring–Status filter
typestring–Type
usageLimitPerCustomer––Usage limit per customer
usageLimitTotal––Total usage limit across all customers
valuestring–Discount value (numeric or decimal string)
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_segment ~87

Update an existing customer segment by id. Pass only the fields to change; criteria replaces the existing rules.

NameTypeReqDescription
criteria––Replace dynamic criteria, or null to clear criteria
descriptionstring–New segment description
namestring–New segment name
segmentIdstringyesThe segment ID to update
segmentTypestring–Change segment type
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_service ~241

Update an existing booking service. Pass only the fields you want to change.

NameTypeReqDescription
capacitynumber–Participants per slot
categoryId––Category ID
commissionCurrency––Commission currency (ISO code)
commissionType––Commission type: "fixed" or "percentage"
commissionValue––Commission amount as decimal string
cooldownMinutesnumber–Cooldown minutes between bookings
descriptionstring–Description
durationMinutesnumber–Duration of one booking in minutes
namestring–Name
pricestring–Decimal string, e.g. "80.00"
requireLoginboolean–If true, guests cannot book without an account
requiresConfirmationboolean–If true, bookings start pending and need explicit confirmation
requiresResourceboolean–Whether the service requires a resource (room/equipment)
requiresStaffboolean–Whether the service requires staff assignment
serviceIdstringyesService ID to update
statusstring–Status filter
visibilitystring–Visibility: public | members_only | hidden
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_service_package ~139

Update an existing service package. Pass only the fields you want to change.

NameTypeReqDescription
applicableItemsarray–Item IDs the package can be redeemed against
applicableTypestring–What this package applies to: services | products | both
description––Description
namestring–Name
packageIdstringyesService package ID to update
pricenumber–Decimal string, e.g. "80.00"
sessionCountinteger–Number of sessions in the package
statusstring–Status filter
validDaysinteger–Validity period in days
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_service_schedule ~183

Update a service schedule window. Pass only fields to change.

NameTypeReqDescription
byWeekday––Weekdays (0=Mon..6=Sun) for weekly recurrence
datestring–Date (YYYY-MM-DD)
endTimestring–End time (HH:mm)
maxCapacitynumber–Maximum capacity for this slot
notes––Free-form notes
recurrencestring–Recurrence rule: none | daily | weekly | monthly
recurrenceEndDate––Recurrence end date (YYYY-MM-DD)
recurrenceIntervalnumber–Recurrence interval (e.g. every N weeks)
resourceId––Resource ID (room/equipment)
scheduleIdstringyesSchedule ID
staffId––Staff member ID
startTimestring–Start time (HH:mm)
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_survey ~150

Update a survey draft or publishing configuration. Use questionBlocks to replace the ordered form block list.

NameTypeReqDescription
closeAt––Optional ISO datetime when the survey closes
description––Survey description
openAt––Optional ISO datetime when the survey opens
questionBlocksarray–Ordered survey question blocks
settingsobject–Survey settings such as allowMultipleResponses, collectEmail, collectIpAddress, requireAuthentication, showProgress, successMessage
slugstring–URL slug
statusstring–Survey status
surveyIdstringyesSurvey ID
titlestring–Survey title
visibilitystring–Survey access mode
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_tag ~52

Rename or recolor an existing CRM tag.

NameTypeReqDescription
color––New color, or null to clear
namestring–New tag name
tagIdstringyesThe tag ID to update
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_task ~105

Update a task (status, priority, assignee, due date, completion).

NameTypeReqDescription
assigneeIdstring–Assignee company_members.id (team member ID, not user ID)
descriptionstring–Description
dueDatestring–Due date (ISO 8601)
prioritystring–Priority
statusstring–Status filter
taskIdstringyesThe task ID
titlestring–Title
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

update_ticket_status ~40

Update the status of an existing support ticket.

NameTypeReqDescription
statusstringyesNew status
ticketIdstringyesThe ticket ID to update
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

upload_post_cover_from_url ~115

Download an external image URL into R2 and attach it as the post's featuredImage. Replaces the manual flow of pasting external URLs (which break when the source goes down). Validates content-type starts with `image/` and rejects payloads larger than 20 MB. No AI credits charged — only standard storage.

NameTypeReqDescription
postIdstringyesThe post ID
sourceUrlstringyesPublic http(s) URL to fetch the image from. Must respond with an image/* content-type.
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

upsert_survey_workflow ~93

Create or update a survey automation workflow, usually triggered by survey_response_submitted.

NameTypeReqDescription
graphobjectyesWorkflow graph definition
namestringyesWorkflow name
statusstring–Workflow status
surveyIdstringyesSurvey ID
triggerstring–Trigger name, default from graph.trigger
workflowIdstring–Existing workflow ID when updating
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

validate_campaign ~42

Validate a campaign before sending. Resolves contactable recipient count and previews the final email subject/body without sending.

NameTypeReqDescription
campaignIdstringyesCampaign ID to validate
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

validate_promotion ~105

Check if a promotion code is valid for a given order. Returns isValid, discount amount, and an error code/message if invalid. Use before applying to a checkout.

NameTypeReqDescription
accountIdstring–Customer account ID — used for per-customer usage limits
amountnumberyesOrder subtotal in major units (dollars, not cents)
channelstringyesWhere the promo is being applied
promotionCodestringyesThe code customer entered
NameTypeReqDescription
data–yesTool result payload — shape varies per tool, see the tool description
renderTypestringyesUI rendering hint for the result
summarystringyesOne-line human-readable summary of the action

No examples provided.

Install

How do I install the FavCRM MCP server?

FavCRM is a hosted endpoint at https://api.favcrm.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.favcrm.io

# add to Claude Code
claude mcp add --transport http io-favcrm-favcrm 'https://api.favcrm.io/mcp'
Common questions

What is the FavCRM MCP server?

FavCRM is an MCP server listed in the public MCP registry as io.favcrm/favcrm. Agentic CRM for service businesses, bookings, customers, WhatsApp, loyalty, invoicing. This page covers its hosted endpoint (https://api.favcrm.io/mcp).

Is the FavCRM MCP server safe to use?

FavCRM scores 93 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the FavCRM MCP server expose?

FavCRM exposes 237 tools: search_members, get_member_profile, preview_customer_import, commit_customer_import, create_account, and 232 more. Their descriptions and schemas cost roughly 20,864 tokens of context every time the server is loaded.

Does the FavCRM MCP server require authentication?

Yes. FavCRM asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the FavCRM MCP server still maintained?

FavCRM is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What did VerifyMCP test on the FavCRM MCP server?

VerifyMCP ran 13 checks on FavCRM, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.