这是由 Gmail API 提供的 MCP 服务器。该服务器为开发者提供了在 Gmail 上构建 LLM 应用的工具。
Model Context Protocol (MCP) 服务器充当外部服务(为大语言模型 [LLM] 或 AI 应用提供上下文、数据或功能)与 LLM 或 AI 应用之间的代理。MCP 服务器将 AI 应用连接到数据库和 Web 服务等外部系统,并将这些系统的响应转换为 AI 应用可理解的格式。
服务器设置
您必须先配置 Gmail MCP 服务器,然后才能使用它。如需详细了解如何使用 Google 和 Google Cloud 远程 MCP 服务器,请参阅 Google Cloud MCP 服务器概览。
服务器端点
MCP 服务端点是 MCP 服务器的网络地址和通信接口(通常是网址),AI 应用(MCP 客户端的宿主)使用该端点来建立安全、标准化的连接。它是 LLM 请求上下文、调用工具或访问资源的交互点。Google MCP 端点可以是全球性的,也可以是区域性的。
Gmail API MCP 服务器具有以下全球 MCP 端点:
- https://gmailmcp.googleapis.com/mcp/v1
MCP 工具
MCP 工具是 MCP 服务器向 LLM 或 AI 应用公开的函数或可执行功能,用于在现实世界中执行操作。
工具
gmailmcp.googleapis.com MCP 服务器具有以下工具:
| MCP 工具 | |
|---|---|
| create_draft |
在经过身份验证的用户的 Gmail 账号中创建新的邮件草稿。 此工具将收件人地址、主题和正文内容作为输入。它会返回所创建的 Gmail 草稿的 ID。 |
| list_drafts |
列出经过身份验证的用户的 Gmail 账号中的邮件草稿。 此工具可以根据查询字符串过滤草稿,并支持分页。它会返回草稿列表,包括草稿的 ID 和主题。 |
| get_thread | 从经过身份验证的用户的 Gmail 账号中检索特定电子邮件会话,包括其消息列表。 |
| search_threads |
列出经过身份验证的用户的 Gmail 账号中的电子邮件会话。 此工具可以根据查询字符串过滤会话,并支持分页。它会返回会话列表,包括会话的 ID 和相关消息。每条相关消息都包含详细信息,例如消息正文的摘要、主题、发件人、收件人等。请注意,此工具不会返回完整消息正文;如果需要,请使用带有会话 ID 的“get_thread”工具来提取完整消息正文。 |
| label_thread |
为经过身份验证的用户的 Gmail 账号中的整个会话添加标签。此操作会影响会话中当前的所有消息以及将来添加到会话中的任何消息。 如果不确定会话 ID,请先使用 如果不确定用户标签的 ID,请先使用 |
| unlabel_thread |
从经过身份验证的用户的 Gmail 账号中的整个会话中移除标签。如果不确定会话 ID,请先使用 search_threads 工具。如果不确定用户标签的 ID,请先使用 list_labels 工具。
|
| list_labels |
列出经过身份验证的用户的 Gmail 账号中所有用户定义的标签。在调用 label_thread、unlabel_thread、label_message 或 unlabel_message 之前,请使用此工具发现用户标签的 id。此工具不会返回系统标签,但可以使用其众所周知的 ID:'INBOX'、'TRASH'、'SPAM'、'STARRED'、'UNREAD'、'IMPORTANT'、'CHAT'、'DRAFT'、'SENT'。
|
| label_message |
为经过身份验证的用户的 Gmail 账号中的特定消息添加一个或多个标签。 如需查找消息 ID,请使用 |
| unlabel_message |
从经过身份验证的用户的 Gmail 账号中的特定消息中移除一个或多个标签。如需查找消息 ID,请使用 search_threads 或 get_thread 等工具。如果不确定用户标签的 ID,请先使用 list_labels 工具来发现可用的标签及其 ID。
|
| create_label | 在经过身份验证的用户的 Gmail 账号中创建新标签。 |
获取 MCP 工具规范
如需获取 MCP 服务器中所有工具的 MCP 工具规范,请使用 tools/list 方法。下面的示例演示了如何使用 curl 列出 MCP 服务器中当前可用的所有工具及其规范。
| Curl 请求 |
|---|
curl --location 'https://gmailmcp.googleapis.com/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |