PolarHub
  • Agents
  • MCP Servers
  • Skills
  • PolarBear
PolarHub © 2026
MCP ServerscommunicationMCP无头Gmail
返回「communication」

MCP无头Gmail

modelscope·@baryhuang/mcp-headless-gmail

communication0下载LocalModelScope

简介

一个无头服务器,通过API调用启用读取和发送Gmail邮件的功能,无需本地凭据或浏览器访问,专为在远程容器化环境中运行而设计。

MCP Server 详情

来自 ModelScope 索引

MCP 无头 Gmail 服务器

Docker Hub Docker Pulls

一个 MCP(Model Context Protocol)服务器,提供无需本地凭证或令牌设置即可获取和发送 Gmail 的功能。

为什么选择 MCP 无头 Gmail 服务器?

关键优势

  • 无头 & 远程操作:与需要在 Docker 外运行并访问本地文件的其他 MCP Gmail 解决方案不同,此服务器可以在没有浏览器和不访问本地文件的远程环境中完全无头运行。
  • 解耦架构:任何客户端都可以独立完成 OAuth 流程,然后将凭证作为上下文传递给此 MCP 服务器,从而在凭证存储和服务实现之间创建了完全分离。

虽好但非关键

  • 专注的功能:在许多用例中,特别是营销应用,只需要访问 Gmail 而不需要额外的 Google 服务(如日历),使得这种专注的实现非常理想。
  • Docker 就绪:设计时考虑了容器化,以实现良好的隔离、环境无关性以及一键设置。
  • 可靠的依赖项:基于维护良好的 google-api-python-client 库构建。

功能

  • 获取 Gmail 中最新的邮件,并显示正文的前 1000 个字符
  • 使用偏移参数分块获取完整邮件正文内容(每块 1000 个字符)
  • 通过 Gmail 发送邮件
  • 分别刷新访问令牌
  • 自动处理刷新令牌

先决条件

  • Python 3.10 或更高版本
  • Google API 凭证(客户端 ID、客户端密钥、访问令牌和刷新令牌)

安装

# Clone the repository
git clone https://github.com/yourusername/mcp-headless-gmail.git
cd mcp-headless-gmail

# Install dependencies
pip install -e .

Docker

构建 Docker 镜像

# Build the Docker image
docker build -t mcp-headless-gmail .

与 Claude Desktop 一起使用

Docker 使用

您可以通过在 Claude 配置中添加以下内容来配置 Claude Desktop 使用 Docker 镜像:

{
  "mcpServers": {
    "gmail": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "buryhuang/mcp-headless-gmail:latest"
      ]
    }
  }
}

注意:使用此配置时,您需要按照 使用工具 部分所示,在工具调用中提供您的 Google API 凭证。Gmail 凭证不会作为环境变量传递,以保持凭证存储和服务实现之间的分离。

跨平台发布

要为多个平台发布 Docker 镜像,您可以使用 docker buildx 命令。请按照以下步骤操作:

  1. 创建一个新的构建器实例(如果您还没有的话):

    docker buildx create --use
    
  2. 为多个平台构建并推送镜像:

    docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t buryhuang/mcp-headless-gmail:latest --push .
    
  3. 验证指定平台上的镜像是否可用:

    docker buildx imagetools inspect buryhuang/mcp-headless-gmail:latest
    

使用方法

服务器通过MCP工具提供Gmail功能。认证处理通过专用的令牌刷新工具得到了简化。

启动服务器

mcp-server-headless-gmail

使用工具

当使用像Claude这样的MCP客户端时,你有两种主要的方式来处理认证:

刷新令牌(第一步或令牌过期时)

如果你同时拥有访问令牌和刷新令牌:

{
  "google_access_token": "your_access_token",
  "google_refresh_token": "your_refresh_token",
  "google_client_id": "your_client_id",
  "google_client_secret": "your_client_secret"
}

如果您的访问令牌已过期,您可以仅使用刷新令牌进行刷新:

{
  "google_refresh_token": "your_refresh_token",
  "google_client_id": "your_client_id",
  "google_client_secret": "your_client_secret"
}

这将返回一个新的访问令牌及其过期时间,你可以用它来进行后续调用。

获取最近的邮件

检索每封邮件正文的前1000个字符的最近邮件:

{
  "google_access_token": "your_access_token",
  "max_results": 5,
  "unread_only": false
}

响应包括:

  • 邮件元数据(id, threadId, from, to, subject, date等)
  • 邮件正文的前1000个字符
  • body_size_bytes: 邮件正文的总大小(以字节为单位)
  • contains_full_body: 布尔值,表示是否包含整个正文(true)或被截断(false)

获取完整的邮件正文内容

对于正文超过1000个字符的邮件,您可以分块获取完整内容:

{
  "google_access_token": "your_access_token",
  "message_id": "message_id_from_get_recent_emails",
  "offset": 0
}

您也可以通过线程ID获取邮件内容:

{
  "google_access_token": "your_access_token",
  "thread_id": "thread_id_from_get_recent_emails",
  "offset": 1000
}

响应包括:

  • 从指定偏移量开始的邮件正文的1k片段
  • body_size_bytes: 邮件正文的总大小
  • chunk_size: 返回片段的大小
  • contains_full_body: 布尔值,表示该片段是否包含剩余的正文部分

