Zoho CRM MCP服务器
模型上下文协议(MCP)服务器,用于公开Zoho CRM v6REST API 作为LLM代理的结构化工具。基于FastMCP和异步httpx构建, pydantic v2配置和OAuth2刷新令牌流。
特性
- OAuth2刷新令牌交换与内存访问令牌缓存(1小时TTL)
- 强制令牌刷新后,在HTTP 401上自动重试一次
- 键入错误(
AuthenticationError,NotFoundError,RateLimitError,APIError) - 区域感知端点:
com,eu,in,com.au,jp - 任何CRM模块的完整CRUD,加上搜索、COQL、模块元数据,
用户列表和相关列表遍历
需求
- Python 3.10+
mcp>=1.27,=0.27.1,=2.12,pydantic-settings>=2.5.2
安装
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"配置
所有设置都使用 ZOHO_ env前缀(或 .env 文件):
| 变量 | 默认值 | 描述 |
|---|---|---|
ZOHO_CLIENT_ID | OAuth2客户端id | |
ZOHO_CLIENT_SECRET | - | OAuth2客户端机密 |
ZOHO_REFRESH_TOKEN | - | OAuth2刷新令牌 |
ZOHO_REGION | com | 其中之一 com, eu, in, com.au, jp |
ZOHO_TIMEOUT | 30 | HTTP超时(秒) |
跑
zoho-crm-mcp或者使用上面的stdio命令在支持MCP的客户端中注册它。
工具
| 工具 | Zoho CRM端点 |
|---|---|
list_records | GET /crm/v6/{module} |
get_record | GET /crm/v6/{module}/{id} |
create_record | POST /crm/v6/{module} |
update_record | PUT /crm/v6/{module}/{id} |
delete_record | DELETE /crm/v6/{module}/{id} |
search_records | GET /crm/v6/{module}/search |
list_modules | GET /crm/v6/settings/modules |
get_module | GET /crm/v6/settings/modules/{module} |
list_users | GET /crm/v6/users |
coql_query | POST /crm/v6/coql |
list_related_records | GET /crm/v6/{module}/{id}/{related_list} |
测试
pytest -x --tb=short许可证
麻省理工学院
