Skip to main content
Glama
googlarz

Proton Mail Bridge MCP

  ____  ____   ___ _____ ___  _   _   __  __    _    ___ _
 |  _ \|  _ \ / _ \_   _/ _ \| \ | | |  \/  |  / \  |_ _| |
 | |_) | |_) | | | || || | | |  \| | | |\/| | / _ \  | || |
 |  __/|  _ <| |_| || || |_| | |\  | | |  | |/ ___ \ | || |___
 |_|   |_| \_\\___/ |_| \___/|_| \_| |_|  |_/_/   \_\___|_____|
  Bridge Client  ·  CLI + Claude Desktop MCP for Proton Mail

Proton Mail Bridge Client

proton-mail-bridge-client MCP server

Proton Bridge上に構築された、Proton Mail向けのフル機能CLIおよびClaude Desktop MCPです。

概要

Proton Mail Bridge Clientを使用すると、プログラムからProton Mailを利用する2つの方法が提供されます。

CLI — MCPインターフェースと完全に同等の機能を備えたターミナルクライアントです。コマンドラインから、メールの読み取り、検索、送信、下書き作成、アーカイブ、フォルダ管理、スレッドのトリアージ、診断の実行がすべて可能です。本文は標準入力(stdin)からパイプで渡すことができます。出力は人間が読みやすい形式、または --json 形式を選択できます。

MCPサーバー — 同じ機能をModel Context Protocolサーバーとして公開しているため、Proton Bridgeが実行されているマシン上で、Claude Desktopがチャットを通じてProton Mailを読み取り、管理できるようになります。

どちらのインターフェースも、Proton BridgeのIMAPおよびSMTP、ローカルのSQLiteインデックス、監査ログという同じバックエンドを共有しています。ホストされたリレーやリモートURLは使用せず、自身のProtonアカウント以外のクラウド依存関係はありません。

前提条件

  • Node.js 18以上

  • Proton Bridge がインストールされ、サインイン済みであること

  • Bridgeから取得した情報: IMAPホスト/ポート、SMTPホスト/ポート、ユーザー名、Bridgeパスワード

Bridgeのデフォルトのローカルアドレス: IMAP 127.0.0.1:1143、SMTP 127.0.0.1:1025

インストール

git clone https://github.com/googlarz/proton-mail-bridge-client.git
cd proton-mail-bridge-client
npm install
npm run build

インストール後、proton-mail-bridge-client(および proton-mail-bridge)バイナリがリポジトリから利用可能になります。

システム全体にインストールする場合: npm install -g .

CLI

proton-mail-bridge-client <command> [options]

すべてのコマンドは、機械可読な出力のために --json をサポートしています。

読み取り

proton-mail-bridge-client emails --folder INBOX --limit 25
proton-mail-bridge-client read INBOX::25642
proton-mail-bridge-client search "invoice" --limit 10
proton-mail-bridge-client search --live --from openai.com
proton-mail-bridge-client attachments INBOX::25642

トリアージ

proton-mail-bridge-client digest
proton-mail-bridge-client threads "quarterly review"
proton-mail-bridge-client actionable
proton-mail-bridge-client followups
proton-mail-bridge-client thread-brief <threadId>
proton-mail-bridge-client document-threads --category invoice
proton-mail-bridge-client meeting-context alice@example.com

作成と送信

proton-mail-bridge-client send --to bob@example.com --subject "Hey" --body "Hello"
echo "Hello" | proton-mail-bridge-client send --to bob@example.com --subject "Hey"
proton-mail-bridge-client reply INBOX::25642 --body "On it."
proton-mail-bridge-client reply INBOX::25642 --reply-all --body "On it."
proton-mail-bridge-client forward INBOX::25642 --to carol@example.com

メールボックス操作

proton-mail-bridge-client move INBOX::25642 Folders/Archive
proton-mail-bridge-client archive INBOX::25642
proton-mail-bridge-client trash INBOX::25642
proton-mail-bridge-client restore Trash::25642
proton-mail-bridge-client mark-read INBOX::25642
proton-mail-bridge-client mark-read INBOX::25642 --unread
proton-mail-bridge-client star INBOX::25642
proton-mail-bridge-client delete INBOX::25642
proton-mail-bridge-client batch archive INBOX::100,INBOX::101,INBOX::102
proton-mail-bridge-client thread-action <threadId> archive

フォルダ

proton-mail-bridge-client folders
proton-mail-bridge-client create-folder Folders/Receipts
proton-mail-bridge-client rename-folder Folders/Receipts Folders/Bills
proton-mail-bridge-client delete-folder Folders/Bills

