
喺上一篇指南,我哋建立咗一個 FavCRM workspace,亦攞到一條 fav_mcp_* API key。
而家就可以接上一個 agent。
FavCRM 透過 Model Context Protocol 開放佢個 backend,endpoint 係:
https://api.favcrm.io/mcp
通過驗證之後,client 就可以發現 190+ 個 typed tools,涵蓋 CRM、預約、會員積分、發票、商店、內容、團隊上手、WhatsApp 設定同報表。
將 FavCRM 加入 Cursor
建立或者更新 ~/.cursor/mcp.json。
{
"mcpServers": {
"favcrm": {
"url": "https://api.favcrm.io/mcp",
"headers": {
"Authorization": "Bearer ${env:FAVCRM_API_KEY}"
}
}
}
}
然後喺 Cursor 讀得到嘅地方設定 environment variable。
export FAVCRM_API_KEY=fav_mcp_...
重新啟動 Cursor,再睇 MCP 設定面板。favcrm server 應該會接通,並且列出 tool catalog。
重點係:條 key 放喺 environment variable,唔好放入會被 repo 追蹤嘅 config 檔。
將 FavCRM 加入 Claude
同一個 bearer-token 寫法喺 Claude 嘅 MCP config 一樣用得。Server URL 一樣:
https://api.favcrm.io/mcp
Header 一樣:
Authorization: Bearer fav_mcp_...
Config 檔嘅實際位置視乎你嘅 Claude 環境,但 MCP server 嘅形態完全一樣:一個 Streamable HTTP server URL 加上 bearer-token header。
用 CLI 做 smoke-test
favcrm CLI 本身都係一個 MCP client,所以好適合做 smoke test。
favcrm doctor
favcrm tool list
查睇單一 tool:
favcrm tool describe create_booking
呼叫一個 read-only tool:
favcrm tool call list_services '{}'
如果個 workspace 係全新嘅,回傳空 list 並唔係 error。佢代表 tool call 成功咗,只係仲未有任何 service。
Tool catalog 帶畀 agent 嘅嘢
一個 MCP tool 唔只係一個 function name。每個 FavCRM tool 都包含:
- 一個 name
- 一段 description
- 一個 input schema
- 一個 output shape
- 一啲畀 agent 判斷安全性嘅 annotation
呢啲 annotation 就係令 agent 可以判斷操作風險嘅關鍵。例如:
list_services係 read-onlycreate_booking會寫入資料cancel_booking會改變預約狀態- 對客發送同外部 service 屬於 open-world 操作
Agent 喺呼叫唔熟悉嘅 tool 之前,應該先查睇佢:
favcrm tool describe create_booking
favcrm tool describe cancel_booking
favcrm tool describe request_send_approval
呢個就係「agent 操作一個 backend」同「agent 對住個 database 靠估」嘅分別。
喺受限操作之前做 plan check
有啲操作要視乎 plan、module、quota 或者 billing 狀態。喺一個可能被限制嘅寫入之前,先呼叫:
favcrm plan status
favcrm plan check --tool create_account
favcrm plan check --module whatsapp
favcrm plan options
如果個操作需要升級,backend 會回傳一個 upgrade action。只有當用戶明確確認,先至會建立一條 Stripe 託管嘅連結:
favcrm plan upgrade --plan-code favcrm-lite --confirm
咁就可以避免 agent 意外觸發付款流程,同時又清楚指出下一步。
用需要審批嘅發送流程
對客訊息唔應該當成普通 CRUD 處理。對於 campaign、WhatsApp、SMS、email 同 inbox 回覆,建議用需要審批嘅 workflow:agent 草擬訊息,向用戶展示打算發送嘅收件人或者 segment,發送之前要求審批。
呢個模式畀到 agent 能力,但又唔會令佢靜雞雞咁向客戶發訊息。
一個好用嘅第一個 prompt
接通 FavCRM 到 Cursor 或者 Claude 之後,試吓:
Use the FavCRM tools to inspect this workspace.
First list my companies, then show plan status, then list services.
Do not create or send anything yet.
一個好嘅 agent 應該先呼叫安全嘅 read-only tool:
list_my_companiesget_plan_statuslist_services
然後總結出有咩已經設定好、有咩仲未設定。
之後可以做啲咩
而家 agent 已經可以發現同呼叫 tool,你就可以喺上面起一個真正嘅 app —— 一個由實時 CRM 資料支撐嘅預約 storefront:service、可用時段、預約、確認同客戶記錄。每一次 call 回傳嘅都係已儲存嘅記錄,唔係 mock data。
呢個就係 headless CRM 嘅重點:agent 負責砌介面,背後有一個真正嘅 backend 撐住。
啱啱接觸呢個類別?由 咩係 agentic CRM 開始。

