邮件管理服务器

Zoho Mail MCP服务器是一个连接AI助手与Zoho Mail的服务,提供邮件阅读、搜索、发送、调度和组织功能。

  • by FujiwaraChoki
  • TypeScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 FujiwaraChoki/zoho-mail-mcp

使用说明

Zoho邮件MCP服务器

一 MCP(模型上下文协议) 将AI助手连接到Zoho Mail的服务器。通过官方Zoho mail REST API阅读、搜索、发送、安排、组织和下载邮件。

工具

工具 说明
list_accounts 检查可访问帐户和所选帐户
list_folders 列出未读/总计数的邮件文件夹
manage_folder 创建、重命名、移动、标记为已读、清空或删除文件夹
list_labels 列出带有颜色和ID的标签
manage_label 创建、更新或删除标签
list_emails 列出具有丰富过滤、排序和分页功能的电子邮件
read_email 阅读特定电子邮件的完整内容
search_emails 使用纯文本或Zoho的高级语法进行搜索
send_email 发送或安排带有收据和附件的电子邮件
save_draft 保存草稿或模板,包括回复线程
reply_email 立即或按计划回复或全部回复
update_emails 批量读取、移动、标记、标签、存档和垃圾邮件操作
list_attachments 列出附件名称、大小和ID
download_attachment 在本地安全下载附件
delete_email 垃圾箱或永久删除,并明确确认

设置

1.创建Zoho API客户端

  1. 去 Zoho API控制台 (使用 .com 美国数据中心)
  2. 点击 添加客户端 > 自助客户端
  3. 注意你的 客户端ID 和 客户端密钥

2.生成刷新令牌

运行交互式安装帮助程序:

bun run setup.ts

或手动:

  1. 在自助客户端中,生成具有以下作用域的授权代码:
    ZohoMail.accounts.READ,ZohoMail.folders.ALL,ZohoMail.messages.ALL,ZohoMail.tags.ALL
    
  2. 将持续时间设置为10分钟,添加描述,然后单击 创建
  3. 复制生成的代码,并使用安装脚本进行交换

3.验证凭据

ZOHO_CLIENT_ID=your_id ZOHO_CLIENT_SECRET=your_secret ZOHO_REFRESH_TOKEN=your_token bun run setup.ts --verify

4.配置您的MCP客户端

克劳德代码(~/.claude.json)

{
  "mcpServers": {
    "zoho-mail": {
      "command": "bun",
      "args": ["run", "/path/to/zoho-mail-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_config.json)

{
  "mcpServers": {
    "zoho-mail": {
      "command": "bun",
      "args": ["run", "/path/to/zoho-mail-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"
      }
    }
  }
}

环境变量

变量 必填 描述
ZOHO_CLIENT_ID 是 Zoho API控制台的OAuth2客户端ID
ZOHO_CLIENT_SECRET 是 OAuth2客户端密码
ZOHO_REFRESH_TOKEN 是 OAuth2刷新令牌(通过设置生成)
ZOHO_DATACENTER 否 Zoho数据中心: eu (默认), us, in, au, jp, ca, sa,或 uk
ZOHO_ACCOUNT_ID 否 选择特定的可访问帐户ID
ZOHO_ACCOUNT_EMAIL 否 按主地址或别名选择帐户
ZOHO_REQUEST_TIMEOUT_MS 否 每次请求超时;默认为 30000
ZOHO_MAX_RETRIES 否 网络/429/5xx重试;默认为 3
ZOHO_RATE_LIMIT_PER_MINUTE 否 本地请求节流;默认为 30

特征

  • 带有序列化自动刷新功能的OAuth2 -并发请求共享令牌刷新
  • 弹性HTTP客户端 -超时、指数重试, Retry-After,以及结构化Zoho错误
  • 多数据中心和多账户支持 -路由到八个Zoho区域并明确选择邮箱
  • 安全破坏性操作 -永久删除、清空文件夹和覆盖需要确认
  • 丰富的搜索 -纯文本、精确短语、字段、文件夹、标签、日期、标志、附件和对话
  • 邮箱工作流 -草稿、模板、日程安排、全部回复、附件、标签、文件夹和批量更新
  • HTML转换为纯文本 -电子邮件内容转换为干净的纯文本供AI使用

搜索行为

search_emails 将普通文本转换为Zoho所需的搜索语法。例如, quarterly report 在整个消息中搜索这两个单词。使用 exactPhrase=true 对于确切的短语,请选择 field 例如 subject 或 sender,或传递一个完整的表达式,例如 subject:Invoice::has:attachment 与 rawSyntax=true.

发展

bun install
bun run typecheck
bun test

需求

  • 包子 运行时
  • 具有API访问权限的Zoho Mail帐户

许可证

麻省理工学院