# 読み取り専用MCP連携

アプリ単位の読み取り専用トークンを作成し、MCPクライアントから診断ツールを利用する方法を説明します。

# 読み取り専用 MCP 診断 {#mcp}

Pakta は、読み取り専用の [Model Context Protocol](https://modelcontextprotocol.io/) エンドポイントを `/api/mcp` で公開します。これは、ストリーミング可能な HTTP をサポートするアシスタント向けに、リリース インベントリ、更新決定のリプレイ、構造化されたロールアウト テレメトリを組み合わせたものです。

## 接続する

1. コンソールで **[設定] → [MCP アクセス]** を開きます。
2. 資格情報を作成し、クライアント名を入力して、1 つ以上のアプリケーションを選択します。デフォルトの有効期間は 30 日です。
3. トークンが表示されている間にコピーします。 Pakta はダイジェストのみを保存し、完全な値を再度表示することはありません。
4. エンドポイント `https://<your-pakta-host>/api/mcp` と `Authorization: Bearer <token>` ヘッダーを使用してクライアントを構成します。

資格情報はアプリケーション スコープです。すべてのアプリケーション、チャネル、パッケージ、展開、およびテレメトリ クエリがそのスコープに対してチェックされます。アプリケーション ID または正確な名前を使用します。あいまいな名前の場合は、候補を選択せず​​に候補を返します。

## ツール

サーバーは次の読み取り専用ツールをアドバタイズします。

|ツール |目的 |
| --- | --- |
| `auth_status` |認証情報、有効期限、適用範囲を確認します。 |
| `list_apps`、`get_app_detail` |認可されたアプリケーションと編集された構成を検査します。 |
| `list_channels`、`list_native_versions` |チャネルとネイティブ ビルド カタログを検査します。 |
| `list_update_packages`、`list_deployments` |不変パッケージとロールアウトターゲットを検査します。 |
| `explain_update` |クライアントパラメータの現在の更新決定を再生します。再生は SDK クォータを消費したり、監視を書き込みたりしません。 |
| `get_patch_info` |正確なビルドのパッチ ジョブと pdiff マッピングを検査します。 |
| `get_request_observations` | 7 日間保存されたプライバシーを保護する実際のチェック観察を読み取ります。 |
| `get_rollout_health`、`get_adoption_trend` |イベント数、時間バケット、保守的なヒューリスティック ガイダンスを読み取ります。 |
| `diagnose_rollback` |構造化されたロールバック イベントをハッシュ、バージョン、チャネルごとにグループ化します。 |

リスト応答のデフォルトは 50 項目で、上限は 100 です。分析のデフォルトは過去 24 時間で、オプションのチャネル、ネイティブ パッケージ バージョン、および更新ハッシュ フィルターを使用して 1 日または 7 日間を受け入れます。ヘルス ルールは、サンプルの分母としきい値を公開します。デプロイメントを一時停止したり、ロールバックしたり、公開したりすることはありません。

## トラブルシューティング

- **401**: Bearer ヘッダーを送信し、トークンが完全にコピーされたことを確認し、期限切れまたは取り消されていないことを確認します。 API キーとブラウザ セッション JWT は MCP エンドポイントを認証できません。
- **403**: リクエスト `Origin` を確認し、エンドポイントと同じホストを使用するか、オペレーターが構成したオリジンを使用します。有効なトークンは、選択されたスコープ外のアプリケーションを読み取ることはできません。
- **不明なツールまたは無効な引数**: MCP クライアントを再度初期化して、現在のツール スキーマを検出し、`application` や `packageVersion` などの必須フィールドを指定します。

MCP は、オペレータが `MCP_ENABLED=true` を設定するまで、デフォルトで無効になっています。サーバーは、Streamable HTTP とカスタム Bearer ヘッダーをサポートするクライアントを受け入れます。 OAuth 認証はこのリリースには含まれていません。

## データ境界

実際のチェックの観察には、アプリケーション、チャネル、ネイティブ ビルド、SDK バージョン、意思決定カテゴリ、および時間が含まれます。 IP アドレス、デバイス識別子、認証情報、および元のリクエストは除外されます。これらは非同期で書き込まれ、7 日間保持され、機能が有効になった後に収集ギャップが生じる場合があります。導入値はイベント数です。`mark_success` は、重複排除されたデバイスの導入率ではなく、起動確認を意味します。クラッシュ スタックがないと、ロールバック診断でクラッシュの根本原因を特定できません。
