mcpField
P
pp-sentry

pp-sentry

github.com/mvanhornクラウド・DevOps2.1k278 回インストール今日更新
リポジトリ

pp-sentry について

pp-sentryは、SentryのオブザーバビリティデータにアクセスするPrinting Press CLIスキルです。エージェントやスクリプト向けに、組織やプロジェクトの構造化照会、ローカル同期、検索、エクスポートを提供します。

主な機能

  1. 01組織、プロジェクト、問題、イベントの照会
  2. 02Sentry Seerのモデル名一覧
  3. 03JSON出力とフィールド選択
  4. 04ローカル同期、検索、エクスポート

活用シーン

  1. 01組織やプロジェクトのスラッグを確認
  2. 02問題を絞り込んでトラブルシューティング
  3. 03引き継ぎ用に組織情報をエクスポート

MCP 対応

別途MCPサーバーをインストールし、Claude Codeに登録する手順が記載されています。MCPクライアントから利用できます。

インストール

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

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

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

詳細

Sentry — Printing Press CLI

前提条件:CLI をインストールする

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

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

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

go install github.com/mvanhorn/printing-press-library/library/monitoring/sentry/cmd/sentry-pp-cli@latest

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

この CLI を使用する場面

エージェントやスクリプトから、Sentry の組織、プロジェクト、イシュー、イベント、リリース、モニター、チーム、および関連するオブザーバビリティデータに構造化された形でアクセスする必要がある場合に、この CLI を使用してください。ローカルバイナリ、ローカルでの同期/検索/SQL、CSV/JSON 出力、または認証やリージョンルーティングを直接制御する必要がある場合は、ホスト型 MCP よりもこの CLI を優先してください。

独自の機能

これらの機能は、この API 用の他のツールでは利用できません。

読み取り専用の Sentry インベントリ
  • organizations list — 認証済みトークンで利用できる Sentry 組織を、構造化された出力で一覧表示します。

    エージェントが Sentry API の操作で使用する組織のスラッグを調べる必要がある場合、まずこれを使用してください。

    sentry-pp-cli organizations list --json --select slug,name
    
  • seer — Sentry Seer で利用できるアクティブな LLM モデル名を一覧表示します。

    エージェントが Sentry で公開されている Seer 対応モデルの識別子を確認する必要がある場合に使用してください。

    sentry-pp-cli seer --json
    

HTTP トランスポート

この CLI は、ブラウザー向けエンドポイントに Chrome 互換の HTTP トランスポートを使用します。通常の API 呼び出しに、常駐するブラウザープロセスは必要ありません。

コマンドリファレンス

organizations — 組織向けのエンドポイント

  • sentry-pp-cli organizations list-your — リージョン内で認証済みセッションが利用できる組織の一覧を返します。特に、次のような場合に役立ちます……
  • sentry-pp-cli organizations retrieve-an — メンバーシップアクセスやチームなど、さまざまな詳細情報を含む個々の組織の詳細を返します。
  • sentry-pp-cli organizations update-an — 指定した組織のさまざまな属性や設定可能な項目を更新します。

projects — プロジェクト向けのエンドポイント

  • sentry-pp-cli projects delete-a — プロジェクトの削除をスケジュールします。削除は非同期で行われるため、すぐには完了しません。ただし……
  • sentry-pp-cli projects retrieve-a — 個々のプロジェクトの詳細を返します。
  • sentry-pp-cli projects update-a — 指定したプロジェクトのさまざまな属性や設定可能な項目を更新します。なお、単に……を持っているだけでは

seer — Seer 機能向けのエンドポイント

  • sentry-pp-cli seer — Seer で現在使用されている LLM モデル名の一覧を取得します。現在……で使用されている AI モデルの一覧を返します。

sentry-app-installations — Sentry アプリのインストールを管理します

sentry-apps — Sentry アプリを管理します

  • sentry-pp-cli sentry-apps delete-a-custom-integration — カスタムインテグレーションを削除します。
  • sentry-pp-cli sentry-apps retrieve-a-custom-integration-by-id-or-slug — カスタムインテグレーションを取得します。
  • sentry-pp-cli sentry-apps update-an-existing-custom-integration — 既存のカスタムインテグレーションを更新します。

teams — チーム向けのエンドポイント

  • sentry-pp-cli teams delete-a — チームの削除をスケジュールします。**注:**削除は非同期で行われるため、すぐには完了しません。チームは……
  • sentry-pp-cli teams retrieve-a — 個々のチームの詳細を返します。
  • sentry-pp-cli teams update-a — 指定したチームのさまざまな属性や設定可能な項目を更新します。
適切なコマンドを見つける

やりたいことは分かっているものの、それを実行するコマンドが分からない場合は、CLI に直接尋ねてください。

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

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

レシピ

組織を見つける
sentry-pp-cli organizations list --json --select slug,name

スコープを指定した Sentry コマンドで使う組織のスラッグを見つけます。

組織のプロジェクトを一覧表示する
sentry-pp-cli organizations projects list-an-organization-s my-org --json --select slug,name

プロジェクトを対象とするインシデントの問い合わせに先立って、プロジェクトのスラッグを見つけます。

問題を絞り込んで一覧表示する
sentry-pp-cli organizations issues list-an-organization-s my-org --agent --select shortId,title,count,userCount

現在の問題をトリアージする際に、エージェントのコンテキストを絞り込みます。

組織のインベントリをエクスポートする
sentry-pp-cli export organizations --format json --output sentry-organizations.json

データを同期または一覧表示した後、持ち運び可能なインシデント引き継ぎファイルを作成します。

CLI の機能を確認する
sentry-pp-cli agent-context --pretty

Sentry の操作を選択する前に、エージェントに最新のコマンドと認証の概要を提示します。

認証の設定

SENTRY_AUTH_TOKEN に、org:read、project:read、event:read などの読み取りスコープを持つ Sentry のユーザーまたは組織のトークンを設定します。EU リージョンの SaaS 組織では SENTRY_REGION=de を設定します。セルフホスト版 Sentry が生成された設定でサポートされている場合は、ベース URL を設定してください。

sentry-pp-cli doctor を実行して設定を検証します。

エージェントモード

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

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

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

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

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

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

レスポンスエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力をデータの出所を示すエンベロープで包みます。

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

データには .results を解析し、ライブデータかローカルデータかを確認するには .meta.source を参照してください。人間が読みやすい N results (live) の概要は、stdout がターミナルの場合にのみ stderr に出力されます。パイプやエージェント経由で利用する場合、stdout には JSON のみが出力されます。

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

この CLI に問題があることに気付いた場合(あなた自身でもエージェントでも)、記録してください。

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

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

バグ報告ではなく、意外に感じたことを書いてください。簡潔で具体的な 1 行にしてください。そこから改善が積み重なっていきます。

出力の配信

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

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

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

名前付きプロファイル

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

sentry-pp-cli profile save briefing --json
sentry-pp-cli --profile briefing organizations list-your
sentry-pp-cli profile list --json
sentry-pp-cli profile show briefing
sentry-pp-cli profile delete briefing --yes

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

終了コード

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

引数の解析

$ARGUMENTS を解析します:

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

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

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

直接使用

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

コメント