下書き

proton-mail-bridge-client drafts
proton-mail-bridge-client draft-create --to bob@example.com --subject "Draft" --body "..."
proton-mail-bridge-client draft-read <id>
proton-mail-bridge-client draft-update <id> --subject "Updated subject"
proton-mail-bridge-client draft-reply INBOX::25642 --body "Will do."
proton-mail-bridge-client draft-forward INBOX::25642 --to carol@example.com
proton-mail-bridge-client draft-sync <id>
proton-mail-bridge-client draft-send <id>
proton-mail-bridge-client draft-delete <id>
proton-mail-bridge-client remote-drafts

分析と診断

proton-mail-bridge-client stats
proton-mail-bridge-client analytics
proton-mail-bridge-client contacts
proton-mail-bridge-client volume-trends --days 14
proton-mail-bridge-client watch --timeout 30
proton-mail-bridge-client test-email you@example.com
proton-mail-bridge-client doctor
proton-mail-bridge-client status
proton-mail-bridge-client sync --folder INBOX --limit 150

MCPツールのパススルー

すべてのMCPツールは、CLIから直接呼び出すことも可能です:

proton-mail-bridge-client tools
proton-mail-bridge-client tool get_connection_status --json
proton-mail-bridge-client tool search_indexed_emails --args '{"query":"invoice","limit":3}'

環境変数

CLIとMCPサーバーは、どちらも同じ環境変数を読み取ります:

export PROTONMAIL_USERNAME='you@proton.me'
export PROTONMAIL_PASSWORD='your-bridge-password'
export PROTONMAIL_IMAP_HOST='127.0.0.1'
export PROTONMAIL_IMAP_PORT='1143'
export PROTONMAIL_IMAP_SECURE='false'
export PROTONMAIL_SMTP_HOST='127.0.0.1'
export PROTONMAIL_SMTP_PORT='1025'
export PROTONMAIL_DATA_DIR="$HOME/.proton-mail-bridge-client"

ファイルまたはコマンド経由のオプションのシークレット(シェルに生の認証情報を残さないようにします):

export PROTONMAIL_USERNAME_FILE='/path/to/user.txt'
export PROTONMAIL_PASSWORD_FILE='/path/to/pass.txt'
# or
export PROTONMAIL_USERNAME_COMMAND='pass proton/username'
export PROTONMAIL_PASSWORD_COMMAND='pass proton/password'

完全なランタイムフラグ:

export PROTONMAIL_READ_ONLY='false'
export PROTONMAIL_ALLOW_SEND='true'
export PROTONMAIL_ALLOW_REMOTE_DRAFT_SYNC='true'
export PROTONMAIL_ALLOWED_ACTIONS='mark_read,mark_unread,star,unstar,archive,trash,restore'
export PROTONMAIL_AUTO_SYNC='true'
export PROTONMAIL_STARTUP_SYNC='true'
export PROTONMAIL_SYNC_INTERVAL_MINUTES='5'
export PROTONMAIL_IDLE_WATCH='true'
export PROTONMAIL_IDLE_MAX_SECONDS='30'

Claude Desktopの設定

Proton Mail Bridge ClientをClaude Desktopで使用するには、ガイド付きウィザードを実行してください:

npm run setup:claude-desktop

これにより、以下の処理が行われます:

  • ローカルのBridgeポートの確認

  • Bridgeのユーザー名とパスワードの入力

  • プロジェクトのビルド

  • 安定したマシン全体のランタイムのインストール

  • Claude Desktop MCP設定エントリの書き込み

設定後、Claude Desktopを再起動し、Proton Bridgeを開いたままにしてから、+Connectorsproton-mail-bridge を確認してください。

ランタイムは以下の場所にインストールされます:

  • macOS: ~/Library/Application Support/Proton Mail Bridge Client

  • Linux: ~/.local/share/proton-mail-bridge-client

  • Windows: %APPDATA%\Proton Mail Bridge Client

アップデート

git pull
npm run update:claude-desktop

Claude Desktopの手動設定

{
  "mcpServers": {
    "proton-mail-bridge": {
      "command": "node",
      "args": ["/path/to/runtime/dist/index.js"],
      "cwd": "/path/to/runtime",
      "env": {
        "PROTONMAIL_USERNAME": "you@proton.me",
        "PROTONMAIL_PASSWORD": "your-bridge-password",
        "PROTONMAIL_IMAP_HOST": "127.0.0.1",
        "PROTONMAIL_IMAP_PORT": "1143",
        "PROTONMAIL_IMAP_SECURE": "false",
        "PROTONMAIL_SMTP_HOST": "127.0.0.1",
        "PROTONMAIL_SMTP_PORT": "1025"
      }
    }
  }
}

