mcpField
P
Proton Mcp

Proton Mcp

ローカル
github.com/just-an-oldsaltコミュニケーション65 週間前に更新

Proton Mcp について

Proton MailをClaude DesktopとClaude Codeに接続し、メールの閲覧、検索、整理、送信とカレンダー参照を行うローカルMCPサーバーです。読み取りにはローカルのSQLiteミラーを使い、書き込みはYAMLポリシーとTouch IDで制御し、呼び出しを秘匿化して記録します。

主な機能

  1. 01メールとスレッドの閲覧・検索
  2. 02メール整理、ラベルとフォルダー管理
  3. 03下書きの作成と管理
  4. 04Touch IDによる送信・書き込み承認
  5. 05カレンダーとイベントの参照
  6. 06ローカルSQLiteミラーと監査ログ

活用シーン

  1. 01受信メールの検索と要約
  2. 02メールの移動や既読化
  3. 03宛先を確認して送信・返信
  4. 04日付を指定したイベントの確認

MCP 対応

34個のMCPツールを通じて、Claude DesktopとClaude CodeにProton Mailとカレンダーの操作を提供します。書き込みはYAMLポリシーで制御され、送信ごとにTouch ID承認が必要です。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

proto-mcp

Claude に受信トレイを使わせながら、主導権はあなたが握れます。

Proton Mail と Claude をつなぐ、署名・公証済みで Touch ID による承認が必要なブリッジです。すべて Mac 上で動作します。Claude は 34 個の Model Context Protocol ツールを通じて、メールの閲覧、検索、整理、下書き、送信、カレンダーの閲覧を行います。メールを送信するには、実際の宛先が明記されたプロンプトに対して、毎回指紋認証が必要です。

メール以外の情報が Mac から外部に送信されることはありません。

platform: macOS Go 1.26.6+ signed & notarized MCP license: GPLv3


使い心地

あなたは Claude と話します。Claude はメールボックスを操作します。重要な操作には、あなたが関与し続けます。

「今週、クライミング仲間から何か連絡があった?」 → Claude はローカルミラーを検索してスレッドを読み、要約します。閲覧は安全なので、プロンプトは表示されません。

「ニュースレターをすべて『あとで読む』に移動して、既読にして」 → Claude が移動して既読にします。整理操作には承認が必要ですが、静かに行われます。

「アリスに土曜日に参加すると返信して、送信して」 → Touch ID のプロンプトが表示されます:宛先:[email protected] · 件名:Re: gear list。タップすれば送信されます。あなたは送信していません。

閲覧にはすべてローカルの SQLite ミラーを使うため、高速でオフラインでも動作します。すべての書き込みはツールごとのポリシーで制御されます。すべての送信では、毎回あらためてプロンプトが表示され、実際の宛先がそのまま示されます。この指紋認証が、「Claude が下書きを作成した」と「Claude が送信した」の境界です。

クイックスタート

brew tap just-an-oldsalt/proto-mcp
brew install --cask proto-mcp

protonmcp setup

以上で完了です。setup を実行すると、サインインし、メールボックスのインデックスをローカルデータベースにコピーして、バックグラウンドサービスを起動し、両方の Claude クライアントを接続します。各手順の内容も実行しながら説明します。その後 Claude を再起動すると、/mcp の protonmcp にツールが表示されます。

安全に再実行できます。完了済みの手順はスキップされるため、修復用コマンドとしても使えます。

4 つの手順を自分で実行しますか?
protonmcp login            # Proton SRP password + 2FA + key unlock
protonmcp backfill         # one-time: pull your message envelopes into the local mirror
protonmcp daemon install   # register + start the background daemon
protonmcp install          # connect it to Claude Desktop + Claude Code

署名・公証済みのバイナリを使用するため、Gatekeeper の警告は表示されず、ネットワークリスナーも起動しません。

動作しない場合は、protonmcp doctor を実行してください。インストールの各要素を確認し、修正に必要なコマンドを 1 つ教えてくれます。

[  ok  ] protonmcpd             version 1.0.2
[  ok  ] login                  session present in keychain
[ FAIL ] local mirror           exists but holds no messages
[  ok  ] daemon                 running (pid 4875), socket healthy

To fix:
  local mirror
      protonmcp backfill

brew upgrade --cask proto-mcp の実行後、protonmcp daemon restart を実行して、新しいビルドをデーモンに読み込ませてください。

