LangGraph代理CRM工具集成

该概念验证项目将LangGraph ReAct代理与Zoho MCP服务器连接,使代理能够在适当时调用Zoho CRM工具(如创建潜在客户、搜索联系人等)。

  • by Niraj123466
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Niraj123466/Generic-CRM-MCP

使用说明

Zoho MCP语言图代理(POC)

这个概念验证将LangGraph ReAct代理连接到Zoho模型上下文协议(MCP)服务器,这样代理就可以在适当的时候调用Zoho CRM工具(创建潜在客户、搜索联系人等)。

先决条件

  • Python 3.11+
  • 启用Zoho CRM工具的主动Zoho MCP服务器部署
  • Google Generative AI API密钥(Gemini 2.0 Flash)

环境变量

创建一个 .env 在项目根目录中创建文件或导出shell中的变量:

必需变量

ZOHO_MCP_URL=<copy from Zoho MCP console>
GOOGLE_API_KEY=<your Gemini API key>
  • ZOHO_MCP_URL:在Zoho MCP控制台中,打开服务器,转到 连接→ HTTP,并复制流媒体URL。
  • GOOGLE_API_KEY:从Google AI Studio生成,并确保为项目启用Gemini 2.0 Flash模型。

可选:OAuth令牌身份验证(推荐)

对于自动令牌刷新(令牌永不过期),请添加以下OAuth凭据:

ZOHO_CLIENT_ID=<your Zoho OAuth client ID>
ZOHO_CLIENT_SECRET=<your Zoho OAuth client secret>
ZOHO_REDIRECT_URI=http://localhost:8080/oauth/callback
ZOHO_SCOPE=ZohoCRM.modules.ALL
ZOHO_ACCOUNTS_SERVER=https://accounts.zoho.com
  • ZOHO_CLIENT_ID & ZOHO_CLIENT_SECRET:在以下网址创建Zoho OAuth应用程序https://api-console.zoho.com/
  • ZOHO_REDIRECT_URI:必须与Zoho OAuth应用程序中配置的重定向URI匹配
  • ZOHO_SCOPE:OAuth作用域(默认:完全CRM访问权限)
  • ZOHO_ACCOUNTS_SERVER:Zoho帐户服务器(默认值: https://accounts.zoho.com,使用 https://accounts.zoho.eu 对于欧盟来说, https://accounts.zoho.in 印度)

中的示例URL agent_config.py 是一个占位符。用你自己的端点替换它。

安装

cd /Users/nirajvaijinathmore/Desktop/dev/langgraph-zoho-mcp/zoho_mcp_agent
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

OAuth设置(一次性,令牌刷新所需)

如果您已配置OAuth凭据,请运行一次性设置以获取刷新令牌:

python setup_oauth.py

此脚本将:

  1. 生成一个授权URL供您访问
  2. 引导您完成OAuth流程
  3. 交换访问和刷新令牌的授权码
  4. 将令牌保存到 .tokens.json (自动永久刷新)

完成此一次性设置后,令牌将在到期前自动刷新。您永远不需要再次手动进行身份验证。

创建Zoho OAuth应用程序

  1. 首选https://api-console.zoho.com/
  2. 点击“添加客户端”→ “基于服务器的应用程序”
  3. 配置:
    • 客户名称:您的应用程序名称
    • 你的家园: http://localhost:8080 (或您的域名)
    • 授权重定向URI: http://localhost:8080/oauth/callback (必须匹配 ZOHO_REDIRECT_URI)
  4. 复制 客户端ID 和 客户端密钥 你的 .env 文件

运行POC

python main.py

脚本:

  1. 通过加载环境变量 agent_config.py.
  2. 如果已配置,则自动刷新OAuth令牌 (确保令牌永不过期)。
  3. 通过以下方式连接到Zoho MCP服务器 MultiServerMCPClient 带有身份验证标头。
  4. 使用以下工具发现所有Zoho CRM工具 load_mcp_tools.
  5. 启动由Gemini 2.5 Flash支持的LangGraph ReAct代理(通过 ChatGoogleGenerativeAI).
  6. 发送可操作的Zoho CRM提示,并流式传输推理+最终答案。

确保您的Zoho MCP服务器正在运行;否则,脚本将退出并显示连接错误。

许可证管理

这 token_manager.py 模块处理所有OAuth令牌操作:

  • 自动刷新:令牌在到期前5分钟刷新
  • 安全存储:令牌存储在 .tokens.json 具有限制性文件权限(600)
  • 零人工干预:初始设置后,令牌将永远自动刷新

如果您需要重新进行身份验证(例如,在撤销访问权限后),只需删除 .tokens.json 然后跑 setup_oauth.py 再一次。