Token导航 LogoToken导航TokenDH.com
Zoho MCP Server logo
办公协作未说明官方级别未说明来源级核验

Zoho MCP Server

MCP Server

一个统一的模型上下文协议(MCP)服务器,提供Zoho CRM和Zoho Books之间的无缝集成,使AI助手能够通过标准化工具与两个系统交互。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
CRM集成TypeScriptClaude工作流自动化Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Mgabr90

提供方

Mgabr90

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Zoho CRM+图书MCP服务器

一个统一的模型上下文协议(MCP)服务器,提供Zoho CRM和Zoho Books之间的无缝集成,使像Claude这样的人工智能助手能够通过标准化的工具和资源与这两个系统进行交互。

特性

  • CRM集成:完全访问Zoho CRM模块、记录和操作
  • 图书集成:完成Zoho Books客户和发票管理
  • 数据同步:CRM帐户和图书客户之间的自动同步
  • 发票创建:直接从CRM交易生成图书发票
  • 通用搜索:在CRM和图书数据中搜索
  • 多配置系统:管理不同环境和项目的多个OAuth配置
  • OAuth 2.0身份验证:安全的、基于令牌的身份验证
  • 速率限制:内置速率限制和错误处理
  • TypeScript:全类型安全和出色的开发人员体验

先决条件

  • Node.js 18.0.0或更高版本
  • 具有API访问权限的Zoho CRM帐户
  • 拥有API访问权限的Zoho Books帐户
  • Zoho OAuth应用程序凭据

安装

  1. 克隆存储库:
git clone 
cd zoho-mcp-server
  1. 安装依赖项:
npm install
  1. 复制环境配置:
cp .env.example .env
  1. 在中配置环境变量 .env:

单一配置(传统)

# Zoho OAuth Configuration
ZOHO_CLIENT_ID=your_client_id_here
ZOHO_CLIENT_SECRET=your_client_secret_here
ZOHO_REDIRECT_URI=http://localhost:3000/callback
ZOHO_REFRESH_TOKEN=your_refresh_token_here

# Zoho Data Center (com, eu, in, com.au, jp)
ZOHO_DATA_CENTER=com

# Zoho Books Organization ID (required for Books functionality)
ZOHO_BOOKS_ORGANIZATION_ID=your_organization_id_here

# Zoho API Scopes
ZOHO_SCOPES=ZohoCRM.modules.ALL,ZohoCRM.settings.ALL,ZohoBooks.fullaccess.all

多配置系统(推荐)

# Enable multi-configuration system
MULTI_CONFIG_ENABLED=true

# Current environment to use
MULTI_CONFIG_ENVIRONMENT=default

# Path to configuration file (optional)
MULTI_CONFIG_PATH=./zoho-config.json

# Legacy variables (for backward compatibility)
ZOHO_CLIENT_ID=your_client_id_here
ZOHO_CLIENT_SECRET=your_client_secret_here
ZOHO_REDIRECT_URI=http://localhost:3000/callback
ZOHO_REFRESH_TOKEN=your_refresh_token_here
ZOHO_DATA_CENTER=com
ZOHO_BOOKS_ORGANIZATION_ID=your_organization_id_here
ZOHO_SCOPES=ZohoCRM.modules.ALL,ZohoCRM.settings.ALL,ZohoBooks.fullaccess.all

有关详细的多配置设置,请参阅 MULTI_CONFIG_GUIDE.md.

Zoho OAuth设置

  1. 转到 Zoho开发者控制台
  2. 创建新的“基于服务器的应用程序”
  3. 将重定向URI设置为 http://localhost:3000/callback
  4. 记下您的客户端ID和客户端密码
  5. 使用授权流生成刷新令牌

构建并运行

  1. 构建TypeScript代码:
npm run build
  1. 启动服务器:
npm start

对于自动重新加载的开发:

npm run dev

MCP集成

Claude桌面配置

将以下内容添加到您的Claude Desktop MCP配置中:

{
  "mcpServers": {
    "zoho-crm-books": {
      "command": "node",
      "args": ["C:\\zoho-mcp-server\\dist\\server.js"],
      "env": {
        "ZOHO_CLIENT_ID": "your_client_id",
        "ZOHO_CLIENT_SECRET": "your_client_secret",
        "ZOHO_REFRESH_TOKEN": "your_refresh_token",
        "ZOHO_DATA_CENTER": "com",
        "ZOHO_BOOKS_ORGANIZATION_ID": "your_org_id"
      }
    }
  }
}

VS代码配置

添加到您的VS代码MCP配置中:

{
  "servers": {
    "zoho-crm-books": {
      "command": "node",
      "args": ["C:\\zoho-mcp-server\\dist\\server.js"]
    }
  }
}

可用工具

CRM和图书集成工具

1.向客户同步计数

