mcpField
J
JMAP Email

JMAP Email

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

JMAP Email について

JMAP Email は、JMAP メールサービスを操作するための MCP サーバーです。メールボックス、メール、送信者 ID、Sieve スクリプトの操作を提供し、送信とスクリプト管理はオプションで有効にできます。

主な機能

  1. 01メールの検索・取得と下書き作成
  2. 02メールの移動・フラグ設定・削除
  3. 03メールボックスの表示と管理
  4. 04送信者 ID の一覧表示
  5. 05Sieve スクリプトの検証と管理
  6. 06オプションでのメール送信有効化

活用シーン

  1. 01条件を指定したメールの検索と確認
  2. 02メールの整理とフラグ管理
  3. 03下書き作成と必要に応じた送信
  4. 04メール振り分けスクリプトの確認や更新

MCP 対応

JMAP のメールおよび Sieve スクリプト操作をツールとして MCP クライアントに提供します。メール送信と Sieve ツールは機能フラグで有効化できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mikluko-jmap": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"JMAP_SESSION_URL",
"-e",
"JMAP_AUTH_TOKEN",
"ghcr.io/mikluko/jmap-mcp:0.10.0"
],
"env": {
"JMAP_SESSION_URL": "<JMAP_SESSION_URL>",
"JMAP_AUTH_TOKEN": "<JMAP_AUTH_TOKEN>"
}
}
}
}
起動コマンドdocker run -i --rm -e JMAP_SESSION_URL -e JMAP_AUTH_TOKEN ghcr.io/mikluko/jmap-mcp:0.10.0
設定が必要な環境変数
JMAP_SESSION_URLJMAP session endpoint URL (e.g. https://api.fastmail.com/jmap/session)
JMAP_AUTH_TOKENシークレットJMAP bearer token for authentication

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

パッケージ
ocighcr.io/mikluko/jmap-mcp:0.10.0

ツール

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

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

詳細

jmap-mcp

JMAP のメールおよび Sieve スクリプト操作をツールとして公開する MCP サーバーです。

Go MCP SDK(go-sdk)と go-jmap ライブラリを使用して構築されています。

ツール

ツールは JMAP メソッドにほぼそのまま対応しています。メールの変更ツールでは、Email/set のパッチを扱いやすくする構造化されたラッパーを提供します。

メールボックス(RFC 8621)
ツールJMAP メソッド説明
mailbox_getMailbox/getID を指定してメールボックスを取得するか、すべて一覧表示します
mailbox_setMailbox/setメールボックスを作成、更新、または削除します
メール(RFC 8621)
ツールJMAP メソッド説明
email_queryEmail/queryフィルターを使ってメールを検索し、ID と合計件数を返します
email_getEmail/getID を指定してメールの全文を取得します
email_createEmail/setDrafts メールボックスに新しいメールの下書きを作成します
email_moveEmail/setメールを別のメールボックスに移動します
email_flagEmail/setフラグ(既読、フラグ付き、返信済み、下書き)を設定または解除します
email_deleteEmail/setメールを削除します(Trash に移動するか、完全に削除します)
email_attachment_urlBlob download添付ファイルをストリーミングする署名付き URL。30 秒で有効期限が切れます(HTTP モードのみ)
ID
ツールJMAP メソッド説明
identity_getIdentity/get送信者の ID(メールアドレス)を一覧表示します
送信(機能フラグで有効化)
ツールJMAP メソッド説明
email_submission_setEmailSubmission/set下書きを送信します(-enable-send が必要です)
Sieve スクリプト(RFC 9661、機能フラグで有効化)
ツールJMAP メソッド説明
sieve_getSieveScript/getすべてのスクリプトを一覧表示するか、全文を指定して 1 つ取得します(-enable-sieve が必要です)
sieve_setSieveScript/setSieve スクリプトを作成、更新、または削除します(-enable-sieve が必要です)
sieve_validateSieveScript/validate保存せずに Sieve スクリプトを検証します(-enable-sieve が必要です)

設定

環境変数必須説明
JMAP_SESSION_URL常にJMAP セッションエンドポイント(例:https://api.fastmail.com/jmap/session)
JMAP_AUTH_TOKENstdio モードJMAP 認証用のベアラートークン
ATTACHMENT_URL_SECRETいいえ署名付き添付ファイル URL をシールするシークレット。複数レプリカのデプロイでは設定してください(デフォルト:プロセスごとにランダムなキー)
フラグデフォルト説明
-modestdioサーバーモード:stdio または http
-listen:8080HTTP のリッスンアドレス(http モードのみ)
-enable-sendfalseemail_submission_set ツールを有効にします(デフォルトでは無効)
-enable-sievefalseSieve スクリプトツールを有効にします(デフォルトでは無効。JMAP サーバーのサポートが必要です)
-external-url派生署名付き添付ファイルリンク用の外部ベース URL。デフォルトではリクエストから派生します(X-Forwarded-Proto/X-Forwarded-Host に対応)

HTTP モードでは、Authorization: Bearer <token> ヘッダーまたは jmap_token クエリパラメーターでリクエストごとにトークンを渡せます(クエリパラメーターが優先されます)。

HTTP モードでは、email_attachment_url は /attachments/ から配信されるリンクを返します。このリンクは発行から 30 秒後に有効期限が切れます。リンクは AES-GCM でシールされたケイパビリティで、JMAP トークン、アカウント、blob ID を含みます。そのため、エンドポイントは追加の認証なしで JMAP サーバーから添付ファイルをストリーミング配信し、ディスクには何も保存しません。

インストール

Kubernetes(Helm)
helm install jmap-mcp oci://ghcr.io/mikluko/helm-charts/jmap-mcp \
  --version 0.1.0 \
  --set jmap.sessionURL="https://api.fastmail.com/jmap/session"

HTTP モードでは、JMAP 認証トークンは Authorization: Bearer ヘッダーまたは ?jmap_token= クエリパラメーターを使ってリクエストごとに渡します。クラスターに静的トークンが保存されることはありません。

バイナリ
go install github.com/mikluko/jmap-mcp@latest
ソースから
git clone https://github.com/mikluko/jmap-mcp.git
cd jmap-mcp
make install

使い方

# stdio mode (default)
export JMAP_SESSION_URL=https://api.fastmail.com/jmap/session
export JMAP_AUTH_TOKEN=your-token
./jmap-mcp

# HTTP mode
./jmap-mcp -mode http -listen :8080

ビルド

make build # Build and push container image + Helm chart
make image # Build and push container image with ko
make package # Package and push Helm chart to OCI registry
make test # Run tests
make install # Install binary locally

参考資料

コメント

MCP は初めてですか?

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

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