Back to MCP directory
publicPublicdnsLocal runtime

yagms

一个通过MCP协议与Gmail交互的工具,提供邮件列表、搜索、获取等功能

article

README

🚀 Yet Another Gmail MCP 服务器

Yet Another Gmail MCP 服务器提供了工具,可通过模型上下文协议(MCP)与您的 Gmail 账户进行交互,方便您管理和操作 Gmail 邮件。

🚀 快速开始

✨ 主要特性

  • 提供多种工具,可用于获取收件箱邮件、特定邮件、搜索邮件以及获取 Gmail 标签等操作。
  • 支持通过环境变量自定义 OAuth 凭证和凭证的路径。

📦 安装指南

先决条件

  1. 为 Gmail API 创建 OAuth 凭证:
    • 前往 Google Cloud Console
    • 创建新项目或选择现有项目
    • 启用 Gmail API
    • 创建 OAuth 2.0 凭证(桌面应用)
    • 下载凭证 JSON 文件并保存为 ~/.yagms-oauth.keys.json

构建此项目

  1. 安装 Bun。
  2. 构建代码
bun install
bun run build-gmail # 会在 ./dist/gmail.js 发射

💻 使用示例

基础用法

身份验证

在使用 Gmail MCP 服务器之前,需要先进行身份验证:

# 运行身份验证流程
bun run dist/gmail.js auth

这将:

  • 打开浏览器窗口供您登录 Google 账户
  • 请求访问您的 Gmail 账户的权限
  • 将认证凭证保存到 ~/.yagms-credentials.json
运行服务器

身份验证完成后,可以运行 Gmail MCP 服务器:

# 启动服务器
bun run src/gmail.ts

高级用法

配置

可以通过环境变量自定义 OAuth 凭证和凭证的路径:

  • GMAIL_OAUTH_PATH:OAuth 凭证文件路径(默认:~/.yagms-oauth.keys.json
  • GMAIL_CREDENTIALS_PATH:保存凭证的路径(默认:~/.yagms-credentials.json
可用工具

Gmail MCP 服务器提供以下工具:

  1. list-emails:获取您收件箱中的电子邮件
    • 参数:
      • senderEmail(可选):按发件人邮箱过滤
      • maxResults(可选,默认:10):要返回的最大邮件数
      • labelIds(可选, 默认:["INBOX"]):按标签 ID 过滤
  2. get-email:通过 ID 获取特定电子邮件
    • 参数:
      • emailId:要检索的电子邮件 ID
  3. search-emails:使用 Gmail 搜索语法搜索电子邮件
    • 参数:
      • query:Gmail 搜索查询(例如:"from:example@gmail.com has:attachment")
      • maxResults(可选, 默认:10):要返回的最大邮件数
  4. get-labels:获取所有 Gmail 标签
    • 无需参数
示例 MCP 配置

将此内容添加到您的 MCP 设置文件中:

{
  "mcpServers": {
    "gmail": {
      "command": "bun",
      "args": ["run", "/path/to/yagms/dist/gmail.js"],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client