mcpField
G
gmail-attachments-mcp

gmail-attachments-mcp

ローカル
github.com/zayansalmanコミュニケーション320 週間前に更新

gmail-attachments-mcp について

gmail-attachments-mcpは、Gmailを検索して添付ファイルをディスクに保存するMCPサーバー兼CLIです。メールを変更せず添付ファイルを扱いたいユーザー向けに、読み取り専用のOAuth権限を使います。

主な機能

  1. 01Gmailメールと添付ファイルの検索
  2. 02スレッド内の添付ファイルをダウンロード
  3. 03最新の一致メールから添付ファイルをダウンロード
  4. 04読み取り専用OAuthアクセス
  5. 05単独CLIとして実行

活用シーン

  1. 01Gmailの検索構文で添付ファイルを探す
  2. 02スレッド内の全添付ファイルを保存
  3. 03最新の一致ファイルを定期的にダウンロード

MCP 対応

Gmail検索、スレッドの添付ファイル取得、最新の一致メールからの添付ファイル取得ツールを公開します。既定ではgmail.readonly OAuthスコープを使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"zayansalman-gmail-attachments": {
"command": "uvx",
"args": [
"gmail-attachments-mcp"
],
"env": {
"GMAIL_MCP_CREDENTIALS": "<GMAIL_MCP_CREDENTIALS>",
"GMAIL_MCP_TOKEN": "<GMAIL_MCP_TOKEN>",
"GMAIL_MCP_DEFAULT_DEST_DIR": "<GMAIL_MCP_DEFAULT_DEST_DIR>",
"GMAIL_MCP_SCOPES": "<GMAIL_MCP_SCOPES>"
}
}
}
}
起動コマンドuvx gmail-attachments-mcp
設定が必要な環境変数
GMAIL_MCP_CREDENTIALSシークレットPath to the Google OAuth client secret JSON. Default: $XDG_CONFIG_HOME/gmail-attachments-mcp/credentials.json.
GMAIL_MCP_TOKENシークレットPath to the cached Gmail OAuth refresh token. Default: $XDG_CONFIG_HOME/gmail-attachments-mcp/token.json.
GMAIL_MCP_DEFAULT_DEST_DIRDefault directory where downloaded attachments are saved when the tool call does not specify dest_dir. Default: ~/Downloads.
GMAIL_MCP_SCOPESComma-separated Google OAuth scopes. Default: https://www.googleapis.com/auth/gmail.readonly.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypigmail-attachments-mcp0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

gmail-attachments-mcp

Gmail の添付ファイルをディスクにダウンロードするための、用途を絞ったModel Context Protocolサーバー(およびスタンドアロン CLI)です。ツールは3つ、OAuth スコープは読み取り専用で、余分な機能はありません。

Claude Desktop のホスト型 claude.ai Gmail コネクターは、添付ファイルのID とメタデータのみを返し、実際のデータは取得できません。このサーバーはその不足を補い、あらゆる MCP クライアント(Claude Code、Claude Desktop、Cursor、Cline など)で使えるほか、cron ジョブやシェルスクリプト用の通常の CLI としても動作します。

添付ファイルのダウンロード機能を使うために @GongRzhe/Gmail-MCP-Server(1.1k★、2026-03-03 にアーカイブ)を利用していた場合、このプロジェクトはその単一機能に特化した最小限の後継です。

機能

  • MCP ツールは3つ — gmail_search、gmail_download_thread_attachments、gmail_download_latest_matching。API はこれだけです。
  • OAuth スコープは読み取り専用(gmail.readonly)— メールの送信、削除、変更はできません。
  • MCP サーバーとスタンドアロン CLI の両方として動作 — 同じコード、同じ認証トークンで、どちらの方法でも利用できます。
  • 環境変数で設定 — GMAIL_MCP_CREDENTIALS、GMAIL_MCP_TOKEN、GMAIL_MCP_DEFAULT_DEST_DIR。
  • cron での利用に適しています — 一度認証すれば、キャッシュされたリフレッシュトークンにより、ヘッドレスジョブを継続して実行できます。

インストール

pip install gmail-attachments-mcp
# or, with uv:
uv tool install gmail-attachments-mcp

初回セットアップ(約10分)

