Back to MCP directory
publicPublicdnsLocal runtime

gmail-attachment-mcp-server

一个基于FastMCP协议的微服务,用于通过IMAP协议从Gmail下载邮件附件。

article

README

🚀 Gmail 附件 MCP 服务器

本项目是一个提供微服务的服务器,借助消息控制协议 (MCP) 实现 Gmail 附件的下载功能,为用户获取 Gmail 附件提供了便捷途径。

🚀 快速开始

本服务器允许您使用消息 ID 下载 Gmail 信息中的附件。它借助 IMAP 连接到 Gmail 并获取附件。

✨ 主要特性

  • 可使用消息 ID 下载 Gmail 信息中的附件。
  • 运用 SSL 实现与 Gmail 的 IMAP 安全连接。
  • 支持通过环境变量配置身份验证凭据。
  • 提供基于 MCP 的简单 API 接口。

📦 安装指南

先决条件

  • Python 3.7 或更高版本。
  • 已安装 uv。
  • 启用 IMAP 的 Gmail 账户。
  • 若使用两步验证,需准备 Gmail 应用密码。

安装步骤

# 克隆仓库
git clone https://github.com/yourusername/gmail-attachment-mcp-server.git
cd gmail-attachment-mcp-server

# 安装依赖项
uv 同步

⚙️ 配置说明

需设置以下环境变量:

export GMAIL_USERNAME="your.email@gmail.com"
export GMAIL_PASSWORD="your_app_password"
export GMAIL_IMAP_SERVER="imap.gmail.com" # 可选,默认为 imap.gmail.com

⚠️ 重要提示

对于 Gmail,应该使用应用密码而不是常规密码。请参阅 Google 的文档 了解更多信息。

💻 使用示例

启动服务器

python server.py
# 或者
mcp 运行 server.py

使用工具

该服务器公开了一个 download_attachments_tool,接受以下参数:

  • message_id: Gmail 信息 ID,十六进制格式。
  • download_folder: (可选) 下载到的文件夹路径(默认为 "./attachments")。

该函数返回一个包含下载附件文件路径的字符串列表。

使用 mcp 检查工具

npx @modelcontextprotocol/inspector uv 运行 mcp 运行 server.py

使用鹅 (geese)

extensions:
  gmail-attachment-mcp-server:
    args:
      - run
      - /path to virtual env/.venv/bin/mcp
      - run
      - /path to gmail-attachment-mcp-server/server.py
    bundled: null
    cmd: uv
    description: null
    enabled: true
    env_keys:
      - GMAIL_USERNAME
      - GMAIL_PASSWORD
    envs: {}
    name: gmail-attachment-mcp-server
    timeout: 300
    type: stdio

📚 详细文档

download_attachments_tool

download_attachments_tool(message_id: str, download_folder="./attachments") -> list[str]

从 Gmail 信息中下载附件,该信息由其消息 ID 标识。

参数:

  • message_id: Gmail 信息 ID,十六进制格式。
  • download_folder: (可选) 下载到的文件夹路径(默认为 "./attachments")。

返回:

  • 包含已下载附件文件路径字符串的列表。
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