使用说明
gmail mcp
FastMCP服务器用于Gmail集成,支持阅读、发送、起草、, 回复、转发电子邮件和管理标签。
安装
# Clone the repository
git clone https://github.com/Karthik152299/gmail-mcp.git
cd gmail-mcp
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
设置
- 创建谷歌云项目并启用Gmail API
- 创建OAuth 2.0凭据(桌面应用程序)
- 下载凭据并另存为
credentials.json在项目根中 - 运行服务器一次以完成OAuth流程:
python server.py - 如果修改范围,请删除
token.json并重新验证
MCP工具
阅读电子邮件
get_message(message_id, format?)-通过ID获取一封电子邮件get_thread(thread_id, format?)-获取包含所有消息的电子邮件线程list_threads(query?, max_results?, label_ids?, page_token?)-列表/搜索线程list_labels()-列出所有Gmail标签
草稿
draft_email(to, subject, body, html_body?, attachments?)-创建草稿draft_email_from_template(to, subject, template, variables, ...)-从模板创建草稿list_drafts()-列出所有已保存的草稿delete_draft(draft_id)-删除草稿send_draft(draft_id, confirm)-发送草稿(需要确认=真)
发送
reply_message(message_id, body, confirm, ...)-回复消息forward_message(message_id, to, body, confirm, ...)-转发消息
组织
modify_labels(message_id, add_labels?, remove_labels?)-添加/删除标签mark_as_read(message_id)-将邮件标记为已读mark_as_unread(message_id)-将邮件标记为未读trash_message(message_id, confirm)-移至垃圾箱(需要确认=真)
公用事业
render_template(template, variables)-预览模板渲染
例子
阅读最近的电子邮件
{
"tool": "list_threads",
"args": {"query": "newer_than:7d", "max_results": 10}
}
阅读特定消息
{
"tool": "get_message",
"args": {"message_id": "18abc123def"}
}
起草并发送电子邮件
{
"tool": "draft_email",
"args": {
"to": "recipient@example.com",
"subject": "Hello",
"body": "Plain text body",
"html_body": "<p>HTML body</p>",
"attachments": [{"path": "/path/to/file.pdf"}]
}
}
{
"tool": "send_draft",
"args": {"draft_id": "uuid-here", "confirm": true}
}
使用模板
{
"tool": "draft_email_from_template",
"args": {
"to": "user@example.com",
"subject": "Welcome",
"template": "Hi {name}, your code is {code}",
"variables": {"name": "Alice", "code": "12345"}
}
}
回复消息
{
"tool": "reply_message",
"args": {
"message_id": "18abc123def",
"body": "Thanks for your email!",
"confirm": true
}
}
搜索电子邮件
{
"tool": "list_threads",
"args": {"query": "from:boss@company.com is:unread", "max_results": 5}
}
附件格式
每个附件条目支持:
path:要附加的本地文件路径content_base64:Base64编码文件内容filename:使用时需要content_base64mime_type:可选MIME类型覆盖