返回市场
Gmail企业邮件服务器

Gmail企业邮件服务器

作者:ajbr0wn7 星标更新:2024-12-02

项目介绍

Gmail MCP Server

一个提供与Gmail集成能力的MCP(模型上下文协议)服务器,适用于像Claude Desktop这样的MCP客户端。

功能

  • 查看来自您的Gmail收件箱的最近邮件
  • 使用Gmail搜索语法搜索邮件
  • 使用Gmail API进行安全的OAuth2认证

配置

1. Google Cloud项目配置

  1. https://console.cloud.google.com/ 创建一个Google Cloud项目
  2. 启用Gmail API
  3. 创建OAuth 2.0凭证:
    • 应用类型:桌面应用
    • 将凭证下载为credentials.json

2. 安装

# 创建conda环境
conda create -n mcp-gmail python=3.12
conda activate mcp-gmail

# 安装包
cd gmail-mcp-server
pip install -e .

3. 对于Claude Desktop的配置

在您的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"
      }
    }
  }
}

请将/path/to/替换为您实际的路径。当您首次进行身份验证时,令牌文件会自动创建。

4. 首次运行

当您第一次尝试通过Claude访问Gmail时,浏览器会提示您授权应用程序。授权后,您的凭据将保存到令牌文件中以供将来使用。

可用资源

  • gmail://inbox/recent - 返回您最近的10封邮件

可用工具

  • search_emails
    • 描述:使用查询搜索Gmail邮件
    • 参数:
      • query(必需):Gmail搜索查询(使用Gmail的标准搜索语法)
      • max_results(可选):返回的最大结果数(默认值:10)

示例搜索:

你能给我看看最近两天来自sanrio的任何邮件吗?

安全性

此服务器需要与Gmail进行OAuth2认证:

  • 您将在首次使用时被提示在浏览器中授权访问
  • 凭据将存储在指定的令牌文件中
  • 您可以通过Google账户设置随时撤销访问权限
  • 只请求了对Gmail的读取访问权限(无写入权限)

环境变量

  • GMAIL_CREDENTIALS_FILE(必需):指向您的Google OAuth凭证文件的路径
  • GMAIL_TOKEN_FILE(必需):身份验证令牌将保存的位置

为了测试,您可以直接运行服务器:

GMAIL_CREDENTIALS_FILE="/path/to/credentials.json" \
GMAIL_TOKEN_FILE="/path/to/token.json" \
python -m gmail_mcp_server.server

开发

该服务器使用模型上下文协议提供:

  • 对最近邮件的资源访问
  • 邮件搜索工具支持
  • 安全的OAuth2认证流程
  • 自动令牌刷新

日志记录

服务器将关于其操作的详细信息记录到stderr,包括:

  • 服务器启动信息
  • 认证状态
  • 资源和工具的使用情况
  • 任何错误或问题

贡献

欢迎提交拉取请求!请确保:

  • 更新新功能的相关文档
  • 添加适当的错误处理
  • 测试新功能的OAuth流程
  • 遵循现有的代码风格