邮件分析服务器

一个连接Gmail API的模型上下文协议(MCP)服务器,用于自动获取、分析和分类电子邮件,帮助用户快速识别重要邮件、忽略常规邮件和发现可删除的促销内容。

  • by lakshya1410
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 lakshya1410/Gmail-MCP-Server

使用说明

Gmail MCP服务器📧

模型上下文协议(MCP)服务器,连接到Gmail API以自动获取、分析和分类电子邮件。此服务器可帮助您快速识别重要电子邮件,忽略常规消息,并发现可删除的促销内容。

特性✨

  • Gmail集成:使用Gmail API进行安全的OAuth2身份验证
  • 智能电子邮件分析:自动将电子邮件分类为:
    • 🔴 重要:需要关注的紧急电子邮件
    • 🟡 可忽略的:可以等待的常规电子邮件
    • 🟢 可删除的:促销/垃圾邮件可以安全删除
  • 灵活取件:获取未读电子邮件或最近的消息
  • MCP兼容:与Claude Desktop和其他MCP客户端配合使用

设置🚀

1.先决条件

  • Python 3.12+
  • 启用Gmail API的Google云控制台项目
  • Gmail帐户

2.谷歌云设置

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用Gmail API
  4. 创建OAuth 2.0凭据(桌面应用程序)
  5. 将凭据下载为 credentials.json

3.安装

# Clone or download the server files
# Ensure credentials.json is in the project directory

# Install dependencies
pip install google>=3.0.0 google-api-python-client>=2.170.0 google-auth>=2.40.2 google-auth-oauthlib>=1.2.2 mcp>=1.9.1

# or with uv:
uv add google>=3.0.0 google-api-python-client>=2.170.0 google-auth>=2.40.2 google-auth-oauthlib>=1.2.2 mcp>=1.9.1

4.测试认证

python gmail_auth_test.py

这将打开您的浏览器以获得Gmail OAuth批准,并保存身份验证令牌。

用法💻

添加到克劳德桌面

将以下内容添加到您的Claude Desktop配置文件中:

视窗: %APPDATA%\Claude\claude_desktop_config.json 苹果电脑: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "gmail-analyzer": {
      "command": "python",
      "args": ["path/to/your/main.py"],
      "env": {}
    }
  }
}

替换 path/to/your/main.py 使用服务器文件的实际路径。

独立测试

# Test the email analyzer directly
python gmail_analyzer.py

# Test authentication
python gmail_auth_test.py

MCP服务器

# Run the MCP server
python main.py

可用工具

test_connection

测试MCP服务器是否正常工作。

fetch_and_analyze_gmail

从Gmail获取电子邮件并自动分析。

  • max_emails (int):可获取的最大电子邮件数(默认值:5)
  • unread_only (bool):仅获取未读电子邮件(默认值:true)

analyze_emails

分析提供的电子邮件内容并对其进行分类。

  • emails (array):要分析的电子邮件内容列表

文件结构📁

├── main.py                 # MCP server implementation
├── gmail_analyzer.py       # Standalone email analyzer
├── gmail_auth_test.py      # Authentication testing script
├── credentials.json        # Google OAuth credentials (you provide)
├── token.json             # Generated authentication tokens
├── pyproject.toml         # Project dependencies
└── README.md              # This file

电子邮件分类逻辑🧠

重要电子邮件 包含以下关键字:

  • urgent, asap, important, critical, deadline
  • meeting, schedule, follow up, action required
  • boss, manager, client, customer

可删除电子邮件 包含以下关键字:

  • unsubscribe, newsletter, promotion, deal
  • sale, discount, marketing, advertisement

可忽略的电子邮件 还有其他不属于上述类别的东西。

安全与隐私🔒

  • 使用OAuth2进行安全的Gmail身份验证
  • 仅请求以只读方式访问Gmail(gmail.readonly 范围)
  • 凭据存储在本地 token.json
  • 电子邮件内容不会永久存储或发送到外部服务

故障排除🔧

常见问题

“找不到凭据文件”

  • 确保 credentials.json 与Python文件位于同一目录中

“身份验证失败”

  • 跑 python gmail_auth_test.py 重置身份验证
  • 检查Gmail API是否已在谷歌云控制台中启用

“未找到电子邮件”

  • 尝试设置 unread_only: false 改为获取最近的电子邮件
  • 检查您的Gmail帐户是否有电子邮件

获取帮助

  1. 首先运行身份验证测试脚本
  2. 查看Google云控制台以获取API配额和权限
  3. 确保您的OAuth同意屏幕配置正确

依赖项📦

  • google-api-python-client:Gmail API客户端

  • google-auth:谷歌身份验证

  • google-auth-oauthlib:OAuth2流

  • mcp:模型上下文协议框架

    由Lakshya Tripathi建造