zoho-multi-mcp
zoho-multi-mcp
一个 MCP (Model Context Protocol) 服务器,将 Claude 等 AI 助手连接到您的 Zoho Mail 账户。直接从您的 AI 工作流中读取、发送、搜索、回复和删除电子邮件——并从一个轻量级进程运行任意数量的 Zoho 邮箱,而不是每个邮箱一个进程。
这是 FujiwaraChoki/zoho-mail-mcp 的一个分支(MIT 许可,见 LICENSE),增加了多账户支持。原始单账户服务器的所有功劳归功于上游作者。
为什么存在这个分支
如果您通过 MCP 运行多个 Zoho 邮箱(一个团队、一组特定于项目的发件人等),自然的设置是每个邮箱一个服务器进程。这可行,但每个进程都承担相同的固定 Bun/V8 运行时内存开销——大约 75-85MB RSS——无论邮箱多小或多空闲。三个邮箱的成本是该基线的三倍,却没有好处,因为实际的每账户状态(一个 OAuth 令牌、一个文件夹缓存)很小。
这个分支增加了一个可选的多账户模式:一个进程可以服务多个 Zoho 账户,既可以作为一个端点,由调用方指定每次调用的账户,也可以——对于现有设置更安全的选择——作为多个监听器,各自绑定自己的固定端口,每个监听器的行为与普通的单账户服务器完全一致。在生产环境中测量:3 个独立的单账户进程合计约 ~230MB RSS,合并为一个进程后约 ~90MB RSS,服务相同的 3 个邮箱。如果只需要一个邮箱,下面“多账户模式”部分之前的所有内容与上游完全一致,并且一如既往地工作。
Related MCP server: Mailing Manager MCP
工具
Tool | Description |
| 列出所有邮件文件夹 |
| 列出文件夹中的邮件,支持过滤和分页 |
| 读取特定邮件的完整内容 |
| 在所有文件夹中按关键字搜索邮件 |
| 发送新邮件 |
| 回复现有邮件(回复 / 全部回复) |
| 删除邮件(移至垃圾箱或永久删除) |
设置
1. 创建 Zoho API 客户端
前往 Zoho API 控制台(美国数据中心使用
.com)点击 添加客户端 > 自客户端
记下您的 客户端 ID 和 客户端密钥
2. 生成刷新令牌
运行交互式设置助手:
bun run setup.ts或手动操作:
在自客户端中,使用以下范围生成授权代码:
ZohoMail.accounts.READ,ZohoMail.folders.READ,ZohoMail.messages.READ,ZohoMail.messages.CREATE,ZohoMail.messages.DELETE将持续时间设置为 10 分钟,添加描述,然后点击 创建
复制生成的代码,并使用设置脚本进行交换
3. 验证凭据
ZOHO_CLIENT_ID=your_id ZOHO_CLIENT_SECRET=your_secret ZOHO_REFRESH_TOKEN=your_token bun run setup.ts --verify4. 配置您的 MCP 客户端
单账户 — Claude Code (~/.claude.json)
{
"mcpServers": {
"zoho-mail": {
"command": "bun",
"args": ["run", "/path/to/zoho-multi-mcp/src/index.ts"],
"env": {
"ZOHO_CLIENT_ID": "your_client_id",
"ZOHO_CLIENT_SECRET": "your_client_secret",
"ZOHO_REFRESH_TOKEN": "your_refresh_token",
"ZOHO_DATACENTER": "eu"
}
}
}
}Claude Desktop 的 claude_desktop_config.json 使用相同格式。
多账户模式
对于您想通过此服务器运行的每个 Zoho 账户,重复上述任何步骤一次,然后选择两种模式之一。
模式 A — 一个端点,调用方选择账户
将 ZOHO_ACCOUNTS_JSON 设置为账户的 JSON 数组,并像往常一样使用 ZOHO_HTTP_PORT(或 stdio)启动服务器。每个工具都会增加一个必需的 account 字段(您提供的 ID 的字符串枚举),每次调用都必须指明它针对哪个账户。
export ZOHO_ACCOUNTS_JSON='[
{"id": "work", "clientId": "...", "clientSecret": "...", "refreshToken": "..."},
{"id": "personal", "clientId": "...", "clientSecret": "...", "refreshToken": "..."}
]'
export ZOHO_HTTP_PORT=8010
bun run src/index.ts当您的 MCP 客户端可以接受每次调用都带有显式 account 参数,并且您希望配置单个 URL 时,此模式很合适。
模式 B — 一个进程,多个固定账户监听器
如上设置 ZOHO_ACCOUNTS_JSON,并设置 ZOHO_MULTI_PORT_JSON 将每个账户绑定到其自己的端口。每个监听器的行为都像一个真正的单账户服务器——任何工具上都没有 account 字段,与该端口上的普通单账户设置字节级相同。
export ZOHO_ACCOUNTS_JSON='[
{"id": "work", "clientId": "...", "clientSecret": "...", "refreshToken": "..."},
{"id": "personal", "clientId": "...", "clientSecret": "...", "refreshToken": "..."}
]'
export ZOHO_MULTI_PORT_JSON='[
{"id": "work", "port": 8010, "name": "zoho-mail-work"},
{"id": "personal", "port": 8011, "name": "zoho-mail-personal"}
]'
bun run src/index.ts这是在迁移现有多进程设置时使用的模式:将您的 MCP 客户端配置指向它已经使用的相同端口,启动这一个进程而不是您过去运行的几个进程,其他一切都不需要更改。name 是可选的,仅影响日志行标签。
两种模式都不是必需的——省略 ZOHO_ACCOUNTS_JSON 和 ZOHO_MULTI_PORT_JSON,服务器行为与原始单账户上游项目完全一致,直接读取 ZOHO_CLIENT_ID/ZOHO_CLIENT_SECRET/ZOHO_REFRESH_TOKEN。
环境变量
Variable | Required | Description |
| 仅单账户模式 | 来自 Zoho API 控制台的 OAuth2 客户端 ID |
| 仅单账户模式 | OAuth2 客户端密钥 |
| 仅单账户模式 | OAuth2 刷新令牌(通过设置生成) |
| 否 | Zoho 数据中心: |
| 仅多账户模式 |
|
| 仅多端口模式 |
|
| 否 | 在此端口上作为 HTTP 服务器运行,而不是 stdio |
| 否 | stdio / 单端口 HTTP 模式的日志行标签 |
功能
带自动刷新的 OAuth2 - 令牌自动刷新,无需手动干预,在多账户模式下按账户缓存
速率限制 - 内置滑动窗口速率限制器(30 次/分钟),以保持在 Zoho API 限制内
401 重试 - 自动刷新令牌并在认证失败时重试
HTML 转纯文本 - 邮件内容转换为干净的纯文本,供 AI 使用
多账户、低内存 - 参见上文“为什么存在这个分支”
要求
Bun 运行时
一个或多个具有 API 访问权限的 Zoho Mail 账户
许可证
MIT (c) 2026 Sami Hindi — 见 LICENSE。此分支中的多账户/多端口新增功能在相同许可证下发布。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceConnects AI assistants to email accounts via IMAP/SMTP, enabling reading, searching, sending, and organizing emails with features like smart drafts, scheduling, and attachment handling.2652MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage multiple email accounts with secure credentials, local full-text search, thread-aware replies, and automation.11MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to read, search, send, and reply to Zoho Mail via IMAP/SMTP using an application-specific password.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to read, send, search, reply to, and delete emails directly from a Zoho Mail account.5MIT
Related MCP Connectors
Email for AI agents — send, receive as a webhook, manage domains, templates, routing.
Email for AI agents: send mail, manage contacts, automations & webhooks. Zero-DNS first send.
Give an AI agent its own inbox — receive email as a webhook, send over a verified domain.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vasparshin/zoho-multi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server