gmail-mcp-server
2025.04.21
1
PythonGmail API 集成邮件管理标签管理交流协作
gmail-mcp-server 是一个通过 Model Context Protocol (MCP) 暴露 Gmail API 的服务,专为与大型语言模型 (LLMs) 集成和在 Claude Desktop 等环境中使用而设计。它提供了一系列工具来管理和操作 Gmail 的标签和邮件,包括获取、创建、更新和删除标签,以及标记邮件为已读或未读、添加标签到邮件、获取邮件详情等功能。
View on GitHub
Overview
基本能力
产品定位
gmail-mcp-server 是一个中间件服务,旨在通过 MCP 协议将 Gmail 的功能暴露给 LLMs 和其他客户端使用,特别是在 Claude Desktop 环境中。
核心功能
- 获取和管理 Gmail 标签
get_labels(): 获取所有用户标签get_label_by_id(label_id): 获取特定标签的详细信息create_label(name, bg_color, text_color): 创建新标签update_label(label_id, name, bg_color, text_color): 更新现有标签-
delete_label(label_id): 删除标签 -
邮件管理
mark_emails_as_read(emails_ids: List[str]): 标记邮件为已读mark_emails_as_unread(emails_ids: List[str]): 标记邮件为未读add_labels(emails_ids: List[str], labels: List[str]): 为邮件添加标签get_all_emails_ids_by_query(query: str, max_results: int, next_page_token: str = None): 根据查询获取邮件 ID 列表get_email_detail(email_id: str): 获取邮件详细信息
适用场景
- 在 Claude Desktop 等环境中集成 Gmail 功能
- 通过 LLMs 自动化处理 Gmail 邮件和标签
- 开发需要访问 Gmail API 的应用程序
工具列表
get_labels(): 获取所有 Gmail 标签get_label_by_id(label_id): 获取特定标签信息create_label(name, bg_color, text_color): 创建新标签update_label(label_id, name, bg_color, text_color): 更新标签delete_label(label_id): 删除标签mark_emails_as_read(emails_ids): 标记邮件为已读mark_emails_as_unread(emails_ids): 标记邮件为未读add_labels(emails_ids, labels): 为邮件添加标签get_all_emails_ids_by_query(query, max_results, next_page_token): 根据查询获取邮件 IDget_email_detail(email_id): 获取邮件详情
常见问题解答
- 如何获取 Google API 凭证?
需要创建 OAuth 2.0 凭证并设置
GOOGLE_CLIENT_ID和GOOGLE_CLIENT_SECRET环境变量 - 如何集成到 Claude Desktop? 需要在 Claude Desktop 配置文件中指定 gmail-mcp-server 的路径和凭证
使用教程
使用依赖
- 安装 Python 3.11 或更高版本
- 安装 uv 依赖管理工具
安装教程
- 克隆仓库:
bash git clone <URL_DEL_REPOSITORIO> cd gmail-mcp-server - 安装依赖:
bash uv pip install -r uv.lock - (可选) 构建包:
bash uv run -m build - 安装本地包:
bash uv pip install dist/gmail_mcp_server-0.1.0-py3-none-any.whl
调试方式
- 设置 Google API 凭证环境变量:
bash export GOOGLE_CLIENT_ID="TU_ID" export GOOGLE_CLIENT_SECRET="TU_SECRET" - 运行服务:
bash gmail-mcp-server - 在 Claude Desktop 配置文件中添加服务配置