使用说明
Gmail MCP服务器
用于Gmail草稿管理的模型上下文协议(MCP)服务器。允许AI助手通过安全的HTTP接口创建、读取、更新、删除和发送Gmail草稿。
特性
- 创建、列出、获取、更新、删除和发送Gmail草稿
- OAuth 2.0身份验证,自动刷新令牌
- MCP协议的HTTP传输
- 具有完全类型安全的TypeScript实现
快速开始
1.安装依赖项
npm install
2.设置Gmail API凭据
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用Gmail API
- 创建OAuth 2.0凭据(桌面应用程序类型)
- 下载凭据文件并将其另存为
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 |
凭据管理
初始设置
-
credentials.json:来自谷歌云控制台的OAuth 2.0客户端凭据
- 包含
client_id,client_secret,以及redirect_uris - 身份验证流程所需
- 看
credentials.json.example对于预期的格式
- 包含
-
token.json:首次身份验证后生成
- 包含
access_token,refresh_token,以及到期信息 - 由服务器自动创建和管理
- 看
token.json.example对于预期的格式
- 包含
令牌刷新
- 访问令牌过期时会自动刷新
- 刷新令牌被安全地存储并可重复使用
- 如果刷新失败,请重新运行身份验证流程
更新凭据
要更新凭据,请执行以下操作:
- 替换
credentials.json使用新的OAuth 2.0凭据 - 删除
token.json强制重新身份验证 - 重新启动服务器以触发新的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许可证