Mmcp.market

FavCRM MCP server

by favcrm.io·io.favcrm/favcrm·v1.0.0

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

A87/100grade A
What users say
No reviews yet
Be the first
Safety scan
A87/100

full report

Adoption
Growing

0 stars

Reviews

Write one

Nobody has reviewed FavCRM yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

FavCRM tools (230, 98 write)

write = sends, deletes, buys or posts
  • accept_team_invite_requestFree

    Step 1 of agentic team invite acceptance. Validates an invite token and sends a 6-digit verification code to the invited email. Then call accept_team_invite_verify with the code to join and receive an MCP API key.

  • accept_team_invite_verifyFree

    Step 2 of agentic team invite acceptance. Verifies the emailed code, joins the invited user to the company, and returns a one-time MCP API key for that user.

  • add_knowledge_textFree

    Add a free-form text document to the knowledge base. Use for pasted policies, FAQs, internal notes, brand voice references — anything the agent should be able to retrieve later. Stored as a single document; agent-side embedding/retrieval happens elsewhere.

  • append_post_blockwrite actionFree

    Append one or more blocks to the end of a post. Each block must be a valid block object: { id, version, type, data }. Types: paragraph, heading, image, list, quote, code, divider, spacer, embed, html, youtube, file, faq, callout, gallery, cta, accordion, product.

  • archive_surveyFree

    Archive a survey and remove it from active survey lists.

  • assign_staff_to_serviceFree

    Assign a staff member to a booking service. Pass users.id from list_staff.userId.

  • attach_post_cover_from_jobwrite actionFree

    Attach a previously generated ai-media job's output as the post's featuredImage. Use when generate_post_cover timed out (job kept running) or when reusing the same generation across multiple posts. Verifies the job belongs to your company and succeeded. Does NOT charge credits — credits were charged at submit time.

  • attach_tagsFree

    Attach one or more tags to a member/account. Useful for segmenting members after filtering.

  • cancel_bookingwrite actionFree

    Cancel a booking and create a durable refund receipt. Uses the merchant refund setting unless refundMethod is provided.

  • cancel_subscriptionwrite actionFree

    Cancel a subscription. Destructive — turns off auto-renew and prevents further billing cycles. Existing paid periods stay valid until end.

  • check_plan_operationFree

    Preflight whether an intended operation is allowed by token scopes, enabled modules, subscription state, and quota. Provide toolName, quotaCode, or moduleCode.

  • cloneFree

    Duplicate an existing record (product, tier, campaign, post, service package, promotion, gift offer). Creates a copy in DRAFT status with "(Copy)" appended to the name.

  • commit_customer_importFree

    Commit a previewed customer import. Pass the same rows and sessionId returned by preview_customer_import. Creates/updates accounts and applies points, stamps, and credit deltas.

  • complete_bookingFree

    Mark a booking as completed. Triggers commission calculation if configured.

  • confirm_bookingFree

    Confirm a pending booking.

  • convert_leadFree

    Convert an account: qualify its open lead (creating one if needed) and link exactly one pipeline deal. Also promotes lifeStage lead -> active. Safe to repeat — a second call lands on the same lead and deal. Works on accounts that are already active.

  • copy_service_tier_pricingFree

    Copy the complete pricing and booking-policy configuration from one membership tier to another on the same booking service.

  • create_accountwrite actionFree

    Create a CRM account/customer with a primary contact. Optionally enroll the account as a member; use enrol_membership later when the account already exists.

  • create_bookingwrite actionFree

    Create a new booking for a member. Use get_available_slots first to find valid times, then create the booking with the service, member, date, and time.

  • create_broadcastwrite actionFree

    Create a DRAFT WhatsApp or SMS broadcast campaign. The broadcast is NOT sent — admin must review and send it from the Broadcasts page.

  • create_campaignwrite actionFree

    Create an email, SMS, WhatsApp, or push campaign in DRAFT. audienceExclusions can omit specific account IDs and recipients of previous campaign IDs. For email channelConfig, use subject + htmlBody + optional plainTextBody. recipientSource="list" is accepted as an alias for "individual".

  • create_categorywrite actionFree

    Create a CMS post category (e.g. "Equipment", "Injection — Botox"). For sub-categories, use namespaced names — the table is flat.

  • create_contactwrite actionFree

    Create a contact on an existing CRM account.

  • create_custom_fieldwrite actionFree

    Create a custom field definition for CRM entities. Use options for select or multiselect fields.

  • create_dealwrite actionFree

    Create a CRM sales pipeline deal, optionally linked to a customer account and contact.

  • create_inbox_reply_suggestionwrite actionFree

    Create a draft reply suggestion that appears inline in the FavCRM Inbox composer. Use this for message.inbound events with replyPolicy="suggest"; it does not send anything to the customer.

  • create_invoicewrite actionFree

    Create a new invoice for a customer. Optionally include line items inline. Returns the new invoiceId.

  • create_notewrite actionFree

    Add a note to a member/account, booking, ticket, or invoice.

  • create_offer_rulewrite actionFree

    Create an upsell/cross-sell offer rule as draft. Specify trigger type, conditions, and suggested products with optional discounts.

  • create_outletwrite actionFree

    Create a shop outlet/location. Optionally pass id to preserve a legacy UUID during migration.

  • create_plan_upgrade_linkwrite actionFree

    Create a Stripe Checkout link for a new paid subscription, or a Stripe Billing Portal link for an existing Stripe subscription. Use only after the user explicitly asks to upgrade or fix billing.

  • create_postwrite actionFree

    Create a new CMS post (blog_post, page, or any custom post type). The post type must already exist — use list_post_types to discover, create_post_type to add a new one. excerpt = plain-text summary only (auto-derived from blocks if omitted). Structured custom fields go in meta, keyed by the field schema defined with create_post_type_field.

  • create_post_typewrite actionFree

    Define a new custom post type (e.g. "treatment", "service"). Required before creating posts of that type. After creating a post type, use create_post_type_field to define its structured field schema. Those fields are stored in meta on each post — do not use excerpt for structured data.

  • create_post_type_fieldwrite actionFree

    Add a custom field to a post type schema. The field key becomes the key in meta when creating/updating posts. Use fieldType="repeater" with fields=[...] for repeatable structured rows. Use this instead of storing structured data in excerpt.

  • create_productwrite actionFree

    Create a new shop product as DRAFT. Merchant can review and activate from the portal.

  • create_product_categorywrite actionFree

    Create a product category. Use parentId to create subcategories under an existing category.

  • create_promotionwrite actionFree

    Create a promotion / discount code. type=percentage or fixed_amount; value is the discount as a string ("10" = 10% or 10 currency units). Codes are uppercased server-side.

  • create_resourcewrite actionFree

    Create a bookable resource (room, equipment, vehicle). Used by services that have requiresResource=true.

  • create_segmentwrite actionFree

    Create a new customer segment. Use STATIC for manual member lists, DYNAMIC for criteria-based auto-filtering.

  • create_servicewrite actionFree

    Create a bookable service. Sets duration, price, capacity, and policies. Use list_service_categories first if you want to attach to an existing category.

  • create_service_categorywrite actionFree

    Create a service category (e.g. "Treatments", "Classes") to group bookable services.

  • create_service_packagewrite actionFree

    Create a service package/prepaid session bundle. Use applicableType=SELECTED with applicableItems to limit the package to specific booking services or events.

  • create_service_schedulewrite actionFree

    Create a bookable schedule window for a service, including recurring weekly/daily availability.

  • create_subscriptionwrite actionFree

    Create a manual, non-renewing subscription record for a member. Use a subscription action link for provider-backed recurring billing.

  • create_surveywrite actionFree

    Create a survey with custom question blocks. Publish it later or set status to published for immediate portal access.

  • create_survey_invitationwrite actionFree

    Create a token-auth survey invitation for a specific member/account or contact.

  • create_tagwrite actionFree

    Create a CRM tag for customer segmentation and organization.

  • create_taskwrite actionFree

    Create a task. Optionally link to a CRM account or assign to a team member.

  • create_team_member_invitewrite actionFree

    Invite a team member to this company and return a one-time MCP accept token. The invited user must verify an email code through accept_team_invite_request and accept_team_invite_verify before membership and API key issuance.

  • create_templatewrite actionFree

    Create and submit a WhatsApp message template to Meta for approval. Text templates only (header text, body with {{1}} variables, footer) — add buttons in the app. The template is NOT usable until Meta approves it (check with list_templates). Submitting consumes the store’s Meta template allowance.

  • create_ticketwrite actionFree

    Create a support ticket for a member issue.

  • create_variationwrite actionFree

    Add a variation (size, color, etc.) to an existing product.

  • create_whatsapp_connect_linkwrite actionFree

    Create a short-lived browser link for WhatsApp Business Embedded Signup. The user must open the link because Meta requires a browser popup to authorize and choose the WABA/phone number.

  • delete_accountwrite actionFree

    Soft-delete a CRM account/customer. This releases the primary phone for future reuse while keeping account history for audit.

  • delete_campaignwrite actionFree

    Delete a campaign. Only allowed in DRAFT status; sent campaigns are kept for audit history.

  • delete_categorywrite actionFree

    Delete a CMS post category. Posts in the category are not deleted; they are simply unlinked.

  • delete_contactwrite actionFree

    Delete a secondary contact. Primary contacts are protected; set another primary contact or delete the account instead.

  • delete_custom_fieldwrite actionFree

    Delete a custom field definition and its stored values.

  • delete_dealwrite actionFree

    Soft-delete a CRM deal from the sales pipeline.

  • delete_invoicewrite actionFree

    Delete a DRAFT invoice. Only invoices that have never been sent can be deleted; otherwise use void_invoice.

  • delete_knowledge_documentwrite actionFree

    Soft-delete a knowledge document. The agent loses access immediately, but the document can be restored with restore_knowledge_document.

  • delete_postwrite actionFree

    Delete a CMS post by ID. Soft-deleted posts can be restored with restore_post.

  • delete_post_typewrite actionFree

    Delete a custom post type. Built-in types cannot be deleted. Fails if any posts of this type still exist — delete those first.

  • delete_post_type_fieldwrite actionFree

    Remove a field from a post type schema. Blocked when posts of this type still have data in the field unless force=true is passed (orphans the data).

  • delete_promotionwrite actionFree

    Delete a promotion. Past usage records are preserved.

  • delete_segmentwrite actionFree

    Delete a customer segment.

  • delete_service_packagewrite actionFree

    Delete a service package by ID.

  • delete_tagwrite actionFree

    Delete a CRM tag and remove it from all tagged entities.

  • delete_taskwrite actionFree

    Soft-delete a CRM task.

  • detach_tagsFree

    Detach one tag from one or more member/account records.

  • earn_loyalty_pointsFree

    Credit loyalty points or stamps to a member. Use field="points" for points, "stamps" for stamps. Server records a transaction with the reason as audit context.

  • enrol_membershipFree

    Enrol a member into a membership tier. Free tiers enrol immediately; paid tiers return PAYMENT_REQUIRED unless skipPriceCheck is set. Use list_tiers first to find the target tier.

  • execute_toolwrite actionFree

    Execute an available FavCRM tool by name after discovering it with search_tools. Target tool availability, input schema, module gates, and audit logging are still enforced.

  • find_or_create_workroom_threadwrite actionFree

    Find or create a Workroom DM thread between a merchant user and an AI colleague. Use this when an inbound event deserves owner attention but no threadId was provided. This only prepares an internal Workroom channel.

  • generate_imageFree

    Generate an AI image via kie.ai and return its public R2 URL. Use to mint reusable URLs for content blocks (image, gallery), product photos, or any field that takes an image URL — does NOT attach to a post by itself. Costs credits (see list_image_models). On poll timeout the job continues running; pass `jobId` from the response to merchant ai-media APIs to retrieve it later.

  • generate_post_coverwrite actionFree

    Generate an AI image and attach it as a post's featuredImage. Submits a kie.ai job, polls until complete, copies the result into the canonical post-asset R2 folder, and writes the public URL onto the post. Costs credits (see list_image_models). On poll timeout, the job continues — call attach_post_cover_from_job(postId, jobId) once it finishes to attach without paying again.

  • get_attachment_textFree

    Read the text/Markdown content of a file attached to a Workroom thread or sent by a customer (PDF, image, or document). Extracts on first read and caches the result. Returns status "ready" with markdown, or "skipped"/"failed"/"not_found" with a reason. Use when a message references an attachment you need to read.

  • get_audit_logFree

    Fetch a single audit log entry by ID, including before/after snapshots when available.

  • get_available_slotsFree

    Find available booking slots for a service on a specific date.

  • get_booking_detailFree

    Get full booking details including line items, status history, and participants.

  • get_booking_settingsFree

    Get global booking settings for the customer booking flow, cancellation rules, visibility options, and confirmation requirements.

  • get_booking_statsFree

    Get booking counts: today, this week, this month, and breakdown by status.

  • get_campaignFree

    Get a campaign by ID, including its recipient source, audience exclusions, channel configuration, and delivery stats.

  • get_contactFree

    Fetch a single contact by ID.

  • get_conversation_messagesFree

    Get messages from a specific conversation thread. Shows the chat history between the merchant and a contact.

  • get_custom_fieldFree

    Get a custom field definition by ID.

  • get_custom_field_valuesFree

    Get custom field values for a CRM entity such as an account, contact, deal, or booking.

  • get_dashboard_statsFree

    Get high-level business KPIs: member count, new members this week, active subscriptions, total points issued, active promotions, rewards redeemed, messages sent.

  • get_dealFree

    Get detailed CRM deal information by ID.

  • get_event_campaign_exclusionsFree

    Resolve pending, confirmed, and paid event registrations into unique CRM account IDs for campaign exclusions. Pass accountIds to audienceExclusions only when ready=true; cancelled registrations are omitted and unmatched guests make the result not ready.

  • get_invoiceFree

    Fetch a single invoice with line items, payment history, and customer detail.

  • get_invoice_statsFree

    Outstanding totals, overdue counts, and revenue this period. Used by the weekly-snapshot playbook.

  • get_knowledge_documentFree

    Fetch a single knowledge document with metadata + extraction/review status. Reviewed content is served via GET /v6/merchant/ai/knowledge/{id}/content; raw/extracted variants are for audit.

  • get_loyalty_balanceFree

    Get a member's current loyalty balance — points, stamps, credits, lifetime totals, and active membership tier. Returns null if the member is not enrolled.

  • get_member_profileFree

    Get detailed profile for a specific member/account by ID.

  • get_membership_tierFree

    Get a specific membership tier by ID.

  • get_offer_ruleFree

    Get offer rule detail including associated products and discounts.

  • get_orderwrite actionFree

    Get full order detail including line items.

  • get_plan_statusFree

    Show the current organisation plan, subscription/payment state, enabled modules, and quota usage. Use before deciding whether an agentic operation is allowed.

  • get_postwrite actionFree

    Get detailed CMS post including content blocks, categories, and tags.

  • get_productFree

    Get full product detail including images, options, and variations.

  • get_promotionFree

    Get details of a specific promotion/coupon code.

  • get_segmentFree

    Get customer segment details including type, criteria, and live member count.

  • get_segment_membersFree

    Get the members that belong to a specific segment.

  • get_service_detailFree

    Get full service details including addons, staff, resources, and tier pricing.

  • get_service_packageFree

    Get service package detail including applicability and selected booking service/event items.

  • get_service_tier_pricingFree

    Read every membership-tier pricing configuration for one booking service.

  • get_subscriptionFree

    Fetch a single subscription with customer, tier, billing cycle, and renewal info.

  • get_surveyFree

    Get survey detail, including blocks, publishing status, visibility, settings, and response count.

  • get_survey_responsesFree

    List responses for a survey.

  • get_survey_statsFree

    Get response and invitation metrics for a survey overview dashboard.

  • get_taskFree

    Get detailed task information by ID.

  • get_ticket_statsFree

    Get ticket counts grouped by status.

  • get_whatsapp_connection_statusFree

    Check whether WhatsApp Business is connected for this company, including WABA/phone metadata and the latest agentic connect session state.

  • issue_rewardsFree

    Issue a gift/reward to multiple members. Requires a gift offer ID and member IDs.

  • link_resource_to_serviceFree

    Link a room/resource to a booking service.

  • list_audit_logsFree

    List recent audit log entries for this company. Filter by action, resource, resourceId, user, source, outcome, destructive flag, and created date range.

  • list_bookingsFree

    List bookings with filters for date range, status, service, staff, or member.

  • list_campaignsFree

    List marketing campaigns (email, SMS, WhatsApp, or push) with delivery stats. Use the returned IDs when excluding recipients of previous campaigns.

  • list_categoriesFree

    List CMS post categories.

  • list_contactsFree

    List contacts (people linked to CRM accounts), optionally filtered by account or search.

  • list_conversationsFree

    List messaging conversations across WhatsApp, Messenger, Instagram, Threads, SMS, email, and other enabled channels. Threads items are public conversations. Shows unread counts and last message time.

  • list_custom_fieldsFree

    List custom field definitions for CRM entities such as account, contact, deal, or booking.

  • list_dealsFree

    List CRM deals (sales pipeline) with optional filters.

  • list_event_registrationsFree

    List registrations for an event in the active company, including CRM account IDs for campaign exclusions.

  • list_image_modelsFree

    List AI image-generation models exposed to merchants (sanitized — provider/cost details hidden). Use to pick a `modelCode` for `generate_post_cover`.

  • list_invoicesFree

    List invoices with optional filters. Use status "OVERDUE" to find unpaid invoices past due date.

  • list_knowledge_documentsFree

    List merchant knowledge base documents (uploads + scraped URLs). Use reviewStatus/syncable to see what is ready for agent retrieval. Pass `updatedAfter` for delta sync. Reviewed content is fetched via GET /v6/merchant/ai/knowledge/{id}/content; source audit text is available with ?variant=extracted.

  • list_my_companiesFree

    List all companies/organisations the current user has access to. Use this to see available orgs before switching.

  • list_notesFree

    List notes attached to a member/account, booking, or ticket.

  • list_notification_logsFree

    List notification delivery logs for the current company. Recipients are masked by default for incident-response safety.

  • list_offer_rulesFree

    List upsell/cross-sell offer rules with optional filters.

  • list_ordersFree

    List shop orders with optional status and search filters.

  • list_outletsFree

    List shop outlets/locations for the company.

  • list_plan_optionsFree

    List active FavCRM plans with prices, quotas, included modules, and whether each is the current plan.

  • list_post_type_fieldswrite actionFree

    List the custom field schema for a post type. Use this before creating posts to know which keys to pass in meta and what types they expect.

  • list_post_typeswrite actionFree

    List all post types defined for this company (built-in: blog_post, page; plus any custom types).

  • list_postsFree

    List CMS posts (blog posts and/or pages) with optional filters.

  • list_product_categoriesFree

    List all product categories for the shop.

  • list_productsFree

    List shop products with optional filters by name, status, or category.

  • list_promotionsFree

    List promotion/coupon codes with optional status filter.

  • list_resourcesFree

    List booking resources (rooms, equipment, etc.).

  • list_reward_schemesFree

    List loyalty reward schemes (points/stamps programs) configured for this business.

  • list_segmentsFree

    List customer segments. Segments group members by criteria for targeted campaigns.

  • list_service_categoriesFree

    List service categories (groups for booking services like "Treatments", "Classes").

  • list_service_packagesFree

    List service packages/prepaid session bundles with optional search, status, sorting, and pagination.

  • list_service_schedulesFree

    List schedule windows for booking services.

  • list_servicesFree

    List booking services with name, price, duration, and status.

  • list_shipping_methodsFree

    List all shipping methods configured for the shop.

  • list_staffFree

    List staff/team members in the business.

  • list_subscriptionsFree

    List member subscriptions. Filter by status to find active, cancelled, or past-due subscriptions.

  • list_survey_invitationsFree

    List survey invitation history without exposing token hashes or old invitation tokens.

  • list_survey_workflowsFree

    List automation workflows attached to a survey.

  • list_surveysFree

    List surveys with optional status/search filters.

  • list_tagsFree

    List all available tags for the merchant.

  • list_tasksFree

    List tasks with optional status, assignee, and account filters.

  • list_templatesFree

    List the company's WhatsApp message templates with their Meta approval status (PENDING / APPROVED / REJECTED). Check this to see which templates are approved before referencing one in a campaign.

  • list_ticketsFree

    List support tickets with optional filters.

  • list_tiersFree

    List all membership tiers with member counts and stats.

  • mark_deal_lostFree

    Mark a CRM deal as lost. Requires a lost reason.

  • mark_deal_wonFree

    Mark a CRM deal as won and set close date.

  • mark_invoice_sentFree

    Mark an invoice as sent to the customer (transitions DRAFT → OPEN). Use after delivering the invoice via email or share link. Idempotent.

  • mark_no_showFree

    Mark a booking as no-show when the customer did not attend.

  • pause_subscriptionFree

    Pause an active subscription (status → past_due, no further auto-renew). Use resume_subscription to reactivate.

  • post_workroom_messagewrite actionFree

    Post an internal message from an AI colleague into a Workroom thread. Use this to report findings, ask the owner for approval, or share source links after reading CRM/Inbox data. This does not send anything to customers.

  • preview_customer_importFree

    Preview a bulk customer import (max 2000 rows). Matches existing accounts by phone/email and shows create vs update actions plus points/stamps/credit deltas. Use commit_customer_import with the returned sessionId to apply.

  • preview_segment_countFree

    Preview how many customers would match dynamic segment criteria before creating or updating a segment.

  • query_company_knowledgeFree

    Search this company's reviewed knowledge base and return grounded snippets with source document IDs. Use for merchant policies, FAQs, pricing notes, brand guidance, and other uploaded references.

  • query_favcrm_platformFree

    Search FavCRM MCP tools, enabled skills, and feature areas for how to use the platform. Use before guessing tool names or JSON arguments.

  • record_invoice_paymentFree

    Record a manual payment against an invoice (cash, bank transfer, cheque, card terminal). Updates invoice status to PARTIAL or PAID based on the running total.

  • register_organisation_requestFree

    Step 1 of agentic signup. Sends a 6-digit verification code to the email. After the user reads the code, call register_organisation_verify with it to finish and receive an API key. Use this when a user wants to create a new FavCRM workspace from inside an MCP client.

  • register_organisation_verifyFree

    Step 2 of agentic signup. Confirms the 6-digit code and creates the workspace. Returns an API key the agent should set as Authorization: Bearer <apiKey> for all subsequent FavCRM MCP calls in this session.

  • remove_post_blockwrite actionFree

    Remove the block at the given index (0-based). All subsequent blocks shift up by one.

  • reorder_post_blockswrite actionFree

    Reorder blocks by passing block IDs in the desired order. The id list must contain every existing block id exactly once.

  • reorder_post_type_fieldswrite actionFree

    Reorder fields on a post type. Pass field IDs in the desired display order; sortOrder is updated to match.

  • replace_post_blockwrite actionFree

    Replace a single block at the given index (0-based). Avoids fetching the full post and re-sending all blocks via update_post.

  • report_agent_issueFree

    Report a FavCRM platform issue when an agent finds a missing MCP path, tool failure, confusing schema, CLI/docs issue, or SDK fallback. Include logs, AI analysis, references, and clarification questions so the platform team can follow up.

  • request_send_approvalwrite actionFree

    Create a merchant-owned Workroom approval request for a customer-facing send. The agent must not call send_message, send_whatsapp_message, send_test_campaign, or send_campaign directly.

  • restore_campaignFree

    Restore a previously deleted campaign.

  • restore_categoryFree

    Restore a previously deleted CMS post category.

  • restore_invoiceFree

    Restore a previously deleted DRAFT invoice.

  • restore_knowledge_documentFree

    Restore a previously deleted knowledge document.

  • restore_postwrite actionFree

    Restore a previously deleted CMS post.

  • restore_post_typewrite actionFree

    Restore a previously deleted custom post type.

  • restore_post_type_fieldwrite actionFree

    Restore a previously deleted field on a post type schema.

  • restore_promotionFree

    Restore a previously deleted promotion.

  • restore_service_packageFree

    Restore a previously deleted service package by ID.

  • resume_subscriptionFree

    Resume a paused subscription back to active.

  • revert_audit_actionFree

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

  • scrape_knowledge_urlFree

    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.

  • search_audit_logsFree

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

  • search_crmFree

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

  • search_membersFree

    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.

  • search_toolsFree

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

  • set_custom_field_valuesFree

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

  • set_primary_contactFree

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

  • set_resource_availabilityFree

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

  • set_segment_membersFree

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

  • set_service_tier_pricingFree

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

  • set_staff_availabilityFree

    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.

  • switch_companyFree

    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.

  • undo_campaign_sendwrite actionFree

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

  • update_accountwrite actionFree

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

  • update_booking_settingswrite actionFree

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

  • update_campaignwrite actionFree

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

  • update_categorywrite actionFree

    Update a CMS post category.

  • update_contactwrite actionFree

    Update fields on an existing contact.

  • update_custom_fieldwrite actionFree

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

  • update_dealwrite actionFree

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

  • update_deal_stagewrite actionFree

    Move a deal to a different pipeline stage.

  • update_order_statuswrite actionFree

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

  • update_outletwrite actionFree

    Update an existing shop outlet/location by ID.

  • update_postwrite actionFree

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

  • update_post_typewrite actionFree

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

  • update_post_type_fieldwrite actionFree

    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.

  • update_productwrite actionFree

    Update an existing product. Only provided fields are changed.

  • update_promotionwrite actionFree

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

  • update_segmentwrite actionFree

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

  • update_servicewrite actionFree

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

  • update_service_packagewrite actionFree

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

  • update_service_schedulewrite actionFree

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

  • update_surveywrite actionFree

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

  • update_tagwrite actionFree

    Rename or recolor an existing CRM tag.

  • update_taskwrite actionFree

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

  • update_ticket_statuswrite actionFree

    Update the status of an existing support ticket.

  • upload_post_cover_from_urlwrite actionFree

    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.

  • upsert_survey_workflowwrite actionFree

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

  • validate_campaignFree

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

  • validate_promotionFree

    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.

  • void_invoiceFree

    Void an invoice. Destructive — invoice can no longer be paid or edited; existing payments are preserved as history. Cannot void invoices that are already PAID or VOIDED.

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 2830ms17/20
  • Tool poisoning230 tool descriptions checked15/15
  • Auth qualityAPI key sent as a header8/15
  • Maintenancelast push 12 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year; website matches verified namespace10/10
