Zoho CRM MCP Server
Provides tools for interacting with Zoho CRM, enabling CRUD operations on modules, search, COQL queries, user listing, module metadata, and related-list traversal.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Zoho CRM MCP Server list the 10 most recent leads"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zoho CRM MCP Server
A Model Context Protocol (MCP) server that exposes the Zoho CRM v6 REST API as structured tools for LLM agents. Built on FastMCP with async httpx, pydantic v2 configuration, and an OAuth2 refresh-token flow.
Features
OAuth2 refresh-token exchange with in-memory access-token caching (1 hour TTL)
Automatic retry once on HTTP 401 after forcing a token refresh
Typed errors (
AuthenticationError,NotFoundError,RateLimitError,APIError)Region-aware endpoints:
com,eu,in,com.au,jpFull CRUD for any CRM module, plus search, COQL, module metadata, user listing, and related-list traversal
Related MCP server: zoho-crm-mcp
Requirements
Python 3.10+
mcp>=1.27,<2httpx>=0.27.1,<1.0.0pydantic>=2.12,pydantic-settings>=2.5.2
Install
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Configuration
All settings use the ZOHO_ env prefix (or a .env file):
Variable | Default | Description |
| - | OAuth2 client id |
| - | OAuth2 client secret |
| - | OAuth2 refresh token |
|
| One of |
|
| HTTP timeout in seconds |
Run
zoho-crm-mcpOr register it in an MCP-capable client with the stdio command above.
Tools
Tool | Zoho CRM endpoint |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Test
pytest -x --tb=shortLicense
MIT
Available Tools
11 toolscoql_queryC
Run a COQL SELECT query against Zoho CRM.
Inputs: query (required). Returns: object
create_recordC
Create one or more records in the given module.
Inputs: module (required), data (required). Returns: object
delete_recordC
Delete a single record by id.
Inputs: module (required), record_id (required). Returns: object
get_moduleC
Fetch metadata for a single module.
Inputs: module (required). Returns: object
get_recordC
Fetch a single record by id from the given module.
Inputs: module (required), record_id (required). Returns: object
list_modulesA
List every available module in the connected Zoho CRM org.
Inputs: no named parameters. Returns: object
list_recordsA
List records from a Zoho CRM module.
Args:
module: API name of the module (e.g. Leads, Contacts).
fields: Optional subset of API field names to return.
page: Page number, 1-indexed.
per_page: Page size (max 200 per Zoho CRM v6).
Inputs: module (required), fields, page, per_page. Returns: object
list_usersB
List users visible to the authenticated principal.
Args:
type: Zoho user filter, e.g. AllUsers, ActiveUsers,
DeactiveUsers, AdminUsers.
Inputs: type. Returns: object
search_recordsB
Search records by criteria, email, phone, or word.
Exactly one of the four search parameters must be supplied.
Inputs: module (required), criteria, email, phone, +3 more. Returns: object
update_recordC
Update a single record with a partial payload.
Inputs: module (required), record_id (required), data (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool targets a distinct operation (e.g., query vs. create vs. search vs. list), with no overlap. Even similar tools like list_records and search_records have clearly different parameters and purposes.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., create_record, list_modules, coql_query). The acronym 'coql' is the only minor deviation but still readable.
11 tools cover CRUD, listing, search, related records, users, and metadata. This is well-scoped for a CRM server—enough functionality without being overwhelming.
Full CRUD and search operations are present. Minor gaps include no bulk operations or advanced CRM workflows (e.g., lead conversion), but the core record management lifecycle is well covered.
Maintenance
Related MCP Connectors
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
LeadConnector / GoHighLevel MCP Pack — wraps the GoHighLevel CRM for AI agents.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Zoho CRM data through secure OAuth authentication, supporting comprehensive CRM operations including record management, search, bulk operations, and lead conversion.3MIT
- FlicenseNot gradedqualityDmaintenanceProvides live Zoho CRM data access via MCP tools, enabling queries on modules, records, fields, and related lists without syncing data.-
- AlicenseNot gradedqualityCmaintenanceWraps the Zoho CRM API v6 to enable listing, retrieving, searching, and creating records in Zoho CRM modules.162 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables AI models to interact with Zoho CRM via Model Context Protocol, supporting CRUD operations, COQL queries, search, and deal stage management.-