Gmail附件下载服务

一个通过MCP协议提供Gmail附件下载功能的微服务,支持通过消息ID安全获取附件。

  • by gnmahanth
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 gnmahanth/gmail-attachment-mcp-server

使用说明

Gmail附件MCP服务器

提供微服务的服务器,用于使用消息控制协议(MCP)下载Gmail附件。

概述

此项目实现了一个FastMCP服务器,允许您使用邮件ID从Gmail邮件中下载附件。它使用IMAP连接到Gmail并获取附件。

特性

  • 使用邮件ID从Gmail邮件下载附件
  • 使用IMAP over SSL安全连接到Gmail
  • 凭据的环境变量配置
  • 通过MCP实现简单的API接口

先决条件

  • Python 3.7或更高版本
  • 需要安装紫外线
  • 启用IMAP的Gmail帐户
  • Gmail应用程序密码(如果使用两步验证)

安装

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

# Install dependencies
uv sync

配置

设置以下环境变量:

export GMAIL_USERNAME="your.email@gmail.com"
export GMAIL_PASSWORD="your_app_password"
export GMAIL_IMAP_SERVER="imap.gmail.com" # Optional, defaults to imap.gmail.com

备注:对于Gmail,您应该使用应用程序密码而不是常规密码。看 Google的文档 了解更多信息。

用法

启动服务器

python server.py
# or
mcp run server.py

使用工具

服务器暴露了一个 download_attachments_tool 它接受以下参数:

  • message_id:十六进制格式的Gmail邮件ID
  • download_folder:(可选)下载附件的文件夹(默认为“./attacheds”)

该函数返回下载附件文件的路径列表。

与mcp检查器配合使用

npx @modelcontextprotocol/inspector uv run mcp run server.py

与鹅一起使用

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

api参考

download_attachments_tool

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

从由邮件ID标识的Gmail邮件中下载附件。

参数:

  • message_id:十六进制格式的Gmail邮件ID
  • download_folder:(可选)下载附件的文件夹(默认为“./attacheds”)

退货:

  • 包含下载附件的文件路径的字符串列表

许可证

麻省理工学院