自分でビルドしますか?ソースからのビルドをご覧ください。

Claude にできること

操作対象ごとに分類された 34 個のツールがあります。閲覧は自由に行えます。状態を変更する操作はすべて、デフォルトで拒否され、Touch ID による承認が必要です。

📖 閲覧と検索一覧表示、全文検索、メッセージの閲覧、スレッドの再構成、添付ファイルの一覧表示、ラベル/フォルダーの一覧表示、同期。
🗂️ 整理既読/未読の切り替え、移動、ラベル付け、ゴミ箱への移動。
🏷️ ラベルとフォルダー色パレットの検証を含む、CRUD 全般。
✍️ 下書き作成、更新、削除、一覧表示。
📤 送信送信、返信、全員に返信、転送、下書きの送信。いずれも毎回あらためて承認が必要です。
📎 添付ファイル復号してダウンロードし、ディスクに保存。
📅 カレンダーカレンダーの一覧表示、日付範囲を指定したイベントの閲覧/検索、イベントの詳細表示。読み取り専用です。

説明付きの全ツール一覧:docs/cli-reference.md。

安全性の理由

proto-mcp は、メールボックスを操作する LLM が、利便性をもたらす存在であり、決してリスクにならないように設計されています。それを実現する保証は次のとおりです。

  • 🔐 送信のたびに本人が確認します。 書き込みを行うたびにネイティブのプロンプトが表示され、宛先と件名がそのまま示されます。mail_send の TTL はゼロなので、毎回必ず再確認を求めます。送信に対する包括的な承認はありません。
  • 🛡️ デフォルト拒否を設計に組み込んでいます。 未知のツールは実行されません。また、登録されたツールに明示的なポリシー項目がない場合、デーモンは起動を拒否します。ガードされていない書き込みを誤ってリリースすることはありません。
  • 🍎 署名・公証済みで、自己検証機能を備えています。 Hardened Runtime を有効にし、Developer ID で署名され、Apple の公証を受けたバイナリを使用します。さらに、起動時に SHA-256 による整合性チェックを行い、差し替えられたデーモンの実行を拒否します。
  • 🔒 その場を離れるとロックします。 画面ロック、スリープ、またはアイドルタイマーによって、メモリ内のセッションを消去します。再開には Touch ID が必要です。
  • 🧾 正確で、機密情報を除去した監査ログです。 すべての呼び出しを記録し、秘密情報は除去、本文は {sha256, bytes} に縮約します。検証チェーンの正確性を保つため、宛先はそのまま記録します。
  • 🏠 ローカル限定です。 デーモンは 0600 の Unix ソケットで待ち受け、ネットワークポートは使用しません。メールの内容は TLS 経由で Proton に送信され、それ以外の情報が外部に送信されることはありません。

実際のプロンプトの表示例:

┌──────────────────────────────────────────────┐
│ Send mail_send?                              │
│                                              │
│ To: [email protected]                        │
│ CC: [email protected]                      │
│ Subject: Re: gear list                       │
│                                              │
│ [ Cancel ]              [ Send & Touch ID ]  │
└──────────────────────────────────────────────┘

proto-mcp が防御しないリスクも含む完全な脅威モデルは、docs/security.md に記載されています。実際のメールボックスに接続する前にお読みください。

仕組み

バックグラウンドで動作する単一のデーモンが、Touch ID でロック解除されたセッションを保持し、ローカルソケット経由ですべてのツールを提供します。Claude Desktop と Claude Code は、それぞれ小さなフォワーダーを介して接続するため、1 つのセッションを共有します。一度ロック解除すればどこでも使え、一度ロックすればすべてがロックされます。

Claude Desktop ─┐                          ┌─ go-proton-api + GPG
Claude Code ────┼─ shim ─ socket ─ protonmcpd ┼─ SQLite mirror + FTS5
                ┘     (0600)               └─ Touch ID + policy + audit

すべてのバイナリ、パッケージ、ローカルミラーを含む設計の全容は、docs/architecture.md に記載されています。

設定

単一の YAML ファイルで、ツールごとのポリシー、レート制限、許可する宛先、アイドルロックのタイマー、キャッシュされた本文の TTL を調整できます。たとえば、LLM による送信数に上限を設け、宛先を 1 つのドメインに制限するには、次のようにします。

