mcpField
P
pp-multimail

pp-multimail

github.com/mvanhorn生産性2.1k42 回インストール今日更新
リポジトリ

pp-multimail について

pp-multimailは、multimail-pp-cliでMultiMailのメール群を運用するスキルです。エージェントのメールボックス、監督承認、信頼レベル、受信トレイの状態を管理するチーム向けに、全体レポートとキュー処理機能を提供します。

主な機能

  1. 01アカウント全体のメールボックスと連携状態を確認
  2. 02条件に合う保留メールを一括承認・拒否
  3. 03監督処理率と信頼状態を追跡
  4. 04受信トレイの状態と停滞スレッドを確認
  5. 05監査状況とWebhook配信状態をレポート
  6. 06メールを送信して返信を待機

活用シーン

  1. 01複数のエージェント用メールボックスの保留メールを確認
  2. 02承認のボトルネックと信頼レベル昇格の準備状況を把握
  3. 03未読の滞留や未返信スレッドを検出
  4. 04メール群全体の監督判断を監査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-multimail

インストール後、Claude Code で/pp-multimailを入力して読み込まれたか確認します。

詳細

MultiMail — Printing Press CLI

前提条件:CLI のインストール

このスキルは multimail-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。

  1. Printing Press インストーラーを使用してインストールします。バイナリの既定のインストール先は、macOS/Linux では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin です。
    npx -y @mvanhorn/printing-press-library install multimail --cli-only
    
  2. 確認します:multimail-pp-cli --version
  3. 報告されたインストールディレクトリが、このスキルを実行するエージェント/ランタイムの $PATH に含まれていることを確認します。

npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go を直接インストールしてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/multimail/cmd/multimail-pp-cli@latest

インストール後に --version が「command not found」と報告する場合、ランタイムからバイナリディレクトリを $PATH 経由で参照できていません。確認に成功するまで、スキルのコマンドを実行しないでください。

この CLI を使用する場面

エージェントのメール運用を管理する必要がある場合は、multimail-pp-cli を使用してください。監督待ちキューの処理、信頼レベルの進捗の監視、メールボックス横断検索、受信トレイの健全性の追跡に利用できます。MultiMail の段階的な自律性モデルを、日々の運用ワークフローに変えます。

使用しない場面

以下の場合は、この CLI を使用しないでください。

  • マーケティングメールの一括送信 — MultiMail はエージェントと人間のコミュニケーション向けであり、大量メール送信向けではありません
  • MultiMail 以外のメールアカウント(Gmail、Outlook)の管理 — better-email-mcp またはネイティブ MCP ツールを使用してください
  • リアルタイムのメールストリーミング — サブ秒単位でイベントを配信するには、MultiMail の Webhook を直接使用してください
  • アカウントの請求内容の変更 — 支払いやプランの管理には MultiMail ダッシュボードを使用してください

独自の機能

この API を扱う他のツールでは、以下の機能を利用できません。