将CRM帐户与图书客户同步。

参数:

  • source_module:“账户”(固定)
  • target_module:“客户”(固定)
  • filters (可选):

- limit:要处理的记录数(1-200) - page:要处理的页码

例子:

{
  "source_module": "accounts",
  "target_module": "customers",
  "filters": {
    "limit": 50,
    "page": 1
  }
}

1.1.sync_contacts_to_客户

将CRM联系人同步到图书客户(双向同步)。

参数:

  • source_module:“联系人”(固定)
  • target_module:“客户”(固定)
  • filters (可选):

- limit:要处理的记录数(1-200) - page:要处理的页码

例子:

{
  "source_module": "contacts",
  "target_module": "customers",
  "filters": {
    "limit": 50,
    "page": 1
  }
}

1.2.sync_customers_to_ctacts

将图书客户与CRM联系人同步(双向同步)。

参数:

  • source_module:“客户”(固定)
  • target_module:“联系人”(固定)
  • filters (可选):

- limit:要处理的记录数(1-200) - page:要处理的页码

例子:

{
  "source_module": "customers",
  "target_module": "contacts",
  "filters": {
    "limit": 50,
    "page": 1
  }
}

2.create_invoice_from_deal

根据CRM交易创建图书发票。

参数:

  • deal_id:CRM交易ID(必填)
  • customer_id:书籍客户ID(可选)
  • invoice_date:发票日期(可选,默认为今天)
  • due_date:截止日期(可选,默认为从今天起30天)
  • include_line_items:将交易金额作为行项目包含(默认值:true)
  • send_email:向客户发送发票电子邮件(默认值:false)

例子:

{
  "deal_id": "123456789",
  "customer_id": "987654321",
  "include_line_items": true,
  "send_email": true
}

3.搜索记录

在CRM和图书记录中搜索。

参数:

  • module:搜索模块(“账户”、“联系人”、“交易”、“线索”、“客户”、“发票”)
  • criteria:搜索条件(必填)
  • fields:要返回的字段(可选)
  • page:页码(默认值:1)
  • per_page:每页结果数(默认值:20,最大值:200)

例子:

{
  "module": "accounts",
  "criteria": "tech company",
  "fields": ["Account_Name", "Email", "Phone"],
  "page": 1,
  "per_page": 10
}

图书项目管理工具

4.书籍_物品

通过可选的筛选和分页从图书中获取所有项目。

参数:

  • page:页码(默认值:1)
  • per_page:每页结果数(默认值:20,最大值:200)
  • search_text:搜索文本(可选)
  • filter_by:筛选条件(可选)
  • sort_column:排序依据的列(可选)
  • sort_order:排序顺序“A”或“D”(可选)

5.书籍_物品

按ID从图书中获取特定项目。

参数:

  • item_id:项目ID(必填)

6.书籍_创建_项目

在书籍中创建新项目。

参数:

  • name:项目名称(必填)
  • description:项目描述(可选)
  • rate:项目费率(可选)
  • unit:计量单位(可选)
  • sku:库存单位(可选)
  • product_type:产品类型(可选)
  • is_taxable:项目是否应纳税(可选)
  • tax_id:税号(可选)
  • item_type:项目类型(可选)

7.书籍_更新_项目

更新图书中的现有项目。

参数:

  • item_id:项目ID(必填)
  • 加上以下任何字段 books_create_item 更新

8.书籍_删除_项目

从书籍中删除项目。

参数:

  • item_id:项目ID(必填)

图书估价管理工具

9.书籍_估算

通过可选的过滤和分页功能从图书中获取所有估计值。

参数:

  • page:页码(默认值:1)
  • per_page:每页结果数(默认值:20,最大值:200)
  • customer_id:按客户ID筛选(可选)
  • status:按状态筛选(可选)
  • search_text:搜索文本(可选)
  • filter_by:筛选条件(可选)
  • sort_column:排序依据的列(可选)
  • sort_order:排序顺序“A”或“D”(可选)

10.书籍_创造_估计

在图书中创建新的估算。

参数:

  • customer_id:客户ID(必填)
  • line_items:行项目数组(必填)

- name:项目名称(必填) - quantity:数量(必填) - rate:费率(必填) - description:描述(可选) - unit:单位(可选) - item_id:项目ID(可选) - tax_id:税号(可选)

  • estimate_date:估计日期(可选)
  • expiry_date:到期日期(可选)
  • currency_code:货币代码(可选)
  • discount:折扣金额(可选)
  • notes:备注(可选)
  • terms:条款(可选)

11.书籍_转换_估算_转语音

将图书估价转换为发票。

参数:

  • estimate_id:估算ID(必填)

图书付款管理工具

12.书籍_付款

通过可选的过滤和分页功能从图书中获取所有付款。

