mcpField
Z
Zoho Crm

Zoho Crm

ローカル
github.com/asklokeshビジネス・マーケティング043 週間前に更新

Zoho Crm について

Zoho Crmは、AIアプリケーションとZoho CRMを接続するMCPサーバーです。リード、連絡先、商談の取得やリード作成、CRMモジュール横断検索に対応するツールを備えています。

主な機能

  1. 01OAuth 2.0とトークン更新
  2. 02リードの取得と作成
  3. 03連絡先と商談の取得
  4. 04モジュール横断レコード検索
  5. 05レート制限とリトライ
  6. 06非同期処理

活用シーン

  1. 01Zoho CRMのリードの取得や作成
  2. 02連絡先と商談の取得
  3. 03CRMモジュール横断でのレコード検索

MCP 対応

リードや連絡先の取得、リード作成、商談取得、レコード検索などのZoho CRM操作をMCPツールとして提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"asklokesh-zoho-crm": {
"command": "uvx",
"args": [
"zoho-crm-mcp-server"
],
"env": {
"ZOHO_CRM_API_KEY": "<ZOHO_CRM_API_KEY>",
"ZOHO_CRM_API_URL": "<ZOHO_CRM_API_URL>"
}
}
}
}
起動コマンドuvx zoho-crm-mcp-server
設定が必要な環境変数
ZOHO_CRM_API_KEYシークレットAPI Key for ZOHO_CRM
ZOHO_CRM_API_URLAPI URL for ZOHO_CRM

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypizoho-crm-mcp-server0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Zoho CRM MCP サーバー

Zoho Crm MCP サーバー

GitHub stars GitHub forks GitHub watchers

License Issues Pull Requests Last Commit

Python MCP

Commit Activity Code Size Contributors

Zoho CRM を GenAI アプリケーションと連携するための Model Context Protocol(MCP)サーバーです。

概要

この MCP サーバーは Zoho CRM とシームレスに連携し、AI アシスタントやアプリケーションが標準化されたインターフェースを通じて CRM データを操作できるようにします。

特長

  • 🔐 OAuth 2.0 認証 - トークンを自動更新するセキュアな認証
  • 📊 包括的な CRM 操作 - リード、連絡先、商談などを幅広くサポート
  • ⚡ レート制限 - API のクォータを遵守するためのレート制限機能を内蔵
  • 🔄 自動リトライロジック - 指数バックオフを用いたインテリジェントなリトライ機構
  • 🛡️ エラー処理 - 堅牢なエラー処理とログ記録
  • 🎯 MCP プロトコル準拠 - Model Context Protocol 仕様に完全準拠
  • 🚀 非同期処理のサポート - パフォーマンスを向上させる非同期操作

利用可能なツール

サーバーは以下の MCP ツールを公開します。

  1. get_leads - ページネーションを使用して Zoho CRM からリードを取得
  2. create_lead - Zoho CRM に新しいリードを作成
  3. get_contacts - ページネーションに対応して連絡先を取得
  4. get_deals - Zoho CRM から商談を取得
  5. search_records - カスタム条件を指定して任意のモジュールを検索

インストール

PyPI から(公開後)
pip install zoho-crm-mcp-server
ソースから
git clone https://github.com/asklokesh/zoho-crm-mcp-server.git
cd zoho-crm-mcp-server
pip install -e .
開発用インストール
pip install -e ".[dev]"

設定

1. Zoho OAuth 認証情報を設定する
  1. Zoho API Console にアクセスします
  2. 新しい Self Client アプリケーションを作成します
  3. Client ID と Client Secret を控えます
  4. 必要なスコープを指定してリフレッシュトークンを生成します。
    • ZohoCRM.modules.ALL
    • ZohoCRM.settings.ALL
2. 環境設定を作成する

設定例をコピーします。

cp .env.example .env

認証情報を使って .env を編集します。

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

使用方法

スタンドアロンサーバーとして
zoho-crm-mcp
Python コード内で
from zoho_crm_mcp import ZohoCRMMCPServer
import asyncio

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

if __name__ == "__main__":
    asyncio.run(main())
Zoho CRM クライアントを使用する
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": "[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())

開発

テストの実行
pytest tests/ -v --cov=zoho_crm_mcp
リント
ruff check src/ tests/
ruff format src/ tests/
ビルド
python -m build

CI/CD

このプロジェクトには、以下の GitHub Actions ワークフローが含まれています。

  • ✅ Python 3.8-3.12 での自動テスト
  • 🔍 Ruff によるコード品質チェック
  • 📦 パッケージのビルドと検証
  • 📊 コードカバレッジのレポート

アーキテクチャ

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

エラー処理

サーバーには、包括的なエラー処理が組み込まれています。

  • トークンの有効期限切れ:トークンの有効期限が切れた際に自動でトークンを更新します
  • レート制限:インテリジェントなバックオフを適用して API のレート制限に従います
  • ネットワークエラー:指数バックオフを適用して自動的に再試行します
  • 検証エラー:設定が無効な場合に、明確なエラーメッセージを表示します

ロギング

サーバーでは、Python に組み込まれているロギングモジュールを使用します。環境変数でログレベルを設定してください。

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

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/AmazingFeature)
  3. 変更をコミットします(git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします(git push origin feature/AmazingFeature)
  5. プルリクエストを作成します

トラブルシューティング

よくある問題

問題:ModuleNotFoundError: No module named 'mcp' 解決方法:MCP SDK をインストールします:pip install mcp

問題:トークンの更新に失敗する 解決方法:リフレッシュトークンが有効で、必要なスコープが設定されていることを確認します

問題:レート制限エラーが発生する 解決方法:.env ファイルで RATE_LIMIT_REQUESTS と RATE_LIMIT_PERIOD を調整します

要件

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

ライセンス

MIT ライセンス - 詳細は LICENSE ファイルをご覧ください

サポート

問題、質問、貢献については、以下をご覧ください。

謝辞

  • Model Context Protocol - MCP の仕様
  • Zoho CRM API - API ドキュメント
  • このプロジェクトの改善に協力してくださったすべてのコントリビューター

MCP コミュニティに ❤️ を込めて

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。