エージェント向けの仕組み
  • fleet health — アカウント全体の健全性を単一コマンドでスナップショット表示します。メールボックス数、監督待ちキューの深さ、Webhook 配信率、ドメインの確認状況、使用量とプラン上限を確認できます。

    エージェントが送信前に MultiMail 連携の健全性を確認したい場合、別々の 5 つのエンドポイントを確認する代わりに、1 つのコマンドで済みます。

    multimail-pp-cli fleet health --json --agent --select mailboxes.total,oversight.pending_count,webhooks.success_rate
    
  • oversight bulk-decide — メールボックス、送信者、経過時間で絞り込んだすべての保留中メールを、1 つのコマンドで承認または却下します。

    エージェントのテストキューに保留中のメールが 20 件ある場合、個別に承認する 20 回の呼び出しの代わりに、1 つのコマンドで処理できます。

    multimail-pp-cli oversight bulk-decide --approve --mailbox support-agent --json
    
  • oversight velocity — フリート全体で、メールボックスごとの承認/却下率と決定までの時間の中央値を確認できます。

    エージェントの送信が承認キューで滞っている場合、どのメールボックスのオペレーターがボトルネックになっているかを特定できます。

    multimail-pp-cli oversight velocity --json --days 7
    
  • trust status — 各メールボックスの監督モード、そのレベルでの継続期間、アップグレードの適格性をフリート全体で確認できます。

    信頼レベルのアップグレードを申請する前に、エージェントはどのメールボックスが準備できているか、またどのメールボックスが現在のレベルに最も長くとどまっているかを把握できます。

    multimail-pp-cli trust status --json --agent --select name,oversight_mode,time_at_level
    
  • trust timeline — メールボックスごとに、すべての監督モード変更の時系列履歴を、タイムスタンプと変更を実行したユーザーとともに確認できます。

    信頼レベルのアップグレードを申請するかどうかを判断する際、エージェントは各レベルで責任ある運用を続けてきた履歴を提示する必要があります。

    multimail-pp-cli trust timeline --mailbox support-agent --json
    
  • emails send-and-wait — メールを送信し、返信の到着またはタイムアウトまで待機します。エージェントのテストループを 1 つのコマンドで実行できます。

    1 つのワークフローステップ内で送信と返信の処理を行う必要がある場合、手動での送信・ポーリング・読み取りのループを置き換えます。

    multimail-pp-cli emails send-and-wait --mailbox test-agent --to [email protected] --subject 'Test' --body 'Hello' --timeout 5m --json
    
蓄積されるローカル状態
  • mailboxes allowlist coverage — 最近の宛先のうち、許可リストのパターンでカバーされているものと、ゲート対象になっているものの割合を確認します。

    許可リストにエントリーを追加する前に、エージェントはすでにカバーされている宛先と、ゲート処理の負担が最も大きい宛先を把握しておく必要があります。

    multimail-pp-cli mailboxes allowlist coverage --mailbox primary --days 30 --json --agent --select pattern,match_count,percentage
    
  • inbox health — メールボックスごとの健全性スナップショット:未読件数、最も古い未読メールの経過時間、返信率、スレッドの深さを表示します。

    エージェントが自身の受信トレイの健全性を監視すれば、運用担当者が気づく前に、返信が遅れ始めていることを検知できます。

    multimail-pp-cli inbox health --json --agent --select mailbox,unread_count,oldest_unread_age,reply_rate
    
  • threads stale — N 日間返信のない会話スレッドを一覧表示し、対応が途切れた会話を明らかにします。

    会話スレッドへの対応が途切れることは、顧客対応上の失敗です。これはエージェントの早期警告システムです。

    multimail-pp-cli threads stale --days 3 --json --agent --select thread_id,subject,last_reply_age,mailbox
    
  • audit compliance — エンティティを横断したコンプライアンスレポート:監督のバイパス件数、承認/拒否件数、メールボックスごとの意思決定レイテンシのパーセンタイルを表示します。

    監査担当者がエージェントの動作が承認済みの信頼レベル内であったことを確認する際、手作業でのログ突合に代わります。

    multimail-pp-cli audit compliance --days 30 --json
    
  • webhooks health — Webhook ごとの成功率、失敗件数、最終配信タイムスタンプ、連続失敗回数を表示します。

    エージェントのリアルタイムイベントパイプラインが Webhook に依存している場合、これにより、サイレント障害が蓄積する前に配信状態を確認できます。

    multimail-pp-cli webhooks health --json --agent --select webhook_id,url,success_rate,consecutive_failures
    

コマンドリファレンス

