article
README
🚀 Gmail MCP 服务器
一个强大且灵活的 Gmail 集成服务器,基于消息控制协议 (MCP) 框架构建。它提供了与 Gmail API 交互的强大界面,支持程序化地读取、发送和管理电子邮件,为用户提供高效的邮件处理体验。
🚀 快速开始
Gmail MCP 服务器是一款强大的工具,能帮助你高效地与 Gmail API 进行交互。在使用前,请确保完成以下步骤:
- 检查并满足先决条件。
- 完成服务器的安装与配置。
- 启动服务器并访问应用。
✨ 主要特性
- 可从多个 Gmail 账户读取邮件,满足多账户管理需求。
- 支持发送带附件的邮件,方便信息传递。
- 具备高级查询选项,可精准搜索邮件。
- 能够下载邮件附件,便于获取相关资料。
- 可处理邮件对话和线程,让邮件管理更有序。
- 支持实时监控邮件,及时掌握邮件动态。
- 支持多个 Gmail 账户同时使用。
📦 安装指南
使用 Smithery 安装
通过 Smithery 可自动安装 Gmail 集成服务器,命令如下:
npx -y @smithery/cli install @Quantum-369/Gmail-mcp-server --client claude
手动安装
- 克隆仓库:
git clone <your-repository-url>
cd gmail-mcp-server
- 创建并激活虚拟环境:
python -m venv venv
# 在 Windows 上
venv\Scripts\activate
# 在 Unix/MacOS 上
source venv/bin/activate
- 安装依赖项:
pip install .
📚 详细文档
先决条件
在运行 Gmail MCP 服务器之前,请确保具备以下条件:
- Python 3.12 或更高版本。
- 启用了 Gmail API 的 Google Cloud 项目。
- OAuth 2.0 客户端 ID 凭证。
- 所需的 Python 包(指定在 pyproject.toml 中)。
设置 Google Cloud 项目
- 访问 Google Cloud Console。
- 创建新项目或选择现有项目。
- 启用项目的 Gmail API。
- 创建 OAuth 2.0 凭证:
- 转到 "APIs & Services" > "Credentials"。
- 点击 "Create Credentials" > "OAuth client ID"。
- 选择 "Desktop app" 作为应用类型。
- 下载客户端配置文件。
- 将下载的文件重命名为
client_secret.json并放在项目根目录中。
配置
- 在
gmail_token_creator.py中设置电子邮件标识符:
email_identifier = 'your.email@gmail.com' # 根据每个账户修改此值
- 运行令牌创建工具以身份验证您的 Gmail 账户:
python gmail_token_creator.py
- 对于要集成的每个 Gmail 账户,重复上述步骤。
服务器结构
gmail_server.py:核心服务器文件。settings.py:配置和设置。templates/:HTML 模板目录。static/:静态资源目录。
使用方法
安装依赖项
使用 pip 安装所需的 Python 包:
pip install -r requirements.txt
启动服务器
运行以下命令启动 Gmail MCP 服务器:
python gmail_server.py
访问应用
打开浏览器访问 http://localhost:8000。
安全注意事项
⚠️ 重要提示
- 将所有敏感文件(如
client_secret.json)加密并存储在安全位置。- 避免将凭证提交到版本控制系统中,可以将其加入
.gitignore文件。- 使用环境变量来管理敏感信息,而不是硬编码在代码中。
错误处理
日志记录
服务器使用日志文件记录操作状态和错误信息。默认情况下,日志文件位于 logs/ 目录中。
调试
检查 settings.py 中的日志级别设置,以调整输出的详细程度。
贡献指南
克隆仓库
git clone https://github.com/yourusername/gmail-mcp-server.git
提交更改
- 创建功能分支:
git checkout -b feature/new-feature
- 提交更改:
git add .
git commit -m "添加新功能"
- 推送到原点并创建拉取请求:
git push origin feature/new-feature
📄 许可证
此项目受 MIT License 保护。
📞 联系方式
有问题或建议?请发送邮件到 contact@example.com 或在 GitHub 上提交问题。
微信扫一扫