tools:
  mail_send:
    decision: prompt
    rate_limit: 5/hour
    allowed_recipients: ["@mydomain.com"]
idle_lock_minutes: 30

完全なリファレンスに加え、ロック機能と監査/可観測性コマンドについては、docs/configuration.md をご覧ください。

ソースからビルドする

macOS 13 以降、Go 1.26.6+、および Xcode Command Line Tools(swiftc 用)が必要です。

git clone https://github.com/just-an-oldsalt/proto-mcp.git
cd proto-mcp
make all                          # builds bin/* + the Swift helpers
./bin/protonmcp setup

make all は、お使いのアーキテクチャ向けにビルドします。make universal は arm64 と x86_64 向けにビルドし、lipo で bin/universal/ にまとめます。これはリリースに含まれる形式で、cask は Apple シリコンと Intel の両方で動作します。

ソースからのビルドは、デフォルトでアドホック署名され、すべての機能が動作します(Touch ID によるゲート、ポリシー、監査、ロック/ロック解除はすべて同じように機能します)。ローカル署名ビルドについては、scripts/signing-setup.md をご覧ください。

知っておくとよいこと

  • macOS 専用です。 キーストアと生体認証のヘルパーは Security.framework、LAContext、AppKit を使用します。テスト用に Linux 向けビルドもコンパイルできますが、認証フローは動作しません。
  • Proton の利用者として節度を守ってください。 現在 proto-mcp は Proton Bridge の AppVersion ヘッダーを送信していますが、Proton には専用識別子をリクエストしています(docs/proton-appversion-request.md を参照)。レート制限を悪用したり、スクレイピングしたり、複数アカウントの自動操作を行ったりしないでください。Bridge のヘッダーを借用しても、Proton の利用規約に違反する行為が許されるわけではありません。
  • キャッシュされた本文は SQLite に平文で保存されます。 復号されたメッセージ本文はローカルにキャッシュされます(TTL による制限があり、secure_delete は有効です)。盗難やイメージ化されたディスクでは、消去されるまで復元可能な平文が残ります。エンベロープ暗号化(SQLCipher)は 1.0 以降の項目です。現時点では protonmcp purge --older-than 7d --vacuum を実行すると、残存期間を短縮できます。
  • 個人利用向けです。 1 人のユーザーが Mac 上で自分のメールボックスを使うために作られています。

ドキュメント

ドキュメント内容
docs/architecture.mdデーモンモデル、バイナリ、パッケージ、ローカルミラーについて説明します。
docs/security.mdセキュリティレイヤーと、率直かつ完全な脅威モデルについて説明します。
docs/configuration.mdポリシー YAML、ロック、可観測性、消去について説明します。
docs/cli-reference.mdすべての CLI コマンドと 34 個すべての MCP ツールについて説明します。
SECURITY.mdセキュリティポリシーと、欠陥ごとの修正ログ/監査証跡について説明します。
TESTING.mdエンドツーエンド検証の手順書です。

課題、欠陥、ロードマップは、信頼できる唯一の情報源である Jira(プロジェクト PROTO)で管理しています。TODO.html と DEFECTS.html は、開発時の設計記録として保持されています。

コントリビューション

PR を歓迎しますが、まず課題を登録してください。アーキテクチャの大部分はすでに決まっているため、事前の相談なしに範囲の大きな PR を送っても、採用されない可能性があります。 .github/CODEOWNERS では、セキュリティ上重要なパス(internal/redact/、internal/keystore/、internal/policy/、internal/approval/、helpers/touchid/、helpers/lockwatch/)の必須レビュアーを定義しています。

ライセンスと謝辞

GPLv3 です。詳細は LICENSE をご覧ください。proto-mcp は go-proton-api 経由で proton-bridge(こちらも GPLv3)に推移的に依存しています。

  • Proton AG に、暗号化とトランスポートの基盤全体を支える proton-bridge と go-proton-api を提供していただいたことに感謝します。
  • Anthropic に、このサーバーが対象とする Model Context Protocol と Claude クライアントを提供していただいたことに感謝します。
  • cmd-r、claude-review、claude-security-review、または実際のテストセッションで、私ひとりで確認するよりも入念にコードを見ていただいたことで、そのような形になったすべての欠陥に感謝します。

コメント

MCP は初めてですか?

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

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