account — アカウントを管理します

  • multimail-pp-cli account create — 解決済みの Proof-of-Work チャレンジが必要です。保留中の登録を作成し、確認メールを送信します。
  • multimail-pp-cli account create-challenge — ALTCHA チャレンジを返します。これを解決し、解答を pow_solution として POST /v1/account に含めてください。
  • multimail-pp-cli account create-resendconfirmation — 公開エンドポイント(認証不要)です。未確認アカウントに、新しいコードを含む有効化メールを再送します。
  • multimail-pp-cli account delete — テナントの全データ(メールボックス、メール、API キー、使用状況、監査ログ)を完全に削除します。スラッグは再登録に使用できるようになります。
  • multimail-pp-cli account list — 現在のテナント情報と使用状況を取得します
  • multimail-pp-cli account update — テナントの設定を更新します

admin — 管理者を管理します

  • multimail-pp-cli admin — 管理者専用です。新しい API キーを作成し、テナントの監督者用メールアドレスにメールで送信します。

agent — エージェントを管理します

  • multimail-pp-cli agent create — verified_email の ID アサーションを使用して、エージェント登録を開始します。
  • multimail-pp-cli agent create-auth — claim_token と OTP を検証して、auth.md の登録を完了します。
  • multimail-pp-cli agent list — エージェント登録用の 6 桁の OTP を表示する、人間向けのページです。確認メールからリンクされています。

api-keys — API キーを管理します

  • multimail-pp-cli api-keys create — admin スコープが必要です。キーの生値はレスポンスで一度だけ返されます。
  • multimail-pp-cli api-keys delete — admin スコープが必要です。初回呼び出しでは pending_approval を含む 202 を返します。完了するには approval_code を指定して再送してください。
  • multimail-pp-cli api-keys list — admin スコープが必要です。キーのプレフィックス、スコープ、メタデータを返します。
  • multimail-pp-cli api-keys update — API キーの名前またはスコープを更新します

approve — 承認を管理します

  • multimail-pp-cli approve create — ホストされたページから承認/拒否を処理します
  • multimail-pp-cli approve get — 監督者が判断するための、ホストされた承認ページを表示します

audit-log — 監査ログを管理します

  • multimail-pp-cli audit-log — カーソルによるページネーションで監査ログエントリーを返します。admin スコープが必要です。

auth-md — auth md を管理します

  • multimail-pp-cli auth-md — MultiMail のエージェント登録フロー、信頼レベル、スコープモデルについて説明する Markdown ドキュメントを返します。

billing — 請求を管理します

  • multimail-pp-cli billing create — 管理者スコープが必要です。
  • multimail-pp-cli billing create-checkout — プランのアップグレード用に Stripe チェックアウトセッションを作成します
  • multimail-pp-cli billing create-coinbasewebhook — Coinbase Commerce の Webhook ハンドラー(公開、署名検証済み)
  • multimail-pp-cli billing create-cryptocheckout — Coinbase Commerce のチェックアウト(暗号資産決済)を作成します
  • multimail-pp-cli billing create-portal — 管理者スコープが必要です。
  • multimail-pp-cli billing create-pricingcheckout — 非アクティブなテナントを作成し、デフォルトのメールボックスをプロビジョニングして、Stripe チェックアウト URL を返します。
  • multimail-pp-cli billing create-stripewebhook — Stripe Webhook ハンドラー(公開、署名検証済み)
  • multimail-pp-cli billing list — 公開エンドポイントです。pricing-checkout 時に保存された API キーを返した後、削除します。

confirm — 確認を管理

  • multimail-pp-cli confirm create — JSON レスポンスには、status、name、oversight_mode、api_key、mailbox_id、mailbox_address、oversight_email、use_case が含まれます。
  • multimail-pp-cli confirm get — コードが入力済みのフロントエンド確認ページにリダイレクトします
  • multimail-pp-cli confirm list — multimail.dev/confirm のフロントエンド確認ページにリダイレクトします

contacts — 連絡先を管理

  • multimail-pp-cli contacts create — アドレス帳に連絡先を追加します。送信スコープが必要です。
  • multimail-pp-cli contacts delete — 管理者スコープが必要です。
  • multimail-pp-cli contacts list — 名前またはメールアドレスでアドレス帳を検索します。すべてを一覧表示するには、クエリを省略します。読み取りスコープが必要です。

