Zoho Crm

io.github.asklokesh由 GitHub 帳號 asklokesh 發布v0.1.0更新於 Oct 24, 2026

MCP server for Zoho CRM API integration

已驗證STDIO僅桌面效率與工作流商業與電商

概覽

AI 產生的概覽

讓助理讀取與建立 Zoho CRM 的潛在客戶、聯絡人和交易,並跨模組搜尋記錄。

可以做什麼
這個本機 MCP 伺服器把助理連接到 Zoho CRM。它提供工具來分頁取得潛在客戶與聯絡人、取得交易、建立新的潛在客戶,以及依自訂條件搜尋任一模組中的記錄。它也處理 OAuth 權杖更新、速率限制、帶退避的重試與錯誤記錄。
適用情境
當助理需要查詢或新增 Zoho CRM 記錄時使用,例如調出潛在客戶或交易來檢視,或在對話中建立潛在客戶。適合已將 Zoho CRM 作為主要客戶資料系統的團隊。
執行需求
以 Python 套件形式在本機執行(Python 3.8+),可透過 uvx 或 pip 安裝。需要 Zoho OAuth 憑證:用戶端 ID、用戶端密鑰,以及具備 ZohoCRM.modules.ALL 與 ZohoCRM.settings.ALL 權限範圍的更新權杖,還需要環境變數 ZOHO_CRM_API_KEY 與選用的 ZOHO_CRM_API_URL。需要連線至 Zoho API 的網路。
安裝前請注意
需要敏感的 Zoho OAuth 憑證(用戶端 ID、用戶端密鑰、更新權杖)以及 ZOHO_CRM_API_KEY 密鑰,應放在環境變數中而非共用檔案。create_lead 工具會寫入新記錄到實際的 CRM,search_records 可跨模組讀取資料,因此應盡量縮小更新權杖的權限範圍,並在啟用寫入前先行確認。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Zoho Crm,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Zoho CRM MCP Server

A Model Context Protocol (MCP) server for integrating Zoho CRM with GenAI applications.

Overview

This MCP server provides seamless integration with Zoho CRM, enabling AI assistants and applications to interact with your CRM data through a standardized interface.

Features

  • 🔐 OAuth 2.0 Authentication - Secure authentication with automatic token refresh
  • 📊 Comprehensive CRM Operations - Full support for Leads, Contacts, Deals, and more
  • ⚡ Rate Limiting - Built-in rate limiting to respect API quotas
  • 🔄 Automatic Retry Logic - Intelligent retry mechanism with exponential backoff
  • 🛡️ Error Handling - Robust error handling and logging
  • 🎯 MCP Protocol Compliance - Full compliance with Model Context Protocol specification
  • 🚀 Async Support - Asynchronous operations for better performance

Available Tools

The server exposes the following MCP tools:

  1. get_leads - Retrieve leads from Zoho CRM with pagination
  2. create_lead - Create new leads in Zoho CRM
  3. get_contacts - Fetch contacts with pagination support
  4. get_deals - Get deals from Zoho CRM
  5. search_records - Search across any module with custom criteria

Installation

From PyPI (when published)

bash
pip install zoho-crm-mcp-server

From Source

bash
git clone https://github.com/asklokesh/zoho-crm-mcp-server.gitcd zoho-crm-mcp-serverpip install -e .

Development Installation

bash
pip install -e ".[dev]"

Configuration

1. Set Up Zoho OAuth Credentials

  1. Go to Zoho API Console
  2. Create a new Self Client application
  3. Note your Client ID and Client Secret
  4. Generate a refresh token with required scopes:
    • ZohoCRM.modules.ALL
    • ZohoCRM.settings.ALL

2. Create Environment Configuration

Copy the example configuration:

bash
cp .env.example .env

Edit .env with your credentials:

env
ZOHO_CLIENT_ID=your_client_id_hereZOHO_CLIENT_SECRET=your_client_secret_hereZOHO_REFRESH_TOKEN=your_refresh_token_here
# Optional configurationsZOHO_API_DOMAIN=https://www.zohoapis.comRATE_LIMIT_REQUESTS=100RATE_LIMIT_PERIOD=60MAX_RETRIES=3LOG_LEVEL=INFO

Usage

As a Standalone Server

bash
zoho-crm-mcp

In Python Code

python
from zoho_crm_mcp import ZohoCRMMCPServerimport asyncio
async def main():    server = ZohoCRMMCPServer()    await server.run()
if __name__ == "__main__":    asyncio.run(main())

Using the Zoho CRM Client

python
from zoho_crm_mcp import ZohoCRMClient, Configimport asyncio
async def main():    config = Config()    client = ZohoCRMClient(config)        await client.initialize()        # Get leads    leads = await client.get_leads(page=1, per_page=50)    print(f"Found {len(leads['data'])} leads")        # Create a new lead    new_lead = await client.create_lead({        "Last_Name": "Doe",        "First_Name": "John",        "Email": "[email protected]",        "Company": "Acme Corp"    })        # Search for records    results = await client.search_records(        "Leads",        "(Email:equals:[email protected])"    )        await client.close()
if __name__ == "__main__":    asyncio.run(main())

Development

Running Tests

bash
pytest tests/ -v --cov=zoho_crm_mcp

Linting

bash
ruff check src/ tests/ruff format src/ tests/

Building

bash
python -m build

CI/CD

This project includes GitHub Actions workflows for:

  • ✅ Automated testing across Python 3.8-3.12
  • 🔍 Code quality checks with Ruff
  • 📦 Package building and validation
  • 📊 Code coverage reporting

Architecture

zoho-crm-mcp-server/├── src/zoho_crm_mcp/│   ├── __init__.py       # Package initialization│   ├── server.py         # MCP server implementation│   ├── zoho_client.py    # Zoho CRM API client│   └── config.py         # Configuration management├── tests/                # Comprehensive test suite├── .github/workflows/    # CI/CD pipelines└── pyproject.toml        # Project configuration

Error Handling

The server includes comprehensive error handling:

  • Token Expiry: Automatic token refresh when tokens expire
  • Rate Limiting: Respects API rate limits with intelligent backoff
  • Network Errors: Automatic retry with exponential backoff
  • Validation Errors: Clear error messages for invalid configurations

Logging

The server uses Python's built-in logging module. Configure log level via environment variable:

bash
export LOG_LEVEL=DEBUG  # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Troubleshooting

Common Issues

Issue: ModuleNotFoundError: No module named 'mcp' Solution: Install the MCP SDK: pip install mcp

Issue: Token refresh fails Solution: Verify your refresh token is valid and has the required scopes

Issue: Rate limit errors Solution: Adjust RATE_LIMIT_REQUESTS and RATE_LIMIT_PERIOD in your .env file

Requirements

  • Python 3.8+
  • requests >= 2.25.0
  • mcp >= 1.0.0
  • python-dotenv >= 0.19.0

License

MIT License - see LICENSE file for details

Support

For issues, questions, or contributions, please visit:

Acknowledgments


Made with ❤️ for the MCP community

來源:README.md,提交 1405998

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分