# FavCRM MCP server

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

## Links
- Registry page: https://www.getdrio.com/mcp/io-favcrm-favcrm
- Repository: https://github.com/favcrm/mcp
- Website: https://favcrm.io

## Install
- Endpoint: https://api.favcrm.io/mcp
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: Authorization (secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://api.favcrm.io/mcp
- Header: Authorization

## Tools
- search_members - 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. Endpoint: https://api.favcrm.io/mcp
- get_member_profile - Get detailed profile for a specific member/account by ID. Endpoint: https://api.favcrm.io/mcp
- preview_customer_import - 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. Endpoint: https://api.favcrm.io/mcp
- commit_customer_import - 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. Endpoint: https://api.favcrm.io/mcp
- create_account - 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. Endpoint: https://api.favcrm.io/mcp
- list_tags - List all available tags for the merchant. Endpoint: https://api.favcrm.io/mcp
- attach_tags - Attach one or more tags to a member/account. Useful for segmenting members after filtering. Endpoint: https://api.favcrm.io/mcp
- list_tiers - List all membership tiers with member counts and stats. Endpoint: https://api.favcrm.io/mcp
- get_membership_tier - Get a specific membership tier by ID. Endpoint: https://api.favcrm.io/mcp
- issue_rewards - Issue a gift/reward to multiple members. Requires a gift offer ID and member IDs. Endpoint: https://api.favcrm.io/mcp
- enrol_membership - 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. Endpoint: https://api.favcrm.io/mcp
- get_loyalty_balance - Get a member's current loyalty balance — points, stamps, credits, lifetime totals, and active membership tier. Returns null if the member is not enrolled. Endpoint: https://api.favcrm.io/mcp
- earn_loyalty_points - 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. Endpoint: https://api.favcrm.io/mcp
- get_dashboard_stats - Get high-level business KPIs: member count, new members this week, active subscriptions, total points issued, active promotions, rewards redeemed, messages sent. Endpoint: https://api.favcrm.io/mcp
- list_bookings - List bookings with filters for date range, status, service, staff, or member. Endpoint: https://api.favcrm.io/mcp
- get_booking_detail - Get full booking details including line items, status history, and participants. Endpoint: https://api.favcrm.io/mcp
- get_booking_stats - Get booking counts: today, this week, this month, and breakdown by status. Endpoint: https://api.favcrm.io/mcp
- get_available_slots - Find available booking slots for a service on a specific date. Endpoint: https://api.favcrm.io/mcp
- list_services - List booking services with name, price, duration, and status. Endpoint: https://api.favcrm.io/mcp
- get_service_detail - Get full service details including addons, staff, resources, and tier pricing. Endpoint: https://api.favcrm.io/mcp
- create_service - Create a bookable service. Sets duration, price, capacity, and policies. Use list_service_categories first if you want to attach to an existing category. Endpoint: https://api.favcrm.io/mcp
- update_service - Update an existing booking service. Pass only the fields you want to change. Endpoint: https://api.favcrm.io/mcp
- create_service_schedule - Create a bookable schedule window for a service, including recurring weekly/daily availability. Endpoint: https://api.favcrm.io/mcp
- list_service_schedules - List schedule windows for booking services. Endpoint: https://api.favcrm.io/mcp
- update_service_schedule - Update a service schedule window. Pass only fields to change. Endpoint: https://api.favcrm.io/mcp
- assign_staff_to_service - Assign a staff member to a booking service. Pass users.id from list_staff.userId. Endpoint: https://api.favcrm.io/mcp
- link_resource_to_service - Link a room/resource to a booking service. Endpoint: https://api.favcrm.io/mcp
- list_service_categories - List service categories (groups for booking services like "Treatments", "Classes"). Endpoint: https://api.favcrm.io/mcp
- create_service_category - Create a service category (e.g. "Treatments", "Classes") to group bookable services. Endpoint: https://api.favcrm.io/mcp
- create_resource - Create a bookable resource (room, equipment, vehicle). Used by services that have requiresResource=true. Endpoint: https://api.favcrm.io/mcp
- set_resource_availability - Add an availability window for a resource. Use day-of-week + recurring=true for weekly schedules, or a specific date for one-off blocks. Endpoint: https://api.favcrm.io/mcp
- set_staff_availability - 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. Endpoint: https://api.favcrm.io/mcp
- get_booking_settings - Get global booking settings for the customer booking flow, cancellation rules, visibility options, and confirmation requirements. Endpoint: https://api.favcrm.io/mcp
- update_booking_settings - Update global booking settings. Pass only the fields you want to change. Endpoint: https://api.favcrm.io/mcp
- list_tickets - List support tickets with optional filters. Endpoint: https://api.favcrm.io/mcp
- get_ticket_stats - Get ticket counts grouped by status. Endpoint: https://api.favcrm.io/mcp
- create_ticket - Create a support ticket for a member issue. Endpoint: https://api.favcrm.io/mcp
- update_ticket_status - Update the status of an existing support ticket. Endpoint: https://api.favcrm.io/mcp
- list_surveys - List surveys with optional status/search filters. Endpoint: https://api.favcrm.io/mcp
- create_survey - Create a survey with custom question blocks. Publish it later or set status to published for immediate portal access. Endpoint: https://api.favcrm.io/mcp
- get_survey - Get survey detail, including blocks, publishing status, visibility, settings, and response count. Endpoint: https://api.favcrm.io/mcp
- update_survey - Update a survey draft or publishing configuration. Use questionBlocks to replace the ordered form block list. Endpoint: https://api.favcrm.io/mcp
- archive_survey - Archive a survey and remove it from active survey lists. Endpoint: https://api.favcrm.io/mcp
- get_survey_stats - Get response and invitation metrics for a survey overview dashboard. Endpoint: https://api.favcrm.io/mcp
- get_survey_responses - List responses for a survey. Endpoint: https://api.favcrm.io/mcp
- list_survey_invitations - List survey invitation history without exposing token hashes or old invitation tokens. Endpoint: https://api.favcrm.io/mcp
- create_survey_invitation - Create a token-auth survey invitation for a specific member/account or contact. Endpoint: https://api.favcrm.io/mcp
- list_survey_workflows - List automation workflows attached to a survey. Endpoint: https://api.favcrm.io/mcp
- upsert_survey_workflow - Create or update a survey automation workflow, usually triggered by survey_response_submitted. Endpoint: https://api.favcrm.io/mcp
- list_deals - List CRM deals (sales pipeline) with optional filters. Endpoint: https://api.favcrm.io/mcp
- update_deal_stage - Move a deal to a different pipeline stage. Endpoint: https://api.favcrm.io/mcp
- list_contacts - List contacts (people linked to CRM accounts), optionally filtered by account or search. Endpoint: https://api.favcrm.io/mcp
- get_contact - Fetch a single contact by ID. Endpoint: https://api.favcrm.io/mcp
- create_contact - Create a contact on an existing CRM account. Endpoint: https://api.favcrm.io/mcp
- update_contact - Update fields on an existing contact. Endpoint: https://api.favcrm.io/mcp
- list_tasks - List tasks with optional status, assignee, and account filters. Endpoint: https://api.favcrm.io/mcp
- create_task - Create a task. Optionally link to a CRM account or assign to a team member. Endpoint: https://api.favcrm.io/mcp
- update_task - Update a task (status, priority, assignee, due date, completion). Endpoint: https://api.favcrm.io/mcp
- search_crm - Search across CRM accounts and contacts by name, email, or phone. Endpoint: https://api.favcrm.io/mcp
- list_invoices - List invoices with optional filters. Use status "OVERDUE" to find unpaid invoices past due date. Endpoint: https://api.favcrm.io/mcp
- get_invoice - Fetch a single invoice with line items, payment history, and customer detail. Endpoint: https://api.favcrm.io/mcp
- create_invoice - Create a new invoice for a customer. Optionally include line items inline. Returns the new invoiceId. Endpoint: https://api.favcrm.io/mcp
- record_invoice_payment - 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. Endpoint: https://api.favcrm.io/mcp
- mark_invoice_sent - Mark an invoice as sent to the customer (transitions DRAFT → OPEN). Use after delivering the invoice via email or share link. Idempotent. Endpoint: https://api.favcrm.io/mcp
- void_invoice - 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. Endpoint: https://api.favcrm.io/mcp
- delete_invoice - Delete a DRAFT invoice. Only invoices that have never been sent can be deleted; otherwise use void_invoice. Endpoint: https://api.favcrm.io/mcp
- restore_invoice - Restore a previously deleted DRAFT invoice. Endpoint: https://api.favcrm.io/mcp
- get_invoice_stats - Outstanding totals, overdue counts, and revenue this period. Used by the weekly-snapshot playbook. Endpoint: https://api.favcrm.io/mcp
- list_subscriptions - List member subscriptions. Filter by status to find active, cancelled, or past-due subscriptions. Endpoint: https://api.favcrm.io/mcp
- get_subscription - Fetch a single subscription with customer, tier, billing cycle, and renewal info. Endpoint: https://api.favcrm.io/mcp
- create_subscription - Create a recurring subscription for a member. Bind to a membership tier or set a custom amount + cycle. Endpoint: https://api.favcrm.io/mcp
- pause_subscription - Pause an active subscription (status → past_due, no further auto-renew). Use resume_subscription to reactivate. Endpoint: https://api.favcrm.io/mcp
- resume_subscription - Resume a paused subscription back to active. Endpoint: https://api.favcrm.io/mcp
- cancel_subscription - Cancel a subscription. Destructive — turns off auto-renew and prevents further billing cycles. Existing paid periods stay valid until end. Endpoint: https://api.favcrm.io/mcp
- list_campaigns - List marketing campaigns (email, SMS, WhatsApp) with delivery stats. Endpoint: https://api.favcrm.io/mcp
- create_campaign - Create a marketing campaign (email, SMS, or WhatsApp) in DRAFT. For email channelConfig, use subject + htmlBody + optional plainTextBody. recipientSource="list" is accepted as an alias for "individual". Endpoint: https://api.favcrm.io/mcp
- update_campaign - Update an existing campaign. Channel cannot be changed after creation. Pass only fields to change. Endpoint: https://api.favcrm.io/mcp
- delete_campaign - Delete a campaign. Only allowed in DRAFT status; sent campaigns are kept for audit history. Endpoint: https://api.favcrm.io/mcp
- restore_campaign - Restore a previously deleted campaign. Endpoint: https://api.favcrm.io/mcp
- validate_campaign - Validate a campaign before sending. Resolves contactable recipient count and previews the final email subject/body without sending. Endpoint: https://api.favcrm.io/mcp
- list_notification_logs - List notification delivery logs for the current company. Recipients are masked by default for incident-response safety. Endpoint: https://api.favcrm.io/mcp
- list_conversations - List messaging conversations across channels (WhatsApp, SMS, email, etc). Shows unread counts and last message time. Endpoint: https://api.favcrm.io/mcp
- create_broadcast - Create a DRAFT WhatsApp or SMS broadcast campaign. The broadcast is NOT sent — admin must review and send it from the Broadcasts page. Endpoint: https://api.favcrm.io/mcp
- list_audit_logs - List recent audit log entries for this company. Filter by action, resource, resourceId, user, source, outcome, destructive flag, and created date range. Endpoint: https://api.favcrm.io/mcp
- search_audit_logs - Search audit logs by free text across action, resource, resource ID, changes JSON, and metadata JSON. Endpoint: https://api.favcrm.io/mcp
- get_audit_log - Fetch a single audit log entry by ID, including before/after snapshots when available. Endpoint: https://api.favcrm.io/mcp
- revert_audit_action - Revert an audited action by restoring the captured before snapshot. Only works for allowlisted target tables with full before/after audit snapshots. Endpoint: https://api.favcrm.io/mcp
- clone - 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. Endpoint: https://api.favcrm.io/mcp
- list_notes - List notes attached to a member/account, booking, or ticket. Endpoint: https://api.favcrm.io/mcp
- create_note - Add a note to a member/account, booking, ticket, or invoice. Endpoint: https://api.favcrm.io/mcp
- confirm_booking - Confirm a pending booking. Endpoint: https://api.favcrm.io/mcp
- cancel_booking - Cancel a booking. Optionally provide a reason. Endpoint: https://api.favcrm.io/mcp
- complete_booking - Mark a booking as completed. Triggers commission calculation if configured. Endpoint: https://api.favcrm.io/mcp
- mark_no_show - Mark a booking as no-show when the customer did not attend. Endpoint: https://api.favcrm.io/mcp
- list_promotions - List promotion/coupon codes with optional status filter. Endpoint: https://api.favcrm.io/mcp
- get_promotion - Get details of a specific promotion/coupon code. Endpoint: https://api.favcrm.io/mcp
- create_promotion - 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. Endpoint: https://api.favcrm.io/mcp
- update_promotion - Update an existing promotion. Pass only the fields you want to change. Endpoint: https://api.favcrm.io/mcp
- delete_promotion - Delete a promotion. Past usage records are preserved. Endpoint: https://api.favcrm.io/mcp
- restore_promotion - Restore a previously deleted promotion. Endpoint: https://api.favcrm.io/mcp
- validate_promotion - 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. Endpoint: https://api.favcrm.io/mcp
- list_reward_schemes - List loyalty reward schemes (points/stamps programs) configured for this business. Endpoint: https://api.favcrm.io/mcp
- list_staff - List staff/team members in the business. Endpoint: https://api.favcrm.io/mcp
- list_resources - List booking resources (rooms, equipment, etc.). Endpoint: https://api.favcrm.io/mcp
- list_service_packages - List service packages/prepaid session bundles with optional search, status, sorting, and pagination. Endpoint: https://api.favcrm.io/mcp
- get_service_package - Get service package detail including applicability and selected booking service/event items. Endpoint: https://api.favcrm.io/mcp
- create_service_package - Create a service package/prepaid session bundle. Use applicableType=SELECTED with applicableItems to limit the package to specific booking services or events. Endpoint: https://api.favcrm.io/mcp
- update_service_package - Update an existing service package. Pass only the fields you want to change. Endpoint: https://api.favcrm.io/mcp
- delete_service_package - Delete a service package by ID. Endpoint: https://api.favcrm.io/mcp
- restore_service_package - Restore a previously deleted service package by ID. Endpoint: https://api.favcrm.io/mcp
- get_plan_status - Show the current organisation plan, subscription/payment state, enabled modules, and quota usage. Use before deciding whether an agentic operation is allowed. Endpoint: https://api.favcrm.io/mcp
- check_plan_operation - Preflight whether an intended operation is allowed by token scopes, enabled modules, subscription state, and quota. Provide toolName, quotaCode, or moduleCode. Endpoint: https://api.favcrm.io/mcp
- list_plan_options - List active FavCRM plans with prices, quotas, included modules, and whether each is the current plan. Endpoint: https://api.favcrm.io/mcp
- create_plan_upgrade_link - 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. Endpoint: https://api.favcrm.io/mcp
- create_team_member_invite - 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. Endpoint: https://api.favcrm.io/mcp
- accept_team_invite_request - 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. Endpoint: https://api.favcrm.io/mcp
- accept_team_invite_verify - 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. Endpoint: https://api.favcrm.io/mcp
- get_whatsapp_connection_status - Check whether WhatsApp Business is connected for this company, including WABA/phone metadata and the latest agentic connect session state. Endpoint: https://api.favcrm.io/mcp
- create_whatsapp_connect_link - 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. Endpoint: https://api.favcrm.io/mcp
- list_my_companies - List all companies/organisations the current user has access to. Use this to see available orgs before switching. Endpoint: https://api.favcrm.io/mcp
- switch_company - Switch the current session to a different company/organisation. Returns a new access token scoped to the target company. All subsequent tool calls will operate on the new company. Endpoint: https://api.favcrm.io/mcp
- list_posts - List CMS posts (blog posts and/or pages) with optional filters. Endpoint: https://api.favcrm.io/mcp
- get_post - Get detailed CMS post including content blocks, categories, and tags. Endpoint: https://api.favcrm.io/mcp
- create_post - 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. Endpoint: https://api.favcrm.io/mcp
- update_post - Update an existing CMS post (any post type). Only provided fields are changed. Endpoint: https://api.favcrm.io/mcp
- delete_post - Delete a CMS post by ID. Soft-deleted posts can be restored with restore_post. Endpoint: https://api.favcrm.io/mcp
- restore_post - Restore a previously deleted CMS post. Endpoint: https://api.favcrm.io/mcp
- list_image_models - List AI image-generation models exposed to merchants (sanitized — provider/cost details hidden). Use to pick a `modelCode` for `generate_post_cover`. Endpoint: https://api.favcrm.io/mcp
- generate_image - 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. Endpoint: https://api.favcrm.io/mcp
- generate_post_cover - 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. Endpoint: https://api.favcrm.io/mcp
- attach_post_cover_from_job - 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. Endpoint: https://api.favcrm.io/mcp
- upload_post_cover_from_url - 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. Endpoint: https://api.favcrm.io/mcp
- list_categories - List CMS post categories. Endpoint: https://api.favcrm.io/mcp
- create_category - Create a CMS post category (e.g. "Equipment", "Injection — Botox"). For sub-categories, use namespaced names — the table is flat. Endpoint: https://api.favcrm.io/mcp
- update_category - Update a CMS post category. Endpoint: https://api.favcrm.io/mcp
- delete_category - Delete a CMS post category. Posts in the category are not deleted; they are simply unlinked. Endpoint: https://api.favcrm.io/mcp
- restore_category - Restore a previously deleted CMS post category. Endpoint: https://api.favcrm.io/mcp
- list_post_types - List all post types defined for this company (built-in: blog_post, page; plus any custom types). Endpoint: https://api.favcrm.io/mcp
- create_post_type - 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. Endpoint: https://api.favcrm.io/mcp
- list_post_type_fields - 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. Endpoint: https://api.favcrm.io/mcp
- create_post_type_field - 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. Endpoint: https://api.favcrm.io/mcp
- update_post_type - Update a custom post type. Built-in types (blog_post, page) cannot be modified. Endpoint: https://api.favcrm.io/mcp
- delete_post_type - Delete a custom post type. Built-in types cannot be deleted. Fails if any posts of this type still exist — delete those first. Endpoint: https://api.favcrm.io/mcp
- restore_post_type - Restore a previously deleted custom post type. Endpoint: https://api.favcrm.io/mcp
- update_post_type_field - 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. Endpoint: https://api.favcrm.io/mcp
- delete_post_type_field - 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). Endpoint: https://api.favcrm.io/mcp
- restore_post_type_field - Restore a previously deleted field on a post type schema. Endpoint: https://api.favcrm.io/mcp
- reorder_post_type_fields - Reorder fields on a post type. Pass field IDs in the desired display order; sortOrder is updated to match. Endpoint: https://api.favcrm.io/mcp
- append_post_block - 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. Endpoint: https://api.favcrm.io/mcp
- replace_post_block - Replace a single block at the given index (0-based). Avoids fetching the full post and re-sending all blocks via update_post. Endpoint: https://api.favcrm.io/mcp
- remove_post_block - Remove the block at the given index (0-based). All subsequent blocks shift up by one. Endpoint: https://api.favcrm.io/mcp
- reorder_post_blocks - Reorder blocks by passing block IDs in the desired order. The id list must contain every existing block id exactly once. Endpoint: https://api.favcrm.io/mcp
- create_booking - 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. Endpoint: https://api.favcrm.io/mcp
- get_conversation_messages - Get messages from a specific conversation thread. Shows the chat history between the merchant and a contact. Endpoint: https://api.favcrm.io/mcp
- find_or_create_workroom_thread - 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. Endpoint: https://api.favcrm.io/mcp
- get_attachment_text - 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. Endpoint: https://api.favcrm.io/mcp
- post_workroom_message - 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. Endpoint: https://api.favcrm.io/mcp
- create_inbox_reply_suggestion - 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. Endpoint: https://api.favcrm.io/mcp
- request_send_approval - 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. Endpoint: https://api.favcrm.io/mcp
- list_segments - List customer segments. Segments group members by criteria for targeted campaigns. Endpoint: https://api.favcrm.io/mcp
- get_segment_members - Get the members that belong to a specific segment. Endpoint: https://api.favcrm.io/mcp
- create_segment - Create a new customer segment. Use STATIC for manual member lists, DYNAMIC for criteria-based auto-filtering. Endpoint: https://api.favcrm.io/mcp
- list_outlets - List shop outlets/locations for the company. Endpoint: https://api.favcrm.io/mcp
- create_outlet - Create a shop outlet/location. Optionally pass id to preserve a legacy UUID during migration. Endpoint: https://api.favcrm.io/mcp
- update_outlet - Update an existing shop outlet/location by ID. Endpoint: https://api.favcrm.io/mcp
- list_products - List shop products with optional filters by name, status, or category. Endpoint: https://api.favcrm.io/mcp
- get_product - Get full product detail including images, options, and variations. Endpoint: https://api.favcrm.io/mcp
- create_product - Create a new shop product as DRAFT. Merchant can review and activate from the portal. Endpoint: https://api.favcrm.io/mcp
- update_product - Update an existing product. Only provided fields are changed. Endpoint: https://api.favcrm.io/mcp
- list_product_categories - List all product categories for the shop. Endpoint: https://api.favcrm.io/mcp
- create_product_category - Create a product category. Use parentId to create subcategories under an existing category. Endpoint: https://api.favcrm.io/mcp
- create_variation - Add a variation (size, color, etc.) to an existing product. Endpoint: https://api.favcrm.io/mcp
- list_orders - List shop orders with optional status and search filters. Endpoint: https://api.favcrm.io/mcp
- get_order - Get full order detail including line items. Endpoint: https://api.favcrm.io/mcp
- update_order_status - Update the status of a shop order (e.g. confirm, ship, cancel). Endpoint: https://api.favcrm.io/mcp
- list_offer_rules - List upsell/cross-sell offer rules with optional filters. Endpoint: https://api.favcrm.io/mcp
- get_offer_rule - Get offer rule detail including associated products and discounts. Endpoint: https://api.favcrm.io/mcp
- create_offer_rule - Create an upsell/cross-sell offer rule as draft. Specify trigger type, conditions, and suggested products with optional discounts. Endpoint: https://api.favcrm.io/mcp
- query_favcrm_platform - Search FavCRM MCP tools, enabled skills, and feature areas for how to use the platform. Use before guessing tool names or JSON arguments. Endpoint: https://api.favcrm.io/mcp
- query_company_knowledge - Search this company's knowledge base and return grounded snippets with source document IDs. Use for merchant policies, FAQs, pricing notes, brand guidance, and other uploaded references. Endpoint: https://api.favcrm.io/mcp
- list_knowledge_documents - List merchant knowledge base documents (uploads + scraped URLs). Use to discover what raw sources exist for the LLM-wiki pattern. Pass `updatedAfter` for delta sync. Content bytes are fetched separately via GET /v6/merchant/ai/knowledge/{id}/content — this tool returns metadata only. Endpoint: https://api.favcrm.io/mcp
- get_knowledge_document - Fetch a single knowledge document with metadata + status. Content bytes are still served via GET /v6/merchant/ai/knowledge/{id}/content — this tool returns metadata only. Endpoint: https://api.favcrm.io/mcp
- scrape_knowledge_url - 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. Endpoint: https://api.favcrm.io/mcp
- add_knowledge_text - 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. Endpoint: https://api.favcrm.io/mcp
- delete_knowledge_document - Soft-delete a knowledge document. The agent loses access immediately, but the document can be restored with restore_knowledge_document. Endpoint: https://api.favcrm.io/mcp
- restore_knowledge_document - Restore a previously deleted knowledge document. Endpoint: https://api.favcrm.io/mcp
- list_shipping_methods - List all shipping methods configured for the shop. Endpoint: https://api.favcrm.io/mcp
- report_agent_issue - 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. Endpoint: https://api.favcrm.io/mcp
- register_organisation_request - 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. Endpoint: https://api.favcrm.io/mcp
- register_organisation_verify - 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. Endpoint: https://api.favcrm.io/mcp

