Zoho Crm

Registre officiel Marketing et ventes

MCP server for Zoho CRM API integration

Que pouvez-vous faire avec Zoho Crm ?

  • 🔐 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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

PYPI package zoho-crm-mcp-server
Claude Code
claude mcp add zoho-crm -e 'ZOHO_CRM_API_KEY=<your zoho_crm_api_key>' -e 'ZOHO_CRM_API_URL=<ZOHO_CRM_API_URL>' -- uvx zoho-crm-mcp-server==0.1.0
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "zoho-crm": {
            "command": "uvx",
            "args": [
                "zoho-crm-mcp-server==0.1.0"
            ],
            "env": {
                "ZOHO_CRM_API_KEY": "<your zoho_crm_api_key>",
                "ZOHO_CRM_API_URL": "<ZOHO_CRM_API_URL>"
            }
        }
    }
}

Variables d'environnement

  • ZOHO_CRM_API_KEY obligatoire secret API Key for ZOHO_CRM
  • ZOHO_CRM_API_URL API URL for ZOHO_CRM

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Zoho CRM MCP Server
  2. Zoho Crm Mcp Server
  3. Overview
  4. Features
  5. Available Tools
  6. Installation
  7. Configuration
  8. Usage
  9. Development
  10. CI/CD
  11. Architecture
  12. Error Handling
  13. Logging
  14. Contributing
  15. Troubleshooting
  16. Requirements
  17. License
  18. Support
  19. Acknowledgments

Zoho CRM MCP Server

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)
pip install zoho-crm-mcp-server
From Source
git clone https://github.com/asklokesh/zoho-crm-mcp-server.git
cd zoho-crm-mcp-server
pip install -e .
Development Installation
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:

cp .env.example .env

Edit .env with your credentials:

ZOHO_CLIENT_ID=your_client_id_here
ZOHO_CLIENT_SECRET=your_client_secret_here
ZOHO_REFRESH_TOKEN=your_refresh_token_here

# Optional configurations
ZOHO_API_DOMAIN=https://www.zohoapis.com
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_PERIOD=60
MAX_RETRIES=3
LOG_LEVEL=INFO

Usage

As a Standalone Server
zoho-crm-mcp
In Python Code
from zoho_crm_mcp import ZohoCRMMCPServer
import asyncio

async def main():
    server = ZohoCRMMCPServer()
    await server.run()

if __name__ == "__main__":
    asyncio.run(main())
Using the Zoho CRM Client
from zoho_crm_mcp import ZohoCRMClient, Config
import 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": "john.doe@example.com",
        "Company": "Acme Corp"
    })
    
    # Search for records
    results = await client.search_records(
        "Leads",
        "(Email:equals:john.doe@example.com)"
    )
    
    await client.close()

if __name__ == "__main__":
    asyncio.run(main())

Development

Running Tests
pytest tests/ -v --cov=zoho_crm_mcp
Linting
ruff check src/ tests/
ruff format src/ tests/
Building
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:

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

Questions fréquentes

Qu'est-ce que Zoho Crm ?

MCP server for Zoho CRM API integration

Comment installer Zoho Crm ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add zoho-crm -e 'ZOHO_CRM_API_KEY=<your zoho_crm_api_key>' -e 'ZOHO_CRM_API_URL=<ZOHO_CRM_API_URL>' -- uvx zoho-crm-mcp-server==0.1.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Zoho Crm ?

Oui. Il attend ZOHO_CRM_API_KEY, à renseigner dans sa configuration.

Zoho Crm est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Zoho Crm ?

Il est publié par asklokesh. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.