TTokenySpace
返回 MCP 列表

FavCRM MCP — install snippets, examples, docs for the Model Context Protocol server at api.favcrm.io/mcp

0v1.0.0远程托管更新于 2026/6/26
GitHub
0

远程接入地址

https://api.favcrm.io/mcp

介绍

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

README

FavCRM MCP

smithery badge

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.

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

For large-agent runtimes, the same endpoint supports a compact discovery/router profile: add ?profile=compact or X-FavCRM-MCP-Profile: compact to expose a small search_tools + execute_tool surface instead of the full catalog. The default profile remains full for clients and scanners.

🤖 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.

ClientStatusSetup
Vercel v0✅ LiveMarketplace install — auto-provisions a workspace + injects env vars
Cursor✅ Livemcp.json snippet
Smithery✅ Livesmithery mcp add favcrm/favcrm
Claude Desktop / Connector🚧 PendingOAuth provider (Phase 3, ~3 weeks)
ChatGPT Apps Directory🚧 PendingListing under review
Windsurf / Continue.dev / Zed✅ WorksSame mcp.json shape as Cursor

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 register_organisation_request — server emails a 6-digit code to you
  2. You paste the code back in chat
  3. Agent calls register_organisation_verify — server returns a fresh fav_mcp_* 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 fav_mcp_* 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:

favcrm signup request --email owner@example.com --organisation-name "Ada Studio"
favcrm signup verify --request-id <request-id> --code <code>
favcrm doctor
favcrm team invite create --email teammate@example.com --role staff
favcrm whatsapp status
favcrm whatsapp connect --mode cloud-api

Team invitees can accept without an existing API key:

favcrm team invite accept-request --token <invite-token>
favcrm team invite accept-verify --token <invite-token> --code <code>

Cursor

Verified shape, cursor.com/docs/mcp.

~/.cursor/mcp.json (or .cursor/mcp.json in your project):

{
  "mcpServers": {
    "favcrm": {
      "url": "https://api.favcrm.io/mcp",
      "headers": {
        "Authorization": "Bearer ${env:FAVCRM_API_KEY}"
      }
    }
  }
}

Then export the key — anywhere your Cursor process reads env vars:

# shell rc
echo 'export FAVCRM_API_KEY=fav_mcp_...' >> ~/.zshrc

# or per-project (direnv)
echo 'export FAVCRM_API_KEY=fav_mcp_...' >> .envrc

Restart Cursor → Settings → MCP → favcrm connects → 229 tools land in chat.

Why ${env:VAR} instead of inline? Cursor interpolates env vars at request time so the key never lands in your repo or shared config.


Smithery

favcrm.io on Smithery — install via CLI:

npm i -g @smithery/cli
smithery login
smithery mcp add favcrm/favcrm

For a project-scoped install, smithery mcp add favcrm/favcrm --client cursor writes the right mcp.json block.


Claude Desktop

🚧 OAuth-based connector pending Phase 3. Once live:

  1. claude.com → Connectors → Add custom connector
  2. URL: https://api.favcrm.io/mcp
  3. Authorize via OAuth → workspace selector → tool list

Until then, advanced users can wire FavCRM into Claude Desktop's claude_desktop_config.json via the same Bearer-header pattern as Cursor (community-only path; not currently in Anthropic's connector directory).


ChatGPT

🚧 Apps Directory listing under review. Once approved:

  1. ChatGPT → Tools menu → Apps → search "FavCRM"
  2. Add → OAuth handshake → workspace selector
  3. 26 curated tools land in chat (read-mostly + safe writes; destructive ops gated behind confirmation)

Test it

Once your config is live, ChatGPT/Cursor/Claude will list tools automatically. To smoke-test from the command line:

# Discovery (no auth needed — public-scan endpoint)
curl https://api.favcrm.io/.well-known/mcp/server-card.json | jq '.tools | length'
# → 229

# Auth + initialize
curl -s https://api.favcrm.io/mcp \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer $FAVCRM_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}' \
  | jq

# Call a read-only tool
curl -s https://api.favcrm.io/mcp \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer $FAVCRM_API_KEY" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_membership_tiers","arguments":{}}}' \
  | jq

See examples/ for more.


Tool surface

229 tools across 27 scopes. Every tool ships with annotations:

  • title — human-readable label
  • readOnlyHinttrue for list_* / get_* / search_* / etc.
  • destructiveHinttrue for delete_* / cancel_* / void_* / refund_*
  • openWorldHinttrue for tools that hit external services (WhatsApp, Stripe, email)
  • idempotentHinttrue for set_* / update_* / upsert_* and read-only

