mcpField
M
mcp-ecc

mcp-ecc

本地服务
github.com/karljsamuel通信协作34 周前更新

关于 mcp-ecc

mcp-ecc 是统一管理邮件、日历和联系人的 MCP 服务,支持云服务商及标准协议账户,适合希望通过单一接口处理多种账户的用户,并提供按用户区分的密钥和加密凭据。

主要功能

  1. 01邮件、日历和联系人工具
  2. 02支持 Google、Microsoft 365 和 Zoho
  3. 03支持 IMAP/SMTP、CalDAV 和 CardDAV
  4. 04多用户账户与独立 API 密钥
  5. 05静态加密凭据
  6. 06提供 Web 管理界面、REST API 和 MCP 端点

适用场景

  1. 01跨服务商处理邮件
  2. 02结合邮件管理日程
  3. 03搜索和更新联系人
  4. 04通过单个部署服务多个用户

MCP 相关

向 MCP 客户端提供统一的邮件、日历、联系人和账户工具。客户端可使用每位用户的 API 密钥连接 HTTP `/mcp` 端点,也可通过 CLI 启动 stdio 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"karljsamuel-mcp-ecc": {
"command": "npx",
"args": [
"-y",
"mcp-ecc"
],
"env": {
"MCP_ENCRYPTION_KEY": "<MCP_ENCRYPTION_KEY>"
}
}
}
}
启动命令npx -y mcp-ecc
需要配置的环境变量
MCP_ENCRYPTION_KEY密钥Master key used to encrypt stored credentials (AES-256-GCM). Generate with: openssl rand -hex 32

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-ecc0.6.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-ecc

mcp-ecc

电子邮件 · 日历 · 联系人 — 一个 MCP 服务管理你的所有账户

一个 Model Context Protocol(MCP)服务,让 AI 助手能够通过统一界面读取、编写和管理你的电子邮件、日历和联系人,涵盖 Google、Microsoft 365/Outlook、Zoho,以及任何 IMAP/SMTP、CalDAV 或 CardDAV 账户。

License TypeScript Version Sponsor Node MCP Docker Multi-arch


mcp-ecc 将你的邮件、日历和联系人整合为标准化的 MCP 工具(mail.*、calendar.*、contacts.*、accounts.*),让任何 MCP 客户端(Claude、Cursor 等)都能以统一方式使用它们。

  • 每个云服务提供商只需一次 OAuth 授权,即可访问邮件、日历和联系人
  • 支持多用户——用户自行管理各自的账户,并拥有各自的 MCP API 密钥
  • 凭据在静态存储时加密(AES-256-GCM)
  • 可自托管——单个容器通过一个端口提供 Web 管理界面、REST API 和 MCP 端点

快速开始

Docker
docker run -d --name mcp-ecc \
  -p 3001:3001 \
  -e MCP_ENCRYPTION_KEY="$(openssl rand -hex 32)" \
  karljsamuel/mcp-ecc:latest

打开 http://localhost:3001 → 创建管理员账户 → 添加你的服务提供商账户。

CLI(npm)
npm install -g mcp-ecc
mcp-ecc            # interactive TUI — login, add accounts, manage everything
mcp-ecc start      # stdio MCP server for agent hosts
从源代码安装
git clone https://github.com/karljsamuel/mcp-ecc.git
cd mcp-ecc
npm install
npm run build
node packages/cli/dist/bin.js --help

升级与加密迁移

**现有安装的重要说明:**升级到 0.7.x 前,请先安装并运行最新的 0.6.x 迁移版本。

迁移版本将凭据加密从已停止维护的 CryptoJS 实现改为平台加密 API:

  • Node.js SQLite 使用 node:crypto 和经过身份验证的 AES-256-GCM。
  • Cloudflare D1 使用 Workers Web Crypto API 和经过身份验证的 AES-256-GCM。
  • 现有的 0.6.x 密文会被读取一次,并自动以新格式重新加密。
  • 新的 AES-256-GCM 值经过身份验证,迁移失败时会停止操作。
  • 旧版 CryptoJS 密文没有身份验证标签;如果遭到篡改,其完整性无法通过密码学方式验证。请备份数据库,并将旧版数据解密失败或结果异常视为迁移失败;只有在解密成功时才会覆盖值。
  • 升级期间请保持 MCP_ENCRYPTION_KEY 不变。

迁移版本成功启动并访问现有数据后,再升级到 0.7.x。0.7.x 会移除旧版 CryptoJS 读取器。升级前请备份 SQLite 数据库或 D1 数据库。

连接 MCP 客户端

使用你的专属 API 密钥(可在 Web 界面的 Settings 中查看),将客户端指向 HTTP 端点:

{
  "mcpServers": {
    "mcp-ecc": {
      "type": "http",
      "url": "http://localhost:3001/mcp",
      "headers": { "Authorization": "Bearer <your-api-key>" }
    }
  }
}

Agent 可阅读 SKILL.md 或 llms.txt,获取引导式自动设置说明。


提供商

提供商邮件日历联系人身份验证
Google (Gmail、Calendar、People)✅✅✅OAuth 2.0
Microsoft 365 / Outlook (Graph)✅✅✅OAuth 2.0
Zoho (Mail、Calendar、Contacts)✅✅✅OAuth 2.0
IMAP / SMTP(任意邮件服务器)✅❌❌应用专用密码
CalDAV(Nextcloud、Radicale、BAIKAL)❌✅❌密码
CardDAV❌❌✅密码

Microsoft 365: 应用专用密码正在逐步淘汰——请仅使用 OAuth(Microsoft Graph)。

CalDAV/CardDAV 兼容性: 这些提供商实现了标准 WebDAV(CalDAV RFC 4791、CardDAV RFC 6352)和 Basic 身份验证,应该适用于任何符合标准的服务器。已针对 Radicale 3.7.8 进行测试。 尚未针对其他服务器进行测试;仅支持 OAuth 的提供商(例如,不使用应用专用密码的 iCloud)不受支持。

部署说明:Google/Microsoft/Zoho/IMAP/SMTP/CalDAV/CardDAV 可在 Node.js 下运行(命令行或 Docker)。Cloudflare D1 可作为本地 SQLite 数据库的托管替代方案。


MCP 工具

mail.listFolders · mail.listMessages · mail.getMessage · mail.sendMessage
mail.searchMessages · mail.moveMessage · mail.setFlags · mail.deleteMessage

calendar.listCalendars · calendar.listEvents · calendar.getEvent · calendar.freeBusy
calendar.createEvent · calendar.updateEvent · calendar.deleteEvent

contacts.list · contacts.get · contacts.create · contacts.update
contacts.delete · contacts.search

accounts.list · accounts.get · accounts.add · accounts.remove · accounts.sync

包含输入架构的完整参考:docs/mcp-tools.md


文档


参与贡献

基于 dev 创建功能分支;向 dev 提交 PR。运行 npm run build 编译所有软件包。确保 Changelog.md 与 docs/ 保持同步。

支持与贡献

如果你觉得 mcp-ecc 有用,可以考虑支持其开发:


许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。