data_export — データエクスポートを管理

  • multimail-pp-cli data-export — 管理者スコープが必要です。1 時間あたり 1 リクエストに制限されています。

domains — ドメインを管理

  • multimail-pp-cli domains create — カスタムドメインを追加します(Pro/Scale のみ)
  • multimail-pp-cli domains delete — カスタムドメインを削除します
  • multimail-pp-cli domains get — カスタムドメインの詳細を取得します
  • multimail-pp-cli domains list — 管理者スコープが必要です。

emails — メールを管理

  • multimail-pp-cli emails — 読み取りスコープが必要です。

funnel — ファネルを管理

  • multimail-pp-cli funnel — navigator.sendBeacon を使用した料金ページのビーコンヒット。サインアップモーダルでのオープン/送信/エラーイベントを追跡します。

health — ヘルスを管理

  • multimail-pp-cli health — D1 と R2 の接続を検証します。認証は不要です。

mailboxes — メールボックスを管理

  • multimail-pp-cli mailboxes create — 管理者スコープが必要です。
  • multimail-pp-cli mailboxes delete — 管理者スコープが必要です。
  • multimail-pp-cli mailboxes list — 読み取りスコープが必要です。
  • multimail-pp-cli mailboxes update — 管理者スコープが必要です。ここで可能なのは監督モードのダウングレードのみです。アップグレードにはアップグレードフローが必要です。

operator — オペレーターを管理

  • multimail-pp-cli operator create — 管理者スコープが必要です。オペレーターセッションの Cookie をクリアします。
  • multimail-pp-cli operator create-startsession — 管理者スコープが必要です。監督用メールアドレスにワンタイムコードを送信し、オペレーターセッションの OTP フローを開始します。
  • multimail-pp-cli operator create-verifysession — 管理者スコープが必要です。ワンタイムコードを、有効期間の短い HttpOnly オペレーターセッション Cookie と交換します。
  • multimail-pp-cli operator list — 管理者スコープが必要です。現在のブラウザーにアクティブなオペレーターセッション Cookie があるかどうかを報告します。

oversight — 監督を管理

  • multimail-pp-cli oversight create — 監督スコープが必要です。承認済みの送信メールはすぐに送信されます。
  • multimail-pp-cli oversight list — 監督承認待ちのメールを一覧表示します

slug-check — スラッグチェックを管理

  • multimail-pp-cli slug-check <slug> — スラッグが登録可能かどうかを確認します。使用済みまたは予約済みの場合は候補を返します。認証は不要です。

support — サポートを管理

  • multimail-pp-cli support — 公開エンドポイントです。解決済みの ALTCHA プルーフ・オブ・ワーク・ペイロードが必要です。[email protected] にメッセージを送信します。

suppression — 抑制を管理

  • multimail-pp-cli suppression delete — このアドレスへのメール送信を再び許可します。admin スコープが必要です。
  • multimail-pp-cli suppression list — バウンス、スパム報告、または手動での配信停止により抑制されたアドレスを返します。admin スコープが必要です。

unsubscribe — 配信停止を管理します

  • multimail-pp-cli unsubscribe create — 配信停止リクエストを処理します
  • multimail-pp-cli unsubscribe get — 配信停止ページをレンダリングします(CAN-SPAM)

usage — 使用状況を管理します

  • multimail-pp-cli usage — read スコープが必要です。現在の請求期間の使用量を返します。

webhook-deliveries — Webhook 配信を管理します

  • multimail-pp-cli webhook-deliveries — 最近の Webhook 配信試行を返します。admin スコープが必要です。