Google Cloud の OAuth クライアントが必要です。サーバーはすべてご利用のマシン上で動作し、データが外部に送信されることはありません。

  1. 添付ファイルをダウンロードする Gmail アカウントでGoogle Cloud Consoleにログインします。
  2. プロジェクトを作成するか、既存のプロジェクトを選択します。
  3. Gmail API を有効にします:console.cloud.google.com/apis/library/gmail.googleapis.com。
  4. API とサービス → OAuth 同意画面で OAuth 同意画面を設定します。
    • Google Workspaceユーザー:ユーザータイプを内部に設定します(アプリの検証は不要です)。
    • 個人の Gmailユーザー:ユーザータイプを外部に設定します。「テストユーザー」にご自身の Gmail アドレスを追加します。
  5. API とサービス → 認証情報 → + 認証情報を作成 → OAuth クライアント ID
    • アプリケーションの種類:デスクトップアプリ
    • JSON をダウンロードします。
  6. セットアップを実行します。
gmail-attachments-mcp setup --import-credentials ~/Downloads/client_secret_*.json

OAuth の同意を求めるブラウザーウィンドウが開きます。同意すると、リフレッシュトークンが ~/.config/gmail-attachments-mcp/token.json(または $XDG_CONFIG_HOME/gmail-attachments-mcp/)にキャッシュされます。

確認します。

gmail-attachments-mcp status
gmail-attachments-mcp search "has:attachment newer_than:7d" --max 3

スクリーンショットとトラブルシューティングについては、docs/setup-google-oauth.mdを参照してください。

Claude Code から使う

claude mcp add --scope user gmail-attachments gmail-attachments-mcp -- serve

その後、任意の Claude Code セッションで次のように指示します。

gmail-attachments MCP を使って、[email protected] から最新の CV を ~/CVs にダウンロードしてください。

Claude Desktop から使う

~/Library/Application Support/Claude/claude_desktop_config.json(Mac)または %APPDATA%/Claude/claude_desktop_config.json(Windows)を編集します。

{
  "mcpServers": {
    "gmail-attachments": {
      "command": "gmail-attachments-mcp",
      "args": ["serve"]
    }
  }
}

Claude Desktop を再起動します。詳細については、docs/claude-desktop.mdを参照してください。

Cursor / Cline / Continue などから使う

stdio サーバーに対応した MCP クライアントであれば利用できます。同じ gmail-attachments-mcp serve コマンドを指定してください。docs/other-clients.mdを参照してください。

シェルまたは cron から使う

# Search
gmail-attachments-mcp search "from:[email protected] has:attachment newer_than:30d"

# Download every attachment from a specific thread
gmail-attachments-mcp thread 19db831fab15b507 --dest ~/Invoices

# Download from the latest match, only PDFs
gmail-attachments-mcp latest "from:[email protected] has:attachment" --dest ~/CVs --ext .pdf,.docx

cron の例 — CV の添付ファイルを1時間ごとに取得します。

0 * * * * /usr/local/bin/gmail-attachments-mcp latest "to:[email protected] has:attachment newer_than:2d" --dest ~/CVs --ext .pdf,.docx >> ~/.cache/gmail-attachments-mcp.log 2>&1

3つの MCP ツール

gmail_search(query, max_results=10)

添付ファイル名を含むスレッドの概要を返します。Gmail の標準的なクエリ構文を使います。

[
  {
    "thread_id": "19db831fab15b507",
    "subject": "Folon Q3 2026 Quarterly Product Recap",
    "sender": "Manon Muhtasin Rahman <[email protected]>",
    "date": "Thu, 23 Apr 2026 08:35:00 +0600",
    "snippet": "Hi everyone, Attached is...",
    "message_count": 1,
    "attachment_count": 1,
    "attachment_filenames": ["Folon Quarterly Report Q3 2026.pdf"]
  }
]
gmail_download_thread_attachments(thread_id, dest_dir?, extensions?)

スレッド内のすべての添付ファイルをディスクにダウンロードします。ファイルごとに path、size_bytes、mime_type、original_filename を返します。

gmail_download_latest_matching(query, dest_dir?, extensions?)

便利な機能です。検索し、最も新しい一致結果から1回の呼び出しでダウンロードします。

設定

すべてのパスは環境変数で上書きできます。

変数デフォルト内容
GMAIL_MCP_CREDENTIALS~/.config/gmail-attachments-mcp/credentials.jsonOAuth クライアントシークレット JSON
GMAIL_MCP_TOKEN~/.config/gmail-attachments-mcp/token.jsonキャッシュされたリフレッシュトークン
GMAIL_MCP_DEFAULT_DEST_DIR~/Downloadsデフォルトのダウンロード先
GMAIL_MCP_SCOPEShttps://www.googleapis.com/auth/gmail.readonlyOAuth スコープ(カンマ区切り)
XDG_CONFIG_HOME~/.config標準の XDG 上書き設定