Overall 87/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the FavCRM repository's README, as published. We do not edit it. Read it on GitHub

FavCRM MCP

Install snippets, examples, and docs for the FavCRM Model Context Protocol server. The server itself is hosted at https://api.favcrm.io/mcp — this repo is for client setup and community examples.

231 typed tools — customers, bookings, events, loyalty, invoices, payments, WhatsApp / SMS / email — exposed via MCP. Works with any agentic client that speaks Streamable HTTP transport.

The endpoint supports purpose-built tool profiles selected with ?profile= or X-FavCRM-MCP-Profile:

  • compact exposes a small searchtools + executetool discovery/router surface for large-agent runtimes.
  • platform exposes only superadmin customer-workspace and company-setup operations, works without an active merchant company, and never exposes raw SQL.
  • full remains the default for clients and scanners.

Platform operators can start from the dedicated Cursor or Claude Desktop configuration. Ordinary merchant API keys cannot access platform tools.

🤖 AI Agent Skills

Building against the FavCRM headless backend with an AI Agent? Teach your AI our best practices, standard operating procedures, and MCP tool shapes by installing our official skills:

# Example: Install the Booking Operator skill
npx skills add https://github.com/favcrm/mcp/tree/main/skills/favcrm-booking-operator

# Or install all skills at once
npx skills add favcrm/mcp

