Gmail草稿管理服务

一个用于Gmail草稿管理的模型上下文协议(MCP)服务器,允许AI助手通过安全的HTTP接口创建、读取、更新、删除和发送Gmail草稿。

  • by ShijoeBytesBric
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 shijoebytesbric/gmail-mcp

使用说明

Gmail MCP服务器

用于Gmail草稿管理的模型上下文协议(MCP)服务器。允许AI助手通过安全的HTTP接口创建、读取、更新、删除和发送Gmail草稿。

特性

  • 创建、列出、获取、更新、删除和发送Gmail草稿
  • OAuth 2.0身份验证,自动刷新令牌
  • MCP协议的HTTP传输
  • 具有完全类型安全的TypeScript实现

快速开始

1.安装依赖项

npm install

2.设置Gmail API凭据

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用Gmail API
  4. 创建OAuth 2.0凭据(桌面应用程序类型)
  5. 下载凭据文件并将其另存为 credentials.json 在项目根中

3.生成身份验证令牌

运行服务器一次以触发OAuth流:

npm run build
npm start

这将:

  • 打开浏览器进行Gmail身份验证
  • 生成一个 token.json 使用您的访问和刷新令牌的文件
  • 安全地存储令牌以备将来使用

4.配置环境(可选)

复制 .env.example 向 .env 并根据需要进行定制:

PORT=3000
HOST=localhost
CREDENTIALS_PATH=./credentials.json
TOKEN_PATH=./token.json
LOG_LEVEL=info

5.启动服务器

npm start

服务器将在上运行 http://localhost:3000

客户端配置

要将MCP客户端连接到此服务器,请使用以下配置:

{
  "mcpServers": {
    "gmail": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

可用工具

工具 说明 必需参数
create_gmail_draft 创建新的电子邮件草稿 to, subject, body
list_gmail_drafts 列出现有草稿 无
get_gmail_draft 获取草稿详细信息 draftId
update_gmail_draft 更新现有草案 draftId
delete_gmail_draft 删除草稿 draftId
send_gmail_draft 以电子邮件形式发送草稿 draftId

凭据管理

初始设置

  1. credentials.json:来自谷歌云控制台的OAuth 2.0客户端凭据

    • 包含 client_id, client_secret,以及 redirect_uris
    • 身份验证流程所需
    • 看 credentials.json.example 对于预期的格式
  2. token.json:首次身份验证后生成

    • 包含 access_token, refresh_token,以及到期信息
    • 由服务器自动创建和管理
    • 看 token.json.example 对于预期的格式

令牌刷新

  • 访问令牌过期时会自动刷新
  • 刷新令牌被安全地存储并可重复使用
  • 如果刷新失败,请重新运行身份验证流程

更新凭据

要更新凭据,请执行以下操作:

  1. 替换 credentials.json 使用新的OAuth 2.0凭据
  2. 删除 token.json 强制重新身份验证
  3. 重新启动服务器以触发新的OAuth流

发展

# Development mode with auto-reload
npm run dev

# Build TypeScript
npm run build

# Run linting
npm run lint

# Format code
npm run format

故障排除

身份验证问题:

  • 确保在Google云控制台中启用Gmail API
  • 检查一下 credentials.json 包含有效的OAuth 2.0凭据
  • 删除 token.json 并重新启动以重新进行身份验证

连接问题:

  • 验证服务器是否在正确的端口上运行(默认值:3000)
  • 如果远程访问,请检查防火墙设置
  • 确保MCP客户端配置与服务器URL匹配

权限问题:

  • 在OAuth流程中授予必要的Gmail权限
  • 查看Google云控制台了解API配额和限制

许可证

MIT许可证