参数:

  • page:页码(默认值:1)
  • per_page:每页结果数(默认值:20,最大值:200)
  • customer_id:按客户ID筛选(可选)
  • search_text:搜索文本(可选)
  • filter_by:筛选条件(可选)
  • sort_column:排序依据的列(可选)
  • sort_order:排序顺序“A”或“D”(可选)

13.书籍_创建_付款

在图书中创建新付款。

参数:

  • customer_id:客户ID(必填)
  • payment_mode:付款方式(必填)
  • amount:付款金额(必填)
  • date:付款日期(必填)
  • invoices:用于付款的发票数组(必填)

- invoice_id:发票ID(必填) - invoice_number:发票号码(必填) - amount_applied:发票金额(必填) - tax_amount_withheld:扣缴税额(可选)

  • reference_number:参考号(可选)
  • description:付款说明(可选)
  • bank_charges:银行手续费(可选)
  • currency_code:货币代码(可选)
  • exchange_rate:汇率(可选)

CRM活动管理工具

14.crm_get_tasks

通过可选的筛选和分页从CRM获取所有任务。

参数:

  • page:页码(默认值:1)
  • per_page:每页结果数(默认值:20,最大值:200)
  • sort_by:排序依据的列(可选)
  • sort_order:排序顺序“asc”或“desc”(可选)
  • status:按状态筛选(可选)
  • due_date:按截止日期筛选(可选)

15.crm_create_task

在CRM中创建新任务。

参数:

  • Subject:任务主题(必填)
  • Status:任务状态(可选)
  • Priority:任务优先级(可选)
  • Due_Date:截止日期(可选)
  • What_Id:相关记录ID(可选)
  • Who_Id:联系人ID(可选)
  • Description:任务描述(可选)
  • Related_To:与字段相关(可选)
  • Remind_At:提醒时间(可选)
  • Recurring_Activity:重复活动设置(可选)

16.crm_get_events

通过可选的筛选和分页从CRM获取所有事件。

参数:

  • page:页码(默认值:1)
  • per_page:每页结果数(默认值:20,最大值:200)
  • sort_by:排序依据的列(可选)
  • sort_order:排序顺序“asc”或“desc”(可选)
  • start_date:按开始日期筛选(可选)
  • end_date:按结束日期筛选(可选)

17.crm_create_event

在CRM中创建新事件。

参数:

  • Subject:活动主题(必填)
  • Start_DateTime:开始日期和时间(必填)
  • End_DateTime:结束日期和时间(必填)
  • Description:事件描述(可选)
  • Location:活动地点(可选)
  • What_Id:相关记录ID(可选)
  • Who_Id:联系人ID(可选)
  • Event_Title:事件标题(可选)
  • All_day:全天活动标志(可选)
  • Participants:参与者ID数组(可选)
  • Remind_At:提醒时间(可选)
  • Recurring_Activity:重复活动设置(可选)

18.crm_get_notes

获取特定CRM记录的注释。

参数:

  • module:CRM模块名称(必填)
  • record_id:记录ID(必填)
  • page:页码(默认值:1)
  • per_page:每页结果数(默认值:20,最大值:200)

19.crm_create_note

为CRM记录创建新注释。

参数:

  • module:CRM模块名称(必填)
  • record_id:记录ID(必填)
  • Note_Title:注释标题(必填)
  • Note_Content:备注内容(必填)
  • Parent_Id:父记录ID(可选)

20.crm_send_email

发送电子邮件以获取CRM记录。

参数:

  • module:CRM模块名称(必填)
  • record_id:记录ID(必填)
  • to:收件人电子邮件地址数组(必填)
  • subject:电子邮件主题(必填)
  • content:电子邮件内容(必填)
  • cc:CC电子邮件地址数组(可选)
  • bcc:BCC电子邮件地址数组(可选)
  • mail_format:电子邮件格式(可选)
  • template_id:电子邮件模板ID(可选)

21.crm_get_attachments

获取CRM记录的附件。

参数:

  • module:CRM模块名称(必填)
  • record_id:记录ID(必填)
  • page:页码(默认值:1)
  • per_page:每页结果数(默认值:20,最大值:200)

配置管理工具

22.配置列表环境

列出多配置系统中的所有可用环境。

参数:

例子:

{
  "name": "config_list_environments",
  "arguments": {}
}

23.配置开关环境

切换到其他环境。

参数:

  • environmentName:要切换到的环境名称(必需)

例子:

{
  "name": "config_switch_environment",
  "arguments": {
    "environmentName": "production"
  }
}

24.配置列表文件

列出当前环境中的所有配置文件。

参数:

例子:

{
  "name": "config_list_profiles",
  "arguments": {}
}

25.配置开关文件

在当前环境中切换到其他配置文件。

