使用说明
项目简介
Gmail Integration Server 是一个基于 Model Context Protocol (MCP) 框架构建的服务器,旨在为大型语言模型 (LLM) 应用提供 Gmail 邮箱的集成能力。通过此服务器,LLM 客户端可以安全、可控地访问和操作用户的 Gmail 邮箱,实现邮件的读取、发送、搜索、附件下载等功能,从而扩展 LLM 在邮件处理和信息检索方面的应用场景。
主要功能点
- 读取邮件:从指定的 Gmail 邮箱账户读取最新的邮件列表或特定邮件的详细信息。
- 发送邮件:通过指定的 Gmail 邮箱账户发送邮件,支持添加附件。
- 搜索邮件:根据关键词、发件人、主题等条件搜索 Gmail 邮箱中的邮件,支持搜索邮件会话。
- 下载附件:下载指定邮件或邮件会话中的附件到服务器本地。
- 多账户支持:支持配置和管理多个 Gmail 邮箱账户。
- 实时日志:提供详细的日志记录,方便问题排查和监控服务器运行状态。
- Prompt模板: 内置邮件撰写、邮件搜索、读取最新邮件、下载附件等 Prompt 模板,方便用户快速上手和使用。
安装步骤
-
克隆仓库
git clone https://github.com/Quantum-369/Gmail-mcp-server cd Gmail-mcp-server -
创建并激活虚拟环境
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate -
安装依赖
pip install . -
配置 Google Cloud 项目
- 访问 Google Cloud Console 并创建一个项目。
- 在项目中启用 Gmail API。
- 创建 OAuth 2.0 客户端 ID 凭据,选择“桌面应用”类型,并下载客户端配置 JSON 文件,重命名为 'client_secret.json' 并放置在项目根目录下。
-
配置邮箱账户
- 修改 'gmail_token_creator.py' 文件中的 'email_identifier' 变量,设置为你的 Gmail 邮箱地址。
- 运行 'python gmail_token_creator.py' 为该邮箱账户生成授权 token 文件。
- 如果需要集成多个邮箱账户,重复上述步骤,为每个账户设置不同的 'email_identifier' 并运行 'gmail_token_creator.py'。
服务器配置
MCP 客户端需要配置服务器的启动命令和参数才能连接 Gmail Integration Server。以下是针对此仓库生成的 MCP 服务器配置信息,客户端需要将此配置填入以连接到本 MCP 服务器。
{ "serverName": "Gmail MCP Server", "command": "python", "args": ["gmail_server.py"], "transports": ["stdio", "websocket"], "capabilities": ["resources", "tools", "prompts"] }
配置参数说明:
- 'serverName': 服务器名称,客户端用于识别和显示服务器。这里设置为 "Gmail MCP Server"。
- 'command': 启动服务器的命令。这里使用 'python' 命令来运行 Python 脚本。
- 'args': 启动命令的参数列表。这里指定运行 'gmail_server.py' 脚本。
- 'transports': 服务器支持的传输协议。此服务器默认支持 'stdio' 和 'websocket'。
- 'capabilities': 服务器提供的功能类型。此服务器提供 'resources'(资源)、'tools'(工具)和 'prompts'(Prompt模板)功能。
MCP 客户端配置示例
在 MCP 客户端的服务器配置中,填入以上 JSON 内容,确保客户端能够找到 Python 解释器 ('python') 和 'gmail_server.py' 脚本的相对路径(或绝对路径)。客户端启动后,即可通过配置连接到 Gmail Integration Server,并使用其提供的各项邮件集成功能。
基本使用方法
-
启动服务器 在虚拟环境激活状态下,运行以下命令启动 Gmail MCP 服务器:
python gmail_server.py服务器启动后,将监听来自 MCP 客户端的请求。
-
通过 MCP 客户端调用功能 在 MCP 客户端中,配置并连接到 Gmail MCP Server 后,即可使用服务器提供的资源 (Resources)、工具 (Tools) 和 Prompt 模板 (Prompts) 与 Gmail 邮箱进行交互。
例如,可以使用客户端调用 'send_gmail' 工具发送邮件,或者使用 'gmail://inbox/{email_identifier}' 资源获取收件箱邮件列表。具体的工具和资源调用方法请参考仓库 'README.md' 文件中 "Usage" 部分的说明。
注意:
- 首次运行服务器或添加新的 Gmail 账户时,需要先运行 'gmail_token_creator.py' 生成授权 token 文件。
- 请务必妥善保管 'client_secret.json' 文件,避免泄露。
- 详细的错误日志信息会记录在 'gmail_mcp.log' 文件中,用于问题排查。
信息
分类
通信与社交