## Resources
- contact://schema - CRM contact (account) record schema. Use list_contacts or get_contact to retrieve actual data.
- booking://schema - Booking record schema. Use list_bookings or get_booking_detail for actual data.
- post://schema - CMS post record schema (blog, landing page, etc). Supports block-based content. Use list_posts or get_post for actual data.
- product://schema - Shop product schema. Use list_products or get_product for actual data.
- order://schema - Shop order schema. Use list_orders or get_order for actual data.

## Prompts
- add-customer - Add a new customer/contact with optional tags and notes
- onboard-member - Create a new member, enrol them in a tier, send a welcome
- enrol-customer-tier - Move an existing customer into a membership tier
- add-loyalty-points - Credit loyalty points to a customer and confirm the new balance
- issue-gift-reward - Pick a gift offer and issue it to a customer
- book-customer - Find a customer, pick a service and slot, create + confirm a booking
- cancel-and-refund - Cancel a booking with the proper refund + audit chain
- handle-no-show - Mark a booking as no-show and apply the configured penalty
- send-booking-reminder - Find tomorrow's confirmed bookings and ping each customer
- create-service - Set up a bookable service with schedule and staff
- set-up-promotion - Create a promo code with discount + usage limits
- send-campaign - Send a targeted marketing campaign to a segment
- respond-to-ticket - Reply to a support ticket and update its status
- complete-booking - Find a pending booking and confirm it
- publish-blog-post - Create and publish a CMS blog post with content blocks
- fulfil-order - Process and mark a shop order as fulfilled
- customer-360 - Compile a complete view of one customer across the system
- find-top-customers - List members by lifetime spend — identify VIPs and at-risk
- bulk-tag-segment - Filter customers, apply a tag, optionally create a segment
- build-segment - Create a customer segment from criteria and verify the population
- manage-deal - Move a deal through the sales pipeline with proper stage updates
- manage-task - Create, assign, or update an internal task
- switch-workspace - Switch the active workspace for users with multiple companies
- inbox-triage - Triage unread customer conversations across channels
- review-cancellations - Pull recent cancelled bookings and identify cancellation patterns
- generate-blog-post - Use AI image generation + structured blocks to draft a blog post end-to-end
- bill-customer - Create an invoice with line items and send it to the customer
- record-payment - Record a manual payment against an existing invoice
- chase-overdue-invoices - Find overdue invoices and send a payment reminder to each customer
- void-invoice - Void a non-paid invoice (destructive — cannot be undone)
- start-subscription - Start a recurring subscription for a member with optional welcome notification
- cancel-subscription - Cancel a subscription with confirmation gate and optional save attempt
- handle-past-due - Find past-due subscriptions and reach out for payment recovery
- pause-subscription - Temporarily pause a subscription (e.g. customer travelling)
- train-ai-agent - Add a knowledge document (URL or pasted text) so the merchant's AI agent can reference it
- prune-knowledge - Audit knowledge documents and delete outdated or failed ones
- weekly-snapshot - Pull a one-screen summary of the past 7 days

## Metadata
- Owner: io.favcrm
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 8, 2026
- Source: https://registry.modelcontextprotocol.io