参数:

  • profileName:要切换到的配置文件的名称(必需)

例子:

{
  "name": "config_switch_profile",
  "arguments": {
    "profileName": "backup"
  }
}

26.配置_添加_文件

将新配置文件添加到当前环境中。

参数:

  • name:配置文件名称(必填)
  • description:配置文件描述(可选)
  • clientId:Zoho客户端ID(必填)
  • clientSecret:Zoho客户端密码(必填)
  • redirectUri:重定向URI(必需)
  • refreshToken:刷新令牌(必需)
  • dataCenter:数据中心(必填)
  • scopes:API作用域数组(必需)
  • organizationId:图书组织ID(可选)

例子:

{
  "name": "config_add_profile",
  "arguments": {
    "name": "backup",
    "description": "Backup production account",
    "clientId": "1000.BACKUP_CLIENT_ID",
    "clientSecret": "BACKUP_CLIENT_SECRET",
    "redirectUri": "https://yourdomain.com/callback",
    "refreshToken": "1000.BACKUP_REFRESH_TOKEN",
    "dataCenter": "com",
    "scopes": [
      "ZohoCRM.modules.ALL",
      "ZohoCRM.settings.ALL",
      "ZohoBooks.fullaccess.all"
    ],
    "organizationId": "BACKUP_ORG_ID"
  }
}

27.config_remove_file

从当前环境中删除配置文件。

参数:

  • profileName:要删除的配置文件的名称(必需)

例子:

{
  "name": "config_remove_profile",
  "arguments": {
    "profileName": "old-profile"
  }
}

28.配置更新文件

更新现有配置文件。

参数:

  • profileName:要更新的配置文件的名称(必需)
  • updates:包含要更新的字段的对象(必需)

例子:

{
  "name": "config_update_profile",
  "arguments": {
    "profileName": "primary",
    "updates": {
      "description": "Updated description",
      "refreshToken": "1000.NEW_REFRESH_TOKEN"
    }
  }
}

29.配置_获取_状态

获取当前配置状态。

参数:

例子:

{
  "name": "config_get_status",
  "arguments": {}
}

30.配置导出环境

将当前配置导出为.env格式。

参数:

  • profileName:要导出的配置文件的名称(可选,默认为活动配置文件)

例子:

{
  "name": "config_export_to_env",
  "arguments": {
    "profileName": "primary"
  }
}

31.config_add_environment

添加新环境。

参数:

  • name:环境名称(必填)
  • description:环境描述(可选)

例子:

{
  "name": "config_add_environment",
  "arguments": {
    "name": "staging",
    "description": "Staging environment for testing"
  }
}

32.配置移除环境

删除环境。

参数:

  • name:要删除的环境名称(必填)

例子:

{
  "name": "config_remove_environment",
  "arguments": {
    "name": "old-environment"
  }
}

可用资源

1.zoho://crm/modules

返回所有可用的CRM模块及其配置。

2.zoho://books/organizations

返回图书组织信息。

使用示例

Claude桌面集成

配置后,您可以将服务器与Claude Desktop一起使用:

@zoho-crm-books sync_accounts_to_customers with limit 10

@zoho-crm-books create_invoice_from_deal for deal ID 123456789

@zoho-crm-books search_records in accounts for "technology"

编程接口

您还可以通过编程方式使用服务器:

import { ZohoMCPServer } from './src/server';

const server = new ZohoMCPServer();
await server.start();

错误处理

服务器包括全面的错误处理:

  • 身份验证错误:401错误时自动刷新令牌
  • 速率限制:对429个错误进行指数级回退
  • 验证错误:带有详细错误消息的输入验证
  • 网络错误:具有可配置超时的重试逻辑

监控和日志记录

服务器包括内置监控:

  • 请求/响应日志记录
  • 性能指标
  • 误差跟踪
  • 健康检查

安全

  • OAuth 2.0基于令牌的身份验证
  • 安全的令牌存储和刷新
  • 输入验证和净化
  • 速率限制保护
  • HTTPS强制

发展

项目结构

src/
├── auth/               # OAuth authentication
├── clients/            # API clients (CRM, Books)
├── tools/              # MCP tools implementation
├── resources/          # MCP resources implementation
├── types/              # TypeScript type definitions
└── server.ts           # Main server implementation

测试

使用以下工具运行测试:

npm test

代码检查

npm run lint

格式化

npm run format

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

支持

对于问题和疑问:

  • 在GitHub上创建问题
  • 查看Zoho API文档
  • 审查MCP规范

更新日志

v1.0.0

  • 初始版本
  • CRM和图书集成
  • OAuth 2.0身份验证
  • 基本同步功能
  • MCP服务器实现

目录标签

目录标签

CRM集成TypeScriptClaude工作流自动化本地部署财务系统集成数据同步自动化工作流企业资源管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP