使用说明
Gmail MCP服务器
MCP(模型上下文协议)服务器,允许AI助手阅读Gmail电子邮件并创建草稿回复。
特性
- 🔍 搜索电子邮件 通过查询、标记或获取所有电子邮件
- 📧 获取未读电子邮件 来自收件箱
- 📄 获取电子邮件详细信息 包括发件人、主题、正文和线程ID
- ✍️ 创建答复草稿 与原始电子邮件正确关联
- 🔒 安全OAuth 2.0 使用Gmail API进行身份验证
先决条件
- Python 3.11+
- Gmail帐户
- 启用Gmail API的Google云控制台项目
- Claude Desktop(用于使用AI助手进行测试)
- 人类API密钥(console.anthropic.com)
- 一个OpenAI API密钥(platform.openai.com)
安装说明
1.谷歌云设置
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用 Gmail API:
- 导航到“API和服务”>“库”
- 搜索“Gmail API”并启用它
- 创建OAuth 2.0凭据:
- 转到“API和服务”>“凭据”
- 点击“创建凭据”>“OAuth 2.0客户端ID”
- 选择“桌面应用程序”
- 下载JSON文件并将其另存为
client-secret.json在项目根中
2.项目设置
# Clone the repository
git clone <your-repo-url>
cd mcp-project
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
or
pip install -U mcp 'mcp[cli]' google-api-python-client google-auth-httplib2 google-auth-oauthlib
3.身份验证
运行初始身份验证设置(确保您的令牌已过期,并事先将其删除):
ALLOW_INTERACTIVE_OAUTH=1 .venv/bin/python mcp_gmail.py
这将:
- 打开浏览器获取Gmail OAuth同意
- 在本地保存身份验证令牌
- 允许MCP服务器在没有浏览器弹出窗口的情况下访问Gmail
4.克劳德桌面配置
我的Claude桌面配置文件(Claude/Claude_Desktop_config.json):
{
"mcpServers": {
"Gmail": {
"command": "/Users/georgeklemperer/se-projects/mcp-project/.venv/bin/python",
"args": ["/Users/georgeklemperer/se-projects/mcp-project/mcp_gmail.py"],
"env": { "PYTHONUNBUFFERED": "1" }
}
}
}
注: 更新路径以匹配您的实际项目位置。
| 工具名称 | 描述 | 参数 |
|---|---|---|
Gmail-Search-Emails |
按查询/标签搜索电子邮件 | query, label, max_results, next_page_token |
Gmail-Get-Unread-Emails |
从收件箱获取未读电子邮件 | max_results |
Gmail-Get-Email-Message-Details |
通过邮件ID获取电子邮件详细信息 | msg_id |
Gmail-Get-Email-Message-Body |
获取完整的电子邮件正文内容 | msg_id |
Gmail-Create-Draft-Reply |
创建线程化草稿回复 | thread_id, reply_body, body_type |
MCP与Claude Desktop合作阅读电子邮件和起草回复的截图
安全和权限
- 只读访问 到Gmail邮件(
gmail.readonly范围) - 仅创建草稿 (
gmail.compose范围-无法发送电子邮件) - 本地令牌存储 在
token-files/目录 - 没有电子邮件发送功能 -草稿必须从Gmail手动发送
文件结构
mcp-project/
├── tools/
│ └── google/
│ ├── __init__.py
│ ├── gmail_tools.py # Gmail API wrapper
│ ├── rag_tool.py # RAG tools
│ └── google_apis.py # OAuth & service creation
├── mcp_gmail.py # MCP server entry point
├── requirements.txt # Python dependencies
└── README.md
依赖项
mcp
google-api-python-client
google-auth-httplib2
google-auth-oauthlib
pydantic