macOSに関する注意

macOSでは、better-sqlite3 は現在のマシン用にビルドされたネイティブバイナリである必要があります。インストーラーがこれを自動的に処理します。別の環境から復元した場合や、ネイティブモジュールのクラッシュが発生した場合は、npm run update:claude-desktop を実行してください。

信頼と安全性

  • 完全にローカルで実行されます — ホストされたリレーやリモートURLはありません。

  • Proton Mailとは、自身のマシン上のProton Bridgeを通じてのみ通信します。

  • PROTONMAIL_READ_ONLY=true はすべての書き込み操作を無効にします。

  • PROTONMAIL_ALLOW_SEND=false は、他の書き込み操作に影響を与えずにSMTP送信を無効にします。

  • PROTONMAIL_ALLOWED_ACTIONS は、許可されるメールボックスの変更操作を制御します。

  • batch_email_action および apply_thread_action はどちらも dryRun: true をサポートしています。

  • *_FILE および *_COMMAND シークレットをサポートしているため、生の認証情報が設定やシェルの履歴に残ることはありません。

  • システムフォルダ(受信トレイ、送信済み、ゴミ箱、迷惑メール、アーカイブ、すべてのメール)は、誤削除から保護されています。

ClaudeのネイティブGmailコネクタとの比較

機能

Gmailコネクタ

Proton Mail Bridge Client

セットアップ

ファーストパーティOAuth

Proton Bridge + 本クライアントが必要

検索と読み取り

ネイティブClaude UX

IMAP + ローカルインデックス

メールの送信

いいえ

はい

下書きワークフロー

より優れたファーストパーティUX

リモート下書き同期を含む完全な制御

添付ファイルの内容

限定的

取得および保存

メールボックス操作

限定的

完全(スター、移動、アーカイブ、ゴミ箱、復元、削除、バッチ)

フォルダ管理

いいえ

はい(作成、名前変更、削除)

CLIアクセス

いいえ

MCPと完全な同等性

元のメッセージリンク

より優れている

MCPリソースリンクのみ

ネイティブスレッド/ラベル

Gmailネイティブ

IMAPから再構築

ツールインターフェース

送信

send_email · send_test_email · reply_to_email · forward_email

下書き

create_draft · create_reply_draft · create_forward_draft · create_thread_reply_draft · list_drafts · list_remote_drafts · get_draft · update_draft · sync_draft_to_remote · send_draft · delete_draft

読み取り

get_emails · get_email_by_id · search_emails · list_attachments · get_attachment_content · save_attachments · save_attachment

トリアージ

get_folders · sync_folders · get_labels · get_threads · get_thread_by_id · get_thread_brief · get_actionable_threads · get_inbox_digest · get_follow_up_candidates · find_document_threads · prepare_meeting_context

アクション

mark_email_read · star_email · move_email · archive_email · trash_email · restore_email · delete_email · batch_email_action · apply_thread_action

フォルダ管理

create_folder · rename_folder · delete_folder

分析

get_email_stats · get_email_analytics · get_contacts · get_volume_trends

診断

get_connection_status · get_runtime_status · run_doctor · get_audit_logs · run_background_sync · wait_for_mailbox_changes · sync_emails · get_index_status · search_indexed_emails · clear_cache · clear_index · get_logs

運用上の注意

  • get_emails および search_emails は複合的な emailId を返します。読み取りやアクションにはこれを使用してください。

  • ローカルインデックスは PROTONMAIL_DATA_DIR/mail-index.sqlite に保存されます。

  • 監査ログは PROTONMAIL_DATA_DIR/audit.log に保存されます。

  • バックグラウンド同期とIMAP IDLEはインデックスを最新の状態に保ちますが、Bridgeが起動している必要があります。

  • search_indexed_emailsfrom:to:subject:label:domain: のショートカットをサポートしています。

  • 下書きの同期はベストエフォート型です。リモート同期が失敗した場合でも、ローカルの下書きは常に保持されます。

ライセンス

MIT

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
30dResponse time
3dRelease cycle
12Releases (12mo)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/googlarz/proton-mail-bridge-client'

If you have feedback or need assistance with the MCP directory API, please join our Discord server