See the skills/ directory for the full list of available agent skills.

Public agent skills live in skills/: portable workflow packages for agentic registration, team onboarding, channel setup, booking operations, customer lifecycle, comms approval, billing/commerce, content, sales ops, knowledge training, and reporting. They are source-readable for agents and marketing, while FavCRM runtimes install vetted versions through the platform skill registry.

Get a key

Two ways:

Option A — your agent signs you up (no form, no portal click)

Connect FavCRM to your client first (see Cursor section below) using a placeholder env var. Then ask your agent:

"Sign me up for FavCRM. Yoga studio called Stretch + Breathe in Hong Kong."

The agent will:

  1. Call registerorganisationrequest — server emails a 6-digit code to you
  2. You paste the code back in chat
  3. Agent calls registerorganisationverify — server returns a fresh favmcp key
  4. Agent stores the key and starts working immediately

See skills/favcrm-agentic-registration for the portable SKILL.md workflow.

Behind the scenes: 10-min OTP, real email-ownership check, per-IP rate limit (3/hour, 20/day). No phishing surface, no fake demos.

Option B — sign up the traditional way

favcrm.io/signup → portal → Settings → MCP Keys → copy the favmcp value.

Existing FavCRM merchants: same place, no plan upgrade needed for MCP access.

Free tier (both options): 100 customers, 200 bookings/month, 1k MCP calls/month, 30-day trial of higher limits.