Clients can use these to gate destructive calls or estimate cost. The full catalog at https://api.favcrm.io/.well-known/mcp/server-card.json is the source of truth — listings here are summaries only.

Agents working from a compact or context-sensitive tool set should use search_tools to discover operations, then execute_tool to run the selected tool. Use query_favcrm_platform for platform docs before guessing behavior or argument shapes. For merchant-specific facts, policies, pricing notes, FAQs, or brand guidance, use query_company_knowledge; it returns snippets with source document IDs rather than full documents.

ScopeSample toolsRead-onlyWrite
contactssearch_members, get_member_profile, create_account, attach_tags56
customer_segmentslist_segments, preview_segment_count, set_segment_members44
custom_fieldslist_custom_fields, create_custom_field, set_custom_field_values34
bookingslist_services, get_available_slots, create_booking1215
membershiplist_tiers, enrol_membership, earn_loyalty_points43
shoplist_products, get_order, create_order86
invoiceslist_invoices, mark_invoice_paid44
campaignslist_campaigns, send_campaign (gated)53
bloglist_posts, publish_post1413

Agent Issue Reports

Agents should call report_agent_issue when an MCP-native path is missing, a tool schema is confusing, a tool fails unexpectedly, or they had to fall back to REST/SDK behavior. Include expected behavior, actual behavior, steps tried, relevant tool calls/logs, AI analysis, and clarification questions. FavCRM routes these reports to the platform support queue for triage.

Example:

favcrm tool call report_agent_issue '{"title":"Missing account creation MCP tool","severity":"high","area":"mcp_tool_missing","expectedBehavior":"Agent can create an account via MCP only.","actualBehavior":"Agent had to use SDK fallback.","stepsTried":["Listed tools","Tried create_contact"],"aiAnalysis":"Account creation exists in backend services but was not exposed in MCP."}'

Plan operations

Agents can inspect and preflight plan access without leaving MCP:

favcrm tool call get_plan_status '{}'
favcrm tool call check_plan_operation '{"toolName":"create_account"}'
favcrm tool call list_plan_options '{}'
favcrm tool call create_plan_upgrade_link '{"planCode":"favcrm-lite","billingCycle":"monthly","confirm":true}'

Use check_plan_operation before writes that may hit module, scope, subscription, or quota gates. If the result includes upgradeAction, show the user the returned action. Stripe links are only created by create_plan_upgrade_link with confirm=true.


Auth modes

Token kindLifetimeUse case
fav_mcp_* API keyLong-lived, revocableCursor, Windsurf, Zed, Continue.dev, scripts
fav_v0_* partner tokenPer-Vercel-project, scopedv0 / Vercel install only
OAuth bearer (15-min JWT + 30-day refresh)Short-livedClaude Connectors (Phase 3), ChatGPT Apps
OTP-issued JWT (60 min)Short-livedInteractive humans (merchant portal exchange)

Marketplace tokens (fav_v0_*, OAuth-issued) are hard-blocked from superadmin tools (raw SQL, plan management) regardless of underlying scopes — defence in depth at the request layer, not just per-token RBAC.


Pricing

TierPriceLimits
Free$0100 customers · 200 bookings/mo · 1k MCP calls/mo
Lite$19 / mo1 seat · email comms · BYO-AI via your agent
Starter$49 / mo3 seats · 1M AI credits · WhatsApp + SMS · meeting notes
EnterpriseCustomUnlimited seats · multi-location · custom routing

Full table: favcrm.io/pricing.


Issues / contributions

  • Bugs in tool behaviour or MCP transport: open an issue here.
  • Examples for a new client (Cline, Replit Agent, Roo, etc.): PRs welcome under examples/.
  • Agent workflow skills: PRs welcome under skills/.
  • Contribution guidelines: CONTRIBUTING.md.
  • Security reports: please follow SECURITY.md; do not open public vulnerability issues.
  • Server bugs / new tool requests / commercial questions: dev@favcrm.io.

Links

Brand assets

Marketplace-ready 1:1 icons with background plate, in assets/:

FileUse
assets/icon.png512×512 PNG — Cursor / Smithery / mcp.so listing
assets/favcrm-icon-256-dark.svg1:1 SVG, ink plate, light glyph — most marketplaces
assets/favcrm-icon-256-light.svg1:1 SVG, canvas plate, ink glyph — light-themed UIs
assets/favcrm-icon-256-dark.png256×256 PNG fallback

All icons are 1:1 aspect ratio with rounded-square plate (48px corner radius on 256-unit grid) and centered "fav." wordmark glyph.

License

This repo (docs + examples) is MIT — see LICENSE. The hosted MCP server is proprietary FavCRM SaaS; install requires a FavCRM account.

评论

加载中…

同类推荐