使用说明
项目简介
Gmail MCP Server 是一个专门为LLM(大型语言模型)客户端设计的MCP(Model Context Protocol)服务器,旨在弥合LLM与Gmail邮箱之间的鸿沟。通过此服务器,LLM客户端能够安全、便捷地访问用户的Gmail邮箱数据,并利用Gmail的功能,从而扩展LLM的应用场景和能力。
主要功能点
- 查看最近邮件:允许LLM客户端获取用户Gmail收件箱中最新的邮件列表。
- 邮件搜索:支持使用Gmail的强大搜索语法,让LLM客户端能够根据关键词或特定条件搜索邮件。
- 安全认证:采用OAuth2认证机制,确保访问Gmail API的安全性。
- 工具集成:提供工具接口,方便LLM客户端调用Gmail的功能,例如搜索邮件。
安装步骤
-
Google Cloud 项目设置
- 访问 Google Cloud Console 创建一个新的Google Cloud项目。
- 在项目中启用 Gmail API。
- 创建 OAuth 2.0 凭据:
- 应用类型选择“桌面应用”。
- 下载凭据文件,并重命名为 'credentials.json'。
-
安装 Gmail MCP Server
- 确保已安装 Conda,然后创建并激活一个新的Conda环境:
conda create -n mcp-gmail python=3.12 conda activate mcp-gmail - 克隆或下载 GitHub 仓库 'ajbr0wn_gmail-mcp-server',并进入 'gmail-mcp-server' 目录。
- 安装项目依赖:
pip install -e .
- 确保已安装 Conda,然后创建并激活一个新的Conda环境:
服务器配置
对于 MCP 客户端(例如 Claude Desktop),需要在其配置文件中添加 Gmail MCP Server 的相关配置。以下是一个 'claude_desktop_config.json' 配置文件示例,您需要根据实际路径进行修改:
{ "mcpServers": { "gmail": { "command": "/path/to/conda/envs/mcp-gmail/bin/python", "args": ["-m", "gmail_mcp_server.server"], "env": { "PYTHONPATH": "/path/to/gmail-mcp-server/src", "GMAIL_CREDENTIALS_FILE": "/path/to/credentials.json", "GMAIL_TOKEN_FILE": "/path/to/token.json" } } } }
配置参数说明:
- server name: 'gmail' (服务器名称,客户端用以识别和调用)
- command: '/path/to/conda/envs/mcp-gmail/bin/python' (Python 解释器路径,指向您创建的 Conda 环境中的 Python)
- args: '["-m", "gmail_mcp_server.server"]' (服务器启动参数,指定运行 'gmail_mcp_server.server' 模块)
- env: 环境变量配置
- PYTHONPATH: '/path/to/gmail-mcp-server/src' (Python 模块搜索路径,指向 'gmail-mcp-server' 项目的 'src' 目录)
- GMAIL_CREDENTIALS_FILE: '/path/to/credentials.json' (Gmail API 凭据文件路径,指向您在 Google Cloud Console 下载的 'credentials.json' 文件)
- GMAIL_TOKEN_FILE: '/path/to/token.json' (OAuth 令牌文件路径,用于保存用户授权信息,首次运行时会自动创建)
请将 '/path/to/' 替换为您的实际路径。'token.json' 文件将在首次运行时自动创建。
基本使用方法
- 启动 MCP 客户端 (如 Claude Desktop),并确保已正确配置 Gmail MCP Server。
- 当 LLM 客户端需要访问 Gmail 功能时,它将通过 MCP 协议与 Gmail MCP Server 通信。
- 首次使用时,您需要在浏览器中完成 OAuth2 授权,允许该服务器访问您的 Gmail 邮箱。授权成功后,令牌信息将保存在 'token.json' 文件中。
- LLM 客户端可以使用预定义的资源 URI(例如 'gmail://inbox/recent')来获取最近的邮件,或调用工具(例如 'search_emails')来搜索邮件。
例如,在 Claude 中,您可以提问类似 "Could you show me any emails from sanrio in the last two days?" 的问题,Claude 可能会调用 'search_emails' 工具并利用 Gmail MCP Server 来完成邮件搜索。
信息
分类
通信与社交