article
README
🚀 无头 Gmail MCP 服务器
MCP 无头 Gmail 服务器是一个基于 Google API 的服务,可通过命令行或其他自动化工具与 Gmail 账户交互,支持读取邮件、获取邮件正文内容以及发送新邮件等功能。
🚀 快速开始
MCP 无头 Gmail 服务器能让你通过命令行或自动化工具轻松与 Gmail 账户交互。按照以下步骤,你可以快速搭建并使用该服务。
✨ 主要特性
- 完全自动化:无需手动操作,可通过脚本或命令行调用。
- 高效性能:优化了 API 调用流程,处理大量邮件时效率高。
- 安全设计:采用令牌认证机制,支持 OAuth 2.0 协议,确保数据传输安全。
- 扩展性好:易于与其他系统集成,可快速添加更多 Gmail 相关功能。
📦 安装指南
先决条件
- 注册 Google Cloud 账户并创建项目。
- 启用 Gmail API。
- 配置 OAuth 一致性屏幕。
- 创建 OAuth 客户端 ID(选择桌面应用类型)。
- 获取访问令牌和刷新令牌,所需作用域包括:
https://www.googleapis.com/auth/gmail.readonly(用于读取邮件)https://www.googleapis.com/auth/gmail.send(用于发送邮件)
安装步骤
- 克隆仓库:
git clone https://github.com/yourusername/mcp-headless-gmail.git cd mcp-headless-gmail - 安装依赖:
pip install -r requirements.txt - 配置环境变量,设置您的 Google API 凭证:
export GOOGLE_CLIENT_ID=your_client_id export GOOGLE_CLIENT_SECRET=your_client_secret export GOOGLE_REFRESH_TOKEN=your_refresh_token - 启动服务:
python3 server.py
💻 使用示例
基础用法
在安装并启动服务后,你可以通过以下方式与 Gmail 账户进行交互。
读取邮件
# 这里可以添加读取邮件的代码示例
发送邮件
# 这里可以添加发送邮件的代码示例
📚 详细文档
Docker 使用
构建镜像
# 基础镜像
FROM python:3.8-slim
# 设置工作目录
WORKDIR /app
# 安装依赖
COPY requirements.txt .
RUN pip install -r requirements.txt
# 复制应用代码
COPY . .
# 环境变量配置
ENV GOOGLE_CLIENT_ID=your_client_id \
GOOGLE_CLIENT_SECRET=your_client_secret \
GOOGLE_REFRESH_TOKEN=your_refresh_token
# 启动命令
CMD ["python3", "server.py"]
运行容器
docker build -t mcp-headless-gmail .
docker run -d --name mcp-email-service mcp-headless-gmail
Claude Desktop 配置
- 添加以下工具到
Claude.yaml:tools: - name: gmail_get_recent_emails path: /api/gmail/recent - name: gmail_get_email_body path: /api/gmail/body - name: gmail_send_email path: /api/gmail/send - name: gmail_refresh_token path: /api/gmail/refresh-token - 在 Claude 中使用这些工具:
{ "tool": "gmail_get_recent_emails", "args": { "access_token": "${GOOGLE_ACCESS_TOKEN}" } }
跨平台发布
- 生成多平台镜像:
docker buildx build --platform linux/amd64,linux/arm64 -t mcp-headless-gmail:multi . - 推送镜像到 Docker Hub 或其他 registry。
🔧 技术细节
功能
- 读取邮件:获取收件箱中的邮件列表、邮件内容及详细信息。
- 获取邮件正文:支持分块读取大尺寸邮件的正文内容。
- 发送邮件:通过 API 发送新的邮件,支持 HTML 格式和纯文本格式。
⚠️ 重要提示
- 始终使用 HTTPS 传输数据。
- 不要将凭证提交到公开代码库。
- 定期轮换访问令牌,确保安全。
📄 许可证
详见 LICENSE 文件。
扫码联系在线客服