一个用于Gmail集成的简洁、简化的模型上下文协议(MCP)服务器。该服务器使用Rust构建,通过OAuth2认证为AI助手和自动化工具提供安全的Gmail访问。
📚 Rust学习练习:这个项目作为我学习Rust编程过程中的实践练习。它展示了Rust概念的实际应用,包括异步编程、错误处理、OAuth2实现以及干净的代码架构。
🙏 受Rig框架启发:此实现复制并改编了由0xPlaygrounds提供的Rig框架中的例子。Rig是一个强大的Rust框架,用于构建便携式、模块化且轻量级的AI代理,支持多个LLM提供商和向量存储。这个Gmail MCP服务器是基于Rig的模式和架构构建的学习练习。
此服务器实现了模型上下文协议(MCP),以提供Gmail功能:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ AI Assistant │◄──►│ Gmail MCP Server │◄──►│ Gmail API │
│ (Claude, etc) │ │ (本项目) │ │ (Google) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
client_secret.json)克隆并构建
git clone https://github.com/RustSandbox/gmail_MCP.git
cd gmail_MCP
cargo build --release
配置Gmail API
client_secret.json并放置在项目根目录运行服务器
cargo run
服务器将在http://localhost:3003/sse启动
服务器提供了一个工具:
gmail_reader - 读取Gmail邮件
action (字符串):要执行的操作 ("read")max_results (数字,可选):要获取的最大邮件数 (1-500,默认值:10)无需环境变量!服务器使用:
client_secret.json - OAuth2凭证 (必需)token_cache.json - 在首次认证后自动生成token_cache.json以重新认证src/
├── main.rs # MCP服务器设置和工具注册
├── lib.rs # Gmail API集成和OAuth2
├── reademail.rs # 邮件处理和URL清理
└── Cargo.toml # 依赖项和元数据
应用的清晰编码原则:
cargo test
cargo clippy
cargo fmt
git checkout -b feature/amazing-feature)git commit -m '添加惊人的功能')git push origin feature/amazing-feature)本项目采用MIT许可证 - 详情见LICENSE文件。
用❤️ 和 🦀 Rust制作