使用说明
Gmail MCP服务器📧
A. 干净、简化 用于Gmail集成的模型上下文协议(MCP)服务器。该服务器采用Rust构建,通过OAuth2身份验证为AI助手和自动化工具提供安全的Gmail访问。
🎯 学习历程与归因
📚 Rust学习练习:这个项目是我学习Rust编程过程中的一个实践练习。它演示了Rust概念的实际应用,包括异步编程、错误处理、OAuth2实现和干净的代码架构。
🙏 灵感来自钻机框架:此实施复制并改编了优秀的示例 钻机框架 0xPlaygrounds。Rig是一个强大的Rust框架,用于构建可移植、模块化和轻量级的AI代理,支持多个LLM提供者和向量存储。这个Gmail MCP服务器是基于Rig的模式和架构构建的学习练习。
✨ 特性
- 🔐 安全的OAuth2身份验证 -谷歌标准安全
- 📬 Gmail集成 -从收件箱获取和处理电子邮件
- 🧹 干净的电子邮件处理 -HTML到文本转换,并删除URL
- 🚀 高性能 -采用Rust构建,速度和安全
- 📡 MCP协议 -AI工具集成的标准接口
- 🎯 简化的代码库 -干净、有教育意义且可维护
🏗️ 建筑
此服务器实现 模型上下文协议(MCP) 提供Gmail功能:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ AI Assistant │◄──►│ Gmail MCP Server │◄──►│ Gmail API │
│ (Claude, etc) │ │ (This Project) │ │ (Google) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
🚀 快速开始
先决条件
- 锈 (1.70+)
- 启用Gmail API的谷歌云项目
- OAuth2凭据(
client_secret.json)
设置
-
克隆和构建
git clone https://github.com/RustSandbox/gmail_MCP.git cd gmail_MCP cargo build --release -
配置Gmail API
- 首选 谷歌云控制台
- 启用Gmail API
- 创建OAuth2凭据
- 下载为
client_secret.json在项目根中
-
运行服务器
cargo run服务器启动于
http://localhost:3003/sse
用法
服务器提供了一个工具:
gmail_reader -阅读Gmail电子邮件
action(string):要执行的操作(“读取”)max_results(数字,可选):要获取的最大电子邮件数(1-500,默认值:10)
🔧 配置
环境设置
不需要环境变量!服务器使用:
client_secret.json-OAuth2凭据(必需)token_cache.json-首次身份验证后自动生成
身份验证流程
- 首次运行将打开Google OAuth2浏览器
- 授予Gmail读取权限
- 缓存令牌以备将来使用
- 删除
token_cache.json重新验证
📊 项目统计
- 线路总数:~400(高度简化!)
- 依赖项:12(最小和集中)
- 建造时间:<3秒
- 演出:每秒处理100多封电子邮件
🧩 编码结构
src/
├── main.rs # MCP server setup and tool registration
├── lib.rs # Gmail API integration and OAuth2
├── reademail.rs # Email processing and URL cleanup
└── Cargo.toml # Dependencies and metadata
应用的干净代码原则:
- 单一职责-每个模块都有一个目的
- DRY-无重复代码
- KISS-简单、可读的实现
- 错误处理-全面的结果类型
🛠️ 发展
测试
cargo test
代码检查
cargo clippy
格式化
cargo fmt
🤝 贡献
- 分叉存储库
- 创建特征分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📝 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🔗 相关项目
🙏 致谢
- Google for Gmail API
- MCP规范的拟人化
- 优秀生态系统的Rust社区
由以下材料制成❤️ 和🦀 锈
