MCP serverio.favcrm/favcrm
Agentic CRM for service businesses — bookings, customers, WhatsApp, loyalty, invoicing.
Overview
Score?
UNRATED 0.672
of what a free look can see, on 30 looks
Looks
35
last 18 hr ago
Tools
230
changed 29 days ago
More info
URL
api.favcrm.io/mcp
streamable-http
Says it is
favcrm 1.0.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.672 · highest on record 0.8561
Toolsfrom sha256:fc1118ea02…0d01a4 · +0 −0 29 days ago
| Tool | Schema |
|---|---|
| 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 |
input · output |
| 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. |
input · output |
| 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. St |
input · output |
| 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, |
input · output |
| archive_survey Archive a survey and remove it from active survey lists. |
input · output |
| assign_staff_to_service Assign a staff member to a booking service. Pass users.id from list_staff.userId. |
input · output |
| 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 acros |
input · output |
| attach_tags Attach one or more tags to a member/account. Useful for segmenting members after filtering. |
input · output |
| cancel_booking Cancel a booking and create a durable refund receipt. Uses the merchant refund setting unless refundMethod is provided. |
input · output |
| cancel_subscription Cancel a subscription. Destructive — turns off auto-renew and prevents further billing cycles. Existing paid periods stay valid until end. |
input · output |
| check_plan_operation Preflight whether an intended operation is allowed by token scopes, enabled modules, subscription state, and quota. Provide toolName, quotaCode, or moduleCode. |
input · output |
| 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. |
input · output |
| 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. |
input · output |
| complete_booking Mark a booking as completed. Triggers commission calculation if configured. |
input · output |
| confirm_booking Confirm a pending booking. |
input · output |
| convert_lead 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 |
input · output |
| copy_service_tier_pricing Copy the complete pricing and booking-policy configuration from one membership tier to another on the same booking service. |
input · output |
| 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. |
input · output |
| 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. |
input · output |
| 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. |
input · output |
| create_campaign 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 su |
input · output |
| create_category Create a CMS post category (e.g. "Equipment", "Injection — Botox"). For sub-categories, use namespaced names — the table is flat. |
input · output |
| create_contact Create a contact on an existing CRM account. |
input · output |
| create_custom_field Create a custom field definition for CRM entities. Use options for select or multiselect fields. |
input · output |
| create_deal Create a CRM sales pipeline deal, optionally linked to a customer account and contact. |
input · output |
| 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 c |
input · output |
| create_invoice Create a new invoice for a customer. Optionally include line items inline. Returns the new invoiceId. |
input · output |
| create_note Add a note to a member/account, booking, ticket, or invoice. |
input · output |
| create_offer_rule Create an upsell/cross-sell offer rule as draft. Specify trigger type, conditions, and suggested products with optional discounts. |
input · output |
| create_outlet Create a shop outlet/location. Optionally pass id to preserve a legacy UUID during migration. |
input · output |
| 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 o |
input · output |
| 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 = p |
input · output |
| 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 struc |
input · output |
| 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 r |
input · output |
| create_product Create a new shop product as DRAFT. Merchant can review and activate from the portal. |
input · output |
| create_product_category Create a product category. Use parentId to create subcategories under an existing category. |
input · output |
| 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. |
input · output |
| create_resource Create a bookable resource (room, equipment, vehicle). Used by services that have requiresResource=true. |
input · output |
| create_segment Create a new customer segment. Use STATIC for manual member lists, DYNAMIC for criteria-based auto-filtering. |
input · output |
| 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. |
input · output |
| create_service_category Create a service category (e.g. "Treatments", "Classes") to group bookable services. |
input · output |
| 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. |
input · output |
| create_service_schedule Create a bookable schedule window for a service, including recurring weekly/daily availability. |
input · output |
| create_subscription Create a manual, non-renewing subscription record for a member. Use a subscription action link for provider-backed recurring billing. |
input · output |
| create_survey Create a survey with custom question blocks. Publish it later or set status to published for immediate portal access. |
input · output |
| create_survey_invitation Create a token-auth survey invitation for a specific member/account or contact. |
input · output |
| create_tag Create a CRM tag for customer segmentation and organization. |
input · output |
| create_task Create a task. Optionally link to a CRM account or assign to a team member. |
input · output |
| 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_ve |
input · output |
| create_template 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 N |
input · output |
| create_ticket Create a support ticket for a member issue. |
input · output |
| create_variation Add a variation (size, color, etc.) to an existing product. |
input · output |
| 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 nu |
input · output |
| delete_account Soft-delete a CRM account/customer. This releases the primary phone for future reuse while keeping account history for audit. |
input · output |
| delete_campaign Delete a campaign. Only allowed in DRAFT status; sent campaigns are kept for audit history. |
input · output |
| delete_category Delete a CMS post category. Posts in the category are not deleted; they are simply unlinked. |
input · output |
| delete_contact Delete a secondary contact. Primary contacts are protected; set another primary contact or delete the account instead. |
input · output |
| delete_custom_field Delete a custom field definition and its stored values. |
input · output |
| delete_deal Soft-delete a CRM deal from the sales pipeline. |
input · output |
| delete_invoice Delete a DRAFT invoice. Only invoices that have never been sent can be deleted; otherwise use void_invoice. |
input · output |
| delete_knowledge_document Soft-delete a knowledge document. The agent loses access immediately, but the document can be restored with restore_knowledge_document. |
input · output |
| delete_post Delete a CMS post by ID. Soft-deleted posts can be restored with restore_post. |
input · output |
| 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. |
input · output |
| 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). |
input · output |
| delete_promotion Delete a promotion. Past usage records are preserved. |
input · output |
| delete_segment Delete a customer segment. |
input · output |
| delete_service_package Delete a service package by ID. |
input · output |
| delete_tag Delete a CRM tag and remove it from all tagged entities. |
input · output |
| delete_task Soft-delete a CRM task. |
input · output |
| detach_tags Detach one tag from one or more member/account records. |
input · output |
| 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. |
input · output |
| 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. |
input · output |
| execute_tool 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. |
input · output |
| 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 pre |
input · output |
| 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 — |
input · output |
| 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 |
input · output |
| 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 |
input · output |
| get_audit_log Fetch a single audit log entry by ID, including before/after snapshots when available. |
input · output |
| get_available_slots Find available booking slots for a service on a specific date. |
input · output |
| get_booking_detail Get full booking details including line items, status history, and participants. |
input · output |
| get_booking_settings Get global booking settings for the customer booking flow, cancellation rules, visibility options, and confirmation requirements. |
input · output |
| get_booking_stats Get booking counts: today, this week, this month, and breakdown by status. |
input · output |
| get_campaign Get a campaign by ID, including its recipient source, audience exclusions, channel configuration, and delivery stats. |
input · output |
| get_contact Fetch a single contact by ID. |
input · output |
| get_conversation_messages Get messages from a specific conversation thread. Shows the chat history between the merchant and a contact. |
input · output |
| get_custom_field Get a custom field definition by ID. |
input · output |
| get_custom_field_values Get custom field values for a CRM entity such as an account, contact, deal, or booking. |
input · output |
| 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. |
input · output |
| get_deal Get detailed CRM deal information by ID. |
input · output |
| get_event_campaign_exclusions Resolve pending, confirmed, and paid event registrations into unique CRM account IDs for campaign exclusions. Pass accountIds to audienceExclusions only when ready=true; cancelled |
input · output |
| get_invoice Fetch a single invoice with line items, payment history, and customer detail. |
input · output |
| get_invoice_stats Outstanding totals, overdue counts, and revenue this period. Used by the weekly-snapshot playbook. |
input · output |
| get_knowledge_document 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 fo |
input · output |
| 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. |
input · output |
| get_member_profile Get detailed profile for a specific member/account by ID. |
input · output |
| get_membership_tier Get a specific membership tier by ID. |
input · output |
| get_offer_rule Get offer rule detail including associated products and discounts. |
input · output |
| get_order Get full order detail including line items. |
input · output |
| 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. |
input · output |
| get_post Get detailed CMS post including content blocks, categories, and tags. |
input · output |
| get_product Get full product detail including images, options, and variations. |
input · output |
| get_promotion Get details of a specific promotion/coupon code. |
input · output |
| get_segment Get customer segment details including type, criteria, and live member count. |
input · output |
| get_segment_members Get the members that belong to a specific segment. |
input · output |
| get_service_detail Get full service details including addons, staff, resources, and tier pricing. |
input · output |
| get_service_package Get service package detail including applicability and selected booking service/event items. |
input · output |
| get_service_tier_pricing Read every membership-tier pricing configuration for one booking service. |
input · output |
| get_subscription Fetch a single subscription with customer, tier, billing cycle, and renewal info. |
input · output |
| get_survey Get survey detail, including blocks, publishing status, visibility, settings, and response count. |
input · output |
| get_survey_responses List responses for a survey. |
input · output |
| get_survey_stats Get response and invitation metrics for a survey overview dashboard. |
input · output |
| get_task Get detailed task information by ID. |
input · output |
| get_ticket_stats Get ticket counts grouped by status. |
input · output |
| get_whatsapp_connection_status Check whether WhatsApp Business is connected for this company, including WABA/phone metadata and the latest agentic connect session state. |
input · output |
| issue_rewards Issue a gift/reward to multiple members. Requires a gift offer ID and member IDs. |
input · output |
| link_resource_to_service Link a room/resource to a booking service. |
input · output |
| 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. |
input · output |
| list_bookings List bookings with filters for date range, status, service, staff, or member. |
input · output |
| list_campaigns List marketing campaigns (email, SMS, WhatsApp, or push) with delivery stats. Use the returned IDs when excluding recipients of previous campaigns. |
input · output |
| list_categories List CMS post categories. |
input · output |
| list_contacts List contacts (people linked to CRM accounts), optionally filtered by account or search. |
input · output |
| list_conversations List messaging conversations across WhatsApp, Messenger, Instagram, Threads, SMS, email, and other enabled channels. Threads items are public conversations. Shows unread counts and |
input · output |
| list_custom_fields List custom field definitions for CRM entities such as account, contact, deal, or booking. |
input · output |
| list_deals List CRM deals (sales pipeline) with optional filters. |
input · output |
| list_event_registrations List registrations for an event in the active company, including CRM account IDs for campaign exclusions. |
input · output |
| 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`. |
input · output |
| list_invoices List invoices with optional filters. Use status "OVERDUE" to find unpaid invoices past due date. |
input · output |
| list_knowledge_documents 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 co |
input · output |
| list_my_companies List all companies/organisations the current user has access to. Use this to see available orgs before switching. |
input · output |
| list_notes List notes attached to a member/account, booking, or ticket. |
input · output |
| list_notification_logs List notification delivery logs for the current company. Recipients are masked by default for incident-response safety. |
input · output |
| list_offer_rules List upsell/cross-sell offer rules with optional filters. |
input · output |
| list_orders List shop orders with optional status and search filters. |
input · output |
| list_outlets List shop outlets/locations for the company. |
input · output |
| list_plan_options List active FavCRM plans with prices, quotas, included modules, and whether each is the current plan. |
input · output |
| 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. |
input · output |
| list_post_types List all post types defined for this company (built-in: blog_post, page; plus any custom types). |
input · output |
| list_posts List CMS posts (blog posts and/or pages) with optional filters. |
input · output |
| list_product_categories List all product categories for the shop. |
input · output |
| list_products List shop products with optional filters by name, status, or category. |
input · output |
| list_promotions List promotion/coupon codes with optional status filter. |
input · output |
| list_resources List booking resources (rooms, equipment, etc.). |
input · output |
| list_reward_schemes List loyalty reward schemes (points/stamps programs) configured for this business. |
input · output |
| list_segments List customer segments. Segments group members by criteria for targeted campaigns. |
input · output |
| list_service_categories List service categories (groups for booking services like "Treatments", "Classes"). |
input · output |
| list_service_packages List service packages/prepaid session bundles with optional search, status, sorting, and pagination. |
input · output |
| list_service_schedules List schedule windows for booking services. |
input · output |
| list_services List booking services with name, price, duration, and status. |
input · output |
| list_shipping_methods List all shipping methods configured for the shop. |
input · output |
| list_staff List staff/team members in the business. |
input · output |
| list_subscriptions List member subscriptions. Filter by status to find active, cancelled, or past-due subscriptions. |
input · output |
| list_survey_invitations List survey invitation history without exposing token hashes or old invitation tokens. |
input · output |
| list_survey_workflows List automation workflows attached to a survey. |
input · output |
| list_surveys List surveys with optional status/search filters. |
input · output |
| list_tags List all available tags for the merchant. |
input · output |
| list_tasks List tasks with optional status, assignee, and account filters. |
input · output |
| list_templates 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 |
input · output |
| list_tickets List support tickets with optional filters. |
input · output |
| list_tiers List all membership tiers with member counts and stats. |
input · output |
| mark_deal_lost Mark a CRM deal as lost. Requires a lost reason. |
input · output |
| mark_deal_won Mark a CRM deal as won and set close date. |
input · output |
| 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. |
input · output |
| mark_no_show Mark a booking as no-show when the customer did not attend. |
input · output |
| pause_subscription Pause an active subscription (status → past_due, no further auto-renew). Use resume_subscription to reactivate. |
input · output |
| 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. T |
input · output |
| 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_im |
input · output |
| preview_segment_count Preview how many customers would match dynamic segment criteria before creating or updating a segment. |
input · output |
| query_company_knowledge 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 uploa |
input · output |
| 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. |
input · output |
| 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. |
input · output |
| 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. |
input · output |
| 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 M |
input · output |
| remove_post_block Remove the block at the given index (0-based). All subsequent blocks shift up by one. |
input · output |
| reorder_post_blocks Reorder blocks by passing block IDs in the desired order. The id list must contain every existing block id exactly once. |
input · output |
| reorder_post_type_fields Reorder fields on a post type. Pass field IDs in the desired display order; sortOrder is updated to match. |
input · output |
| 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. |
input · output |
| 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 c |
input · output |
| 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 dire |
input · output |
| restore_campaign Restore a previously deleted campaign. |
input · output |
| restore_category Restore a previously deleted CMS post category. |
input · output |
| restore_invoice Restore a previously deleted DRAFT invoice. |
input · output |
| restore_knowledge_document Restore a previously deleted knowledge document. |
input · output |
| restore_post Restore a previously deleted CMS post. |
input · output |
| restore_post_type Restore a previously deleted custom post type. |
input · output |
| restore_post_type_field Restore a previously deleted field on a post type schema. |
input · output |
| restore_promotion Restore a previously deleted promotion. |
input · output |
| restore_service_package Restore a previously deleted service package by ID. |
input · output |
| resume_subscription Resume a paused subscription back to active. |
input · output |
| 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. |
input · output |
| 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 |
input · output |
| search_audit_logs Search audit logs by free text across action, resource, resource ID, changes JSON, and metadata JSON. |
input · output |
| search_crm Search across CRM accounts and contacts by name, email, or phone. |
input · output |
| 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 inactiv |
input · output |
| search_tools Search the available FavCRM tool catalog for relevant operations. Use this when the curated direct tool list does not contain the operation you need. |
input · output |
| set_custom_field_values Set or clear custom field values for a CRM entity. Values are stored as strings; pass null to clear a value. |
input · output |
| set_primary_contact Set a contact as the primary contact for its CRM account and demote other contacts on that account. |
input · output |
| 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. |
input · output |
| set_segment_members Replace the members of a STATIC customer segment with the given account IDs. The segment is converted to STATIC. |
input · output |
| set_service_tier_pricing Set the complete pricing and booking-policy configuration for one membership tier on a booking service. |
input · output |
| 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. |
input · output |
Verify it yourself
npx teppi-check https://api.favcrm.io/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2B5MCBGQX7JEMZ3SR1FD