Bootstrap from the CLI

The favcrm CLI can also run the zero-state flow:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Install directly

claude mcp add --transport http favcrm https://api.favcrm.io/mcp
Add to Cursor

FavCRM: common questions

Is FavCRM MCP server safe?
Yes, by our scan: it is graded A (87/100). Read the FavCRM safety report
How do I install FavCRM?
It runs remotely at api.favcrm.io. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
Does FavCRM need an API key?
Yes. The registry entry asks for Authorization.
Is FavCRM maintained?
The last commit was 12 days ago (2026-09-15). The latest release is v1.0.0.
Is FavCRM up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
What can I use instead of FavCRM?
Servers from other publishers that do the same job: Munin MCP server, MCP Holded MCP server and Gambot WhatsApp Business API MCP server. Compare all FavCRM alternatives.

Alternatives to FavCRM

Same job from other publishers: the closest match first, then the best rated.

All FavCRM alternatives →
  • Munin
    Open-source all-in-one MCP-first customer platform: KB, Conversations, CRM, CMS, Outreach, Analytics
    A
  • MCP Holded
    MCP server for Holded (Spanish ERP): invoicing, accounting, treasury, CRM, projects, payroll.
    B
  • Gambot WhatsApp Business API
    Send WhatsApp messages & templates and manage CRM, leads & campaigns via the Gambot WhatsApp API.
    B
  • BoondManager MCP Server
    MCP Server for BoondManager API - 185 tools, 13 prompts, 22 resources (ERP/CRM)
    A
  • BoondManager MCP Server
    MCP Server for BoondManager API - 182 tools, 12 prompts, 22 resources (ERP/CRM)
    A

More from favcrm.io →