要检索长消息的整个邮件正文,请顺序调用并每次将偏移量增加1000,直到contains_full_body为true为止。

发送邮件

{
  "google_access_token": "your_access_token",
  "to": "recipient@example.com",
  "subject": "Hello from MCP Gmail",
  "body": "This is a test email sent via MCP Gmail server",
  "html_body": "<p>This is a <strong>test email</strong> sent via MCP Gmail server</p>"
}

令牌刷新工作流程

  1. 首先调用gmail_refresh_token工具,并提供:
    • 您的完整凭据(访问令牌、刷新令牌、客户端ID和客户端密钥),或者
    • 如果访问令牌已过期,则只需提供刷新令牌、客户端ID和客户端密钥
  2. 使用返回的新访问令牌进行后续API调用。
  3. 如果收到指示令牌过期的响应,则再次调用gmail_refresh_token工具以获取新令牌。

这种方法通过不要求每次操作都需提供客户端凭据而简化了大多数API调用,同时在需要时仍可启用令牌刷新。

获取Google API凭据

要获取所需的Google API凭据,请按照以下步骤操作:

  1. 转到Google Cloud Console
  2. 创建一个新项目
  3. 启用Gmail API
  4. 配置OAuth同意屏幕
  5. 创建OAuth客户端ID凭据(选择“桌面应用”作为应用程序类型)
  6. 保存客户端ID和客户端密钥
  7. 使用OAuth 2.0以及以下范围来获取访问令牌和刷新令牌:
    • https://www.googleapis.com/auth/gmail.readonly (用于读取邮件)
    • https://www.googleapis.com/auth/gmail.send (用于发送邮件)

令牌刷新

这台服务器实现了自动刷新令牌功能。当您的访问令牌过期时,Google API 客户端将使用刷新令牌、客户端 ID 和客户端密钥来获取新的访问令牌,而无需用户干预。

安全提示

此服务器需要直接访问您的 Google API 凭据。请始终确保您的令牌和凭据安全,并且不要与不可信的第三方共享。

许可证

详情请参阅 LICENSE 文件。

相关 MCP Servers(来自「communication」)

【稳定版】12306MCP火车票服务

一个为大型语言模型(LLM)设计的、高可用的12306余票查询工具服务,现已搭载智能会话管理引擎。 12306-MCP-Server 将复杂的12306余票查询接口封装为符合 Model Context Protocol (MCP) 规范的工具集,允许AI Agent通过自然语言无缝查询实时火车票、中转换乘和经停站信息。 从 v1.0.0 版本开始,项目引入了全新的智能会话管理系统,通过会话池、动态User-Agent轮换和自动错误恢复机制,将服务的稳定性与反屏蔽能力提升至全新高度。

Alphar/Railway-Real-Time-MCP-Server

福昕Cloud-API

福昕PDF服务API提供了一个基于云的REST API,允许通过HTTP客户端处理PDF文件。它提供了丰富的功能,适合集成到各种应用程序中。 📌 主要特性: PDF创建与转换 从Word、Excel和PowerPoint等格式创建PDF文件。 将PDF文件转换为其他格式,包括HTML、Word和图像。 PDF合并与拆分 将多个PDF文件合并成一个文档。 将单个PDF文件拆分成多个文档。 PDF压缩与优化 通过图像压缩、文档展平和线性化来减小文件大小。 PDF安全 支持密码保护、权限控制和高级加密以确保文档安全。 如何快速与MCP(多功能云平台)集成? 📖 集成文档: 服务API集成指南: https://cloudapi.fuxinsoft.cn/zh-CN/docs/services/guide MCP初学者教程: https://cloudapi.fuxinsoft.cn/zh-CN/docs/services/mcp…

@Foxit/mcp-server-foxit-cloudapi

快递100 MCP Server

快递100 MCP Server提供快递信息查询、快递运费预估比价、快递时效查询(含发货前时效查询与在途动态时效查询)等功能。

kuaidi100/kuaidi100-mcp

墨刀AI-MCP

基于Model Context Protocol的原型生成功能服务,专注于HTML代码生成、设计描述生成和HTML导入功能。

mockingbot/modao-proto-mcp

数学精灵计算器

暂无描述。

stormcloud/math_genie_calc

思维导图 MCP

一个用于生成思维导图的 MCP (Model Context Protocol) 服务器。 看起来您的请求中没有提供具体的英文技术文档内容以供翻译。如果您能分享更多详细信息或具体段落,我将能够帮助您将其准确地翻译成中文,同时保留代码块、链接、格式结构和专业术语的准确性。请提供需要翻译的具体文本。

WEIAIb/mind-map-mcp

自动安装

点击按钮会唤起 PolarBear 客户端,并把当前 MCP Server 的 Markdown 详情文档地址传给客户端。

/api/mcps/baryhuang-mcp-headless-gmail/markdown
打开 PolarBear 安装查看 Markdown 文档

手动安装

在 PolarBear 或其他支持 MCP 的客户端中,新建 MCP Server,并参考下方来源或安装提示配置。

# Clone the repository git clone https://github.com/yourusername/mcp-headless-gmail.git cd mcp-headless-gmail # Install dependencies pip install -e .

基本信息

分类
communication / cloud-platforms
运行方式
No
许可证
MIT License
详情文件
baryhuang-mcp-headless-gmail.md