
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 配置文件中添加服务配置