返回 MCP 目录
public公开dns本地运行

gmail-mcp-server-15s

一个集成Gmail与FastMCP协议的AI助手系统,提供自然语言交互的邮件管理功能,包括发送、读取、标记邮件等操作。

article

README

🚀 Gmail MCP 服务器

Gmail MCP 服务器是一个集成了 FastMCP(模型控制协议)的 Gmail 系统,它为 AI 助手搭建了桥梁,使其能借助一系列工具和提示与 Gmail 进行交互,极大地拓展了 Gmail 的使用场景和便捷性。

🚀 快速开始

此项目采用服务器 - 客户端架构,让 AI 助手可以执行多种 Gmail 操作,如发送邮件、查看未读邮件等。使用 OAuth 2.0 进行身份验证,并结合 Gmail API 实现各项功能。

启动服务器

python3 gmail_server.py

使用客户端

from gmail_client import GmailClient
client = GmailClient()
result = client.send_email(to="recipient@example.com", subject="Test", message="Hello World!")
print(result)

✨ 主要特性

  • 功能丰富:支持发送邮件、查看未读邮件、浏览邮件内容、将邮件移到垃圾箱、在浏览器中打开邮件以及标记邮件为已读等操作。
  • 身份验证:采用 OAuth 2.0 进行身份验证,保障系统安全。
  • LLM 集成:使用 LLM(如 Gemini 1.5 Flash)理解自然语言请求,实现更智能的交互。

📦 安装指南

先决条件

  • 环境要求:需要 Python 3.6 或更高版本。
  • 库安装:安装必要的库,包括 google-authgoogle-api-python-clientfastmcp
  • 文件准备
    • credentials.json:OAuth 凭证文件,由 Google 开发者控制台生成。
    • token.json:存储 OAuth 认证后的令牌。
    • .env:包含 API 密钥和相关配置。

🔧 技术细节

组件

Gmail Server

负责 FastMCP 集成、身份验证、邮件操作(发送、接收等)以及错误处理和日志记录。

Smart Gmail Client

使用 LLM(如 Gemini 1.5 Flash)来理解自然语言请求,提取参数并执行相应的邮件操作。

邮件内容处理

支持 MIME 消息解析、多部分邮件和附件处理,确保正确解码邮件头和正文。

LLM 集成

使用 Gemini 1.5 Flash 将自然语言请求转换为结构化的工具调用,并通过回退机制处理不规范的响应。

📚 详细文档

开发扩展

添加新的 Gmail 操作

  1. gmail_server.py 中实现新工具。
  2. 系统将自动发现并暴露新功能。

自定义 LLM 提示

可以通过修改 test_gmail_server.py 中的提示词,优化参数提取和特定请求处理。

⚠️ 安全注意事项

  • 项目不包含凭证文件,请勿提交以下文件到版本控制系统:
    • credentials.json
    • token.json
    • .env

这些文件已添加到 .gitignore 中以防止意外提交。

📄 参考资料

Medium 文章

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端