Examples
CRM API to MCP
A CRM MCP server should help an agent find the right customer record, summarize context, and create bounded updates. The useful tools are narrow, named around sales work, and explicit about which calls write data.
Implementation
Path to ship.
Guide
Recommended tool surface
Start with read tools that answer common sales questions: find an account, list contacts, inspect open opportunities, and fetch recent activity. These are safe, high-frequency calls that make an agent immediately useful.
For writes, prefer specific tools such as create_follow_up_task or add_account_note. Avoid generic update_record tools unless the runtime policy can restrict fields and object types.
crm_find_account
Searches accounts by domain, company name, or CRM id and returns a compact account profile.
Generated input schema
{
"type": "object",
"properties": {
"query": { "type": "string", "description": "Company name, domain, or account id." },
"include_open_deals": { "type": "boolean", "default": true }
},
"required": ["query"]
}Example tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "crm_find_account",
"arguments": {
"query": "acme.com",
"include_open_deals": true
}
}
}crm_create_follow_up_task
Creates a dated follow-up task on a contact or account after an agent conversation.
Generated input schema
{
"type": "object",
"properties": {
"record_id": { "type": "string" },
"owner_email": { "type": "string" },
"due_date": { "type": "string", "format": "date" },
"task": { "type": "string", "maxLength": 500 }
},
"required": ["record_id", "owner_email", "due_date", "task"]
}Example tools/call
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "crm_create_follow_up_task",
"arguments": {
"record_id": "acct_42",
"owner_email": "rep@example.com",
"due_date": "2026-07-01",
"task": "Send security review notes and pricing options."
}
}
}Guide
Production guardrails
Keep merge, delete, ownership transfer, mass update, and stage rollback endpoints disabled until a human approves the exact workflow. Those calls are business-critical and easy for an agent to misuse from incomplete context.
Log the CRM object id, tool name, authenticated user, and trace id for every write. A sales team needs to know exactly why a task or note appeared in the CRM.
FAQ
Common questions.
Should an agent be allowed to update CRM stages?
Only through a reviewed tool with an explicit allowed stage list and audit logs. Do not expose a broad generic record update tool by default.
What CRM endpoints are safest to expose first?
Search, account lookup, contact lookup, opportunity summary, and recent activity reads are the safest first surface.