webhooks — Webhook を管理します

  • multimail-pp-cli webhooks create — メールイベントをサブスクライブします。署名シークレットを返します(作成時のみ表示)。admin スコープが必要です。
  • multimail-pp-cli webhooks create-postmark — Postmark のバウンス/スパム報告/配信 Webhook ハンドラー
  • multimail-pp-cli webhooks create-postmarkinbound — Postmark から受信メールを受け取ります。Postmark Webhook シークレットを使用した HTTP Basic Auth で認証されます。
  • multimail-pp-cli webhooks delete — Webhook サブスクリプションを削除します
  • multimail-pp-cli webhooks get — 署名シークレットを含みます。admin スコープが必要です。
  • multimail-pp-cli webhooks list — admin スコープが必要です。署名シークレットは一覧に含まれません。

well-known — well-known を管理します

  • multimail-pp-cli well-known get — IP アドレスごとに 1 時間あたり 10 回までに制限されます。
  • multimail-pp-cli well-known list — X-MultiMail-Identity ヘッダーの署名に使用される ECDSA P-256 公開鍵を返します。
  • multimail-pp-cli well-known list-wellknown — 認証について説明する agent_auth 拡張ブロックを含む、OAuth 認可サーバーのメタデータを返します。
  • multimail-pp-cli well-known list-wellknown-2 — サポートされるスコープや認可サーバーなど、OAuth で保護されたリソースとしての MultiMail に関するメタデータを返します。
適切なコマンドを見つける

実行したいことは分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接問い合わせてください。

multimail-pp-cli which "<capability in your own words>"

which は自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに対応付けます。終了コード 0 は少なくとも 1 件一致したことを示します。終了コード 2 は確度の高い一致がないことを示します。その場合は --help を使うか、より絞り込んだ問い合わせをしてください。

レシピ

メールボックスの保留中メールをすべて承認する
multimail-pp-cli oversight list --json --select id,subject,to | multimail-pp-cli oversight bulk-decide --approve --stdin

保留中のメール ID を一括承認にパイプで渡します。ゲートで保留されたメールボックスのキューを空にするのに便利です。

フリートの信頼レベルの概要
multimail-pp-cli trust status --json --agent --select name,oversight_mode,time_at_level

各メールボックスの信頼レベルと、そのレベルに達してからの経過時間を確認します。

フィールドを選択したメールボックス横断検索
multimail-pp-cli search 'quarterly report' --type emails --json --agent --select subject,from,mailbox,received_at

エージェントのコンテキスト効率を高めるため、出力フィールドを絞り込み、同期済みのすべてのメールボックスから特定のメールを検索します。

同期して受信トレイの健全性を確認する
multimail-pp-cli sync --resources mailboxes,emails --since 24h && multimail-pp-cli inbox health --json

ローカルデータを更新してから、各メールボックスの未読数、返信率、最も古い未読メールの経過時間を確認します。

許可リストのカバレッジ分析
multimail-pp-cli mailboxes allowlist coverage --mailbox primary --days 30 --json --agent --select pattern,match_count,percentage

最近の受信者のうち、許可リストのパターンに一致する割合を確認します。ゲートによる摩擦が最も大きいアドレスを見つけます。

認証の設定

MultiMail は、プレフィックス付きキーを使用する Bearer トークン認証を採用しています。本番環境では mm_live_、ステージング環境では mm_test_ を使用します。キーは MultiMail ダッシュボード、または API キー管理エンドポイントから取得してください。

multimail-pp-cli doctor を実行して、設定を確認します。

エージェントモード

任意のコマンドに --agent を追加できます。次のオプションに展開されます:--json --compact --no-input --no-color --yes。

  • パイプ可能 — stdout に JSON、stderr にエラーを出力します

  • フィルタ可能 — --select でフィールドの一部を保持します。ドット区切りのパスはネストされた構造をたどり、配列では各要素をたどります。出力が冗長な API でコンテキストを小さく保つために重要です:

    multimail-pp-cli account list --agent --select id,name,status
    
  • プレビュー可能 — --dry-run で送信せずにリクエストを表示します

  • オフライン対応 — 同期/検索コマンドは、利用可能な場合、ローカルの SQLite ストアを使用できます

  • 非対話型 — プロンプトは表示されず、すべての入力はフラグで指定します

  • 明示的な再試行 — すでに存在するリソースの作成を成功として扱う場合に限り --idempotent を使用し、削除対象が存在しない場合に成功として扱う場合に限り --ignore-missing を使用します

レスポンスエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力を出所情報のエンベロープでラップします:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を解析し、ライブデータかローカルデータかを確認するには .meta.source を参照してください。人間が読める N results (live) の概要が stderr に出力されるのは、stdout がターミナルで、かつ機械可読形式のフラグ(--json、--csv、--compact、--quiet、--plain、--select)が設定されていない場合のみです。パイプ/エージェントの利用者と明示的な形式を指定した実行では、stdout に純粋な JSON が出力されます。

エージェントへのフィードバック

この CLI に問題があると気づいた場合は(エージェントが気づいた場合も同様に)、記録してください:

multimail-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
multimail-pp-cli feedback --stdin < notes.txt
multimail-pp-cli feedback list --json --limit 10

エントリーは ~/.local/share/multimail-pp-cli/feedback.jsonl にローカル保存されます。MULTIMAIL_FEEDBACK_ENDPOINT が設定され、かつ --send が渡されるか MULTIMAIL_FEEDBACK_AUTO_SEND=true が設定されている場合を除き、POST されることはありません。デフォルトではローカルにのみ保存されます。

バグ報告ではなく、意外に感じたことを書いてください。短く、具体的に、1 行で記述します。それが積み重なっていきます。

出力の配信

すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力に加えて(または標準出力の代わりに)指定したシンクに送られるため、エージェントは手動でパイプ処理せずにコマンドの結果を振り分けられます。サポートされているシンクは 3 種類です:

シンク動作
stdoutデフォルト。標準出力のみに書き込みます
file:<path>出力を <path> にアトミックに書き込みます(一時ファイル + rename)
webhook:<url>出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson)

不明なスキームは、サポートされているスキームを示す構造化エラーを返して拒否されます。Webhook の失敗はゼロ以外の終了コードを返し、URL と HTTP ステータスを stderr に記録します。

名前付きプロファイル

プロファイルは、呼び出しのたびに再利用できる、保存済みのフラグ値のセットです。スケジュールされたエージェントが毎回同じ設定で同じコマンドを実行する場合に使用します。HeyGen の「Beacon」パターンです。

multimail-pp-cli profile save briefing --json
multimail-pp-cli --profile briefing account list
multimail-pp-cli profile list --json
multimail-pp-cli profile show briefing
multimail-pp-cli profile delete briefing --yes

明示的なフラグは常にプロファイル値より優先され、プロファイル値はデフォルト値より優先されます。agent-context は、実行時に情報を取得するエージェントが検出できるよう、available_profiles の下にすべての利用可能なプロファイルを一覧表示します。

終了コード

コード意味
0成功
2使用方法のエラー(引数が不正)
3リソースが見つかりません
4認証が必要です
5API エラー(上流の問題)
7レート制限中(待機して再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します:

  1. 空、help、または --help → multimail-pp-cli --help の出力を表示します
  2. install で始まる → mcp で終わる場合は MCP のインストール、それ以外の場合は上記の前提条件を参照してください
  3. その他すべて → 直接使用(--agent を付けて CLI コマンドとして実行)

MCP サーバーのインストール

  1. MCP サーバーをインストールします:
    go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/multimail/cmd/multimail-pp-mcp@latest
    
  2. Claude Code に登録します:
    claude mcp add multimail-pp-mcp -- multimail-pp-mcp
    
  3. 確認します:claude mcp list

直接使用

  1. インストール済みか確認します:which multimail-pp-cli 見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照してください)。
  2. ユーザーの問い合わせに最適なコマンドを、上記の独自機能とコマンドリファレンスから選びます。
  3. --agent フラグを付けて実行します:
    multimail-pp-cli <command> [subcommand] [args] --agent
    
  4. あいまいな場合は、サブコマンドのヘルプを確認します:multimail-pp-cli <command> --help。

コメント