セキュリティ

  • トークンの保存:リフレッシュトークンは、モード 0600 で ~/.config/gmail-attachments-mcp/token.json に書き込まれます。アカウントへのシェルアクセス権がある人は誰でも、あなたの Gmail を読めます。このファイルはパスワードと同様に扱ってください。
  • OAuth スコープ:デフォルトは gmail.readonly です。メールの送信、削除、変更はできません。$GMAIL_MCP_SCOPES を変更した場合、その結果はご自身の責任となります。
  • 認証情報ファイル:OAuth クライアントシークレット JSON はパスワードではなく、Google にアプリを識別させるためのものです。ただし、絶対にコミットしないでください。同梱の .gitignore は一般的なファイル名を除外します。
  • OAuth クライアント:クライアントはご自身の Google Cloud プロジェクトにあります。中央サーバーもテレメトリーもなく、データが端末の外部に送信されることはありません。

トラブルシューティング

Claude Desktop/cron から実行したときに No valid Gmail token と表示される 最初の OAuth フローではブラウザーが必要です。ブラウザーを開けるターミナルで gmail-attachments-mcp setup を一度実行してください。以降の実行では、キャッシュされたリフレッシュトークンが使用されます。

Token has been expired or revoked と表示される リフレッシュトークンは、少なくとも 6 か月ごとに使用し、myaccount.google.com/permissions で取り消さなければ有効なままです。再認証するには:

gmail-attachments-mcp setup --reauth

Access blocked: This app's request is invalid と表示される 個人用 Gmail では、OAuth 同意画面の Test users にご自身のアドレスを登録する必要があります。Workspace ユーザーは、これを避けるためにオーディエンスとして Internal を選択してください。

HttpError 403: Request had insufficient authentication scopes と表示される 再認証せずに $GMAIL_MCP_SCOPES を変更しています。gmail-attachments-mcp setup --reauth を実行してください。

他の Gmail MCP サーバーとの比較

サーバースコープツールメンテナンス状況
Anthropic 提供の claude.ai Gmail読み書き、ホスト型多数アクティブですが、添付ファイルのバイトデータは取得できません
GongRzhe/Gmail-MCP-Serverメールボックス全体192026-03-03 にアーカイブ済み
shinzo-labs/gmail-mcpメールボックス全体約 30アクティブ
gmail-attachments-mcp(本ツール)読み取り専用3アクティブ

小規模で目的を絞った読み取り専用ツールをお探しなら、こちらを選んでください。メールの送信やラベル、下書き、スレッドなどの管理も必要なら、より多機能なものを選んでください。

認証 — Google OAuth クライアントをご用意ください

API キーや同梱されたシークレットはありません。サーバーは、ご自身で作成した OAuth クライアントを使ってご自身の Google アカウントに認証し、リフレッシュトークンをローカルにキャッシュします。作者がデータにアクセスすることは一切ありません。

  • 独自のクライアントを使う理由:Google の制限付きスコープ(ここでは gmail.readonly)は共有アプリとして再配布できず、未確認の共有アプリはユーザー数が 100 人に制限されます。「独自の OAuth クライアントを用意する」方式は、個人データを扱う MCP サーバーで標準的なパターンです。
  • 必要なもの:無料の Google Cloud プロジェクト、有効化した Gmail API、OAuth 同意画面、デスクトップ OAuth クライアントです。詳しい手順はこちら → docs/setup-google-oauth.md。
  • トークンの保存場所:~/.config/gmail-attachments-mcp/token.json(モード 0600)。ローカルで無効にするには削除してください。完全に取り消すには myaccount.google.com/permissions をご利用ください。
  • ホスト型/SaaS のオプションはありません — すべてローカルで実行され、メールがサードパーティーのサーバーを経由することはありません。

関連ツール

ホスト型コネクターでは公開されていない Google Workspace データを扱う、機能を絞ったローカル MCP サーバー群の一部です。

  • gmail-attachments-mcp — Gmail の添付ファイルのバイトデータをディスクにダウンロードします(このリポジトリ)
  • google-drive-comments-mcp — Docs/Sheets/Slides のコメントスレッドを読み取ります
  • google-drive-files-mcp — Drive のファイルを移動・整理します

OAuth ログインを共有することも、それぞれ独立させることもできます。設定については各リポジトリをご覧ください。

ライセンス

MIT です。LICENSE をご覧ください。

貢献

Issue と PR を歓迎します。提出前に pytest と ruff check src tests を実行してください。

git clone https://github.com/zayansalman/gmail-attachments-mcp
cd gmail-attachments-mcp
pip install -e ".[dev]"
pytest

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。