---
url: https://docs.ogmabox.com/ja/reference/mcp-tools.md
description: ツールの用途と入力、リソース、プロンプト、権限、ページネーション、結果の扱いを網羅した Ogma MCP リファレンス。
---

# MCP リソースとツール {#mcp-resources-and-tools}

Ogma MCP サーバーは、Codex、Claude Code、Cursor などの外部 MCP クライアントや、その他の Model Context Protocol ホスト向けのサーバーです。アプリ内の AI アシスタントとは別の機能です。

MCP は、次の四つの探索用インターフェースを公開します：

* **リソース**：MCP クライアントが開ける、名前付きの読み取り対象。
* **リソーステンプレート**：特定のエントリー、指摘事項、ワークフロー、実行、エクスポート、再送オブジェクトを読み取るためのパラメーター付き対象。
* **ツール**：呼び出し可能な操作。読み取り専用のものと、サーバー起動時のフラグが必要なものがあります。
* **プロンプト**：エージェントが調査、再テスト、レポートを計画する際に役立つ、再利用可能な指示。プロンプトを取得しても、その中のツールは実行されません。

接続エンドポイントとクライアントの設定は [MCP の設定](../mcp-setup.md)を参照してください。一連の対話の流れは [MCP によるブラウザー自動化](../guide/mcp-browser.md)を参照してください。

このリファレンスは、現在の実装である **255 個のツール**、17 個のリソース、9 個のリソーステンプレート、12 個のプロンプトを対象としています。すべてのツールが公開されますが、呼び出し時には権限による制限が適用されます。インストール済みの古いリリースでは、公開するツールが少ない場合があります。ツールを選ぶ前に、実行中のサーバーからカタログを取得してください。

## プロトコルメソッド {#protocol-methods}

これらは JSON-RPC のメソッド名であり、個別の URL パスではありません。MCP クライアントは [HTTP または stdio](../mcp-setup.md#connection-addresses) を介して接続のライフサイクルを管理します。

| メソッド | 用途 |
| --- | --- |
| `initialize` | プロトコルのバージョンとサーバー/クライアントの機能をネゴシエートします。 |
| `notifications/initialized` | 初期化の完了をサーバーに通知します。この通知にはリクエスト ID がありません。 |
| `tools/list` | ツールとその引数スキーマを取得し、`nextCursor` に従って次のページを取得します。 |
| `tools/call` | `name` と `arguments` を使ってツールを実行します。 |
| `resources/list` | 名前付きの読み取り専用リソースを一覧表示します。 |
| `resources/templates/list` | 個々のオブジェクトを読み取るための URI テンプレートを一覧表示します。 |
| `resources/read` | 完全な `uri` を使ってリソースを読み取ります。 |
| `prompts/list` | 再利用可能なプロンプトとその引数を取得します。 |
| `prompts/get` | `name` と任意の文字列引数を使って、プロンプトのメッセージを取得します。 |

## ツールの探索と呼び出し {#discover-and-call-tools}

`ogma_search_http_history` のようなツール名は MCP ツールの識別子であり、個々の HTTP ルートではありません。MCP 接続上の `tools/call` を介して呼び出してください。

1. MCP クライアントで接続を初期化します。
2. `tools/list` を呼び出します。Ogma は**各ページ最大 40 個のツール**を返します。返された `nextCursor` を毎回 `params.cursor` として渡し、カーソルが返されなくなるまで続けてください。そうしないと、クライアントにブラウザーツールの大半が表示されません。
3. 各ツールの `inputSchema` で、フィールドの型、列挙値、既定値、制限、ネストしたオブジェクトの形式を確認します。ツール名から引数を推測しないでください。
4. 操作を行う前に、`ogma://mcp/permissions` と `ogma://mcp/tool-guide` を読みます。
5. `arguments` に JSON オブジェクトを渡して、選んだツールを呼び出します。

初期化済みの接続で送信する JSON-RPC リクエストの例：

```json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "ogma_search_http_history",
    "arguments": {
      "q": "req.host.eq:\"example.com\"",
      "limit": 20,
      "offset": 0
    }
  }
}
```

ID は推測せず、一覧/検索ツールが返したものを使用してください。履歴と指摘事項の検索は `limit`/`offset` を、ブラウザーの差分ツールは `since_entry_id` を使用します。どちらも `tools/list` で使われる不透明なカーソルとは異なります。

## 結果の読み取り {#reading-results}

`result.structuredContent` を優先してください。テキスト結果のみをサポートするクライアント向けに、テキストコンテンツブロックにも同じ JSON エンベロープが含まれます。例外として、既定の `ogma_browser_snapshot` の結果には構造化コンテンツがなく、テキストコンテンツは読みやすいツリーになっています。構造化された要素を取得するには `result_detail: "full"` を使用してください。ローカル REST ブリッジでは、代わりに `result` の JSON 文字列を解析します。このブリッジは MCP のトランスポートではありません。

REST ブリッジでツールが失敗した場合、解析後の値は `{ "error": "..." }` で、その文字列内にツールのシリアライズ済みエラーエンベロープが入っています。ブリッジの HTTP 成功ステータスだけでは、ツールの成功を意味しません。

| エンベロープのフィールド | 意味 |
| --- | --- |
| `ok` | ツール操作が成功したかどうか。MCP 結果の `isError` も確認してください。 |
| `workflow_stage`, `summary` | 操作のコンテキストと短い説明。 |
| `evidence`, `hypotheses` | 観測した証拠と、それとは区別された未確認の解釈。 |
| `next_actions`, `use_next_tools` | 推奨する後続作業とツールの振り分け。 |
| `artifacts` | 利用可能な場合、生成した証拠やファイルへの参照。 |
| `raw` | ツール固有のデータ。構造化された結果経路では含まれますが、コンパクトなツールでは `result_detail: "full"` の場合のみ含まれます。オブジェクト、配列、テキストのいずれかになるため、共通の形式があると仮定しないでください。 |

スクリーンショットツールは、ネイティブの MCP 画像ブロックも返します。JSON メタデータ内に base64 の画像データがあると期待せず、画像ブロックを読み取ってください。ブラウザースナップショットは、既定でコンパクトなテキストツリーを返します。`result_detail: "full"` を渡すと、`raw.elements` 内の構造化された要素を取得できます。ブラウザーのネットワークとコンソールの差分には、構造化されたエントリーが含まれます。

検証呼び出し自体が成功しても、データ内で `valid: false` が返ることがあります。ツール実行の失敗には `isError: true` を、不正なプロトコルリクエストには JSON-RPC エラーを使用します。再試行の前に診断情報を読んでください。バックエンドのエラーには、HTTP ステータス、エンドポイント、長さを制限した診断テキストが含まれる場合があります。`[truncated]` は診断が省略されたことを示すもので、操作が成功したという意味ではありません。

これらの結果の規約は、MCP の[ツール結果形式](https://modelcontextprotocol.io/specification/2025-11-25/server/tools#tool-result)に従っています。

## リソース {#resources}

| リソース | 返す内容 |
| --- | --- |
| `ogma://status` | 現在のバックエンドの健全性と状態。 |
| `ogma://projects` | Ogma のすべてのプロジェクト。 |
| `ogma://project/current` | 現在アクティブなプロジェクト。 |
| `ogma://instances` | プロキシリスナーのインスタンス。 |
| `ogma://http-history/recent` | 本文を含まない、直近 20 件の HTTP エントリー。 |
| `ogma://ws-history/recent` | 直近 20 件の WebSocket 接続。 |
| `ogma://findings` | 最大 50 件の指摘事項。 |
| `ogma://workflows` | 設定済みのワークフロー。 |
| `ogma://workflow-runs/recent` | 直近 20 件のワークフロー実行記録。 |
| `ogma://migration/workflows` | ワークフロー移行の互換性レポート。 |
| `ogma://exports/recent` | 直近 10 件のエクスポートジョブ。 |
| `ogma://capabilities` | MCP サーバーの機能概要。 |
| `ogma://mcp/permissions` | 現在の MCP 権限フラグ。 |
| `ogma://mcp/tool-guide` | エージェント向けのツール振り分け、出力規約、推奨するブラウザー操作/テストの手順。 |
| `ogma://mcp/report-guide` | レポートの組み立て手順、証拠の要件、品質チェック。 |
| `ogma://mcp/resume` | アクティブなプロジェクトの永続的な復旧コンテキスト：保存済みチェックポイントと最近のツール活動。 |
| `ogma://replay/sessions/recent` | 直近 20 件の再送セッション。 |

## リソーステンプレート {#resource-templates}

| テンプレート | 返す内容 |
| --- | --- |
| `ogma://http-history/{entry_id}` | 一つの HTTP 履歴エントリー。 |
| `ogma://ws-history/{connection_id}` | 一つの WebSocket 接続。 |
| `ogma://findings/{finding_id}` | 一つの指摘事項。 |
| `ogma://workflows/{workflow_id}` | 一つのワークフロー。 |
| `ogma://workflow-runs/{run_id}` | 一つのワークフロー実行。 |
| `ogma://exports/{export_id}` | 一つのエクスポートジョブ。 |
| `ogma://replay/sessions/{session_id}` | 一つの再送セッション。 |
| `ogma://replay/attempts/{session_id}/{attempt_id}` | 一つの再送試行。 |
| `ogma://workflow-safety/{workflow_id}` | ワークフローの安全性分類と必要な権限。 |

これらの URI は、`ogma://` に HTTP GET を送るのではなく、`resources/read` で読み取ってください。読み取る前に、リソーステンプレートに ID を代入します。リソースは `contents` にテキストを返し、上記のツール結果エンベロープは使用しません。

## プロンプト {#prompts}

`prompts/list` で探索し、`name` と `arguments` オブジェクトを渡して `prompts/get` を使用します。プロンプトの引数値は文字列です。以下の表では必須引数を太字で示しています。

| プロンプト | 引数 | 準備する内容 |
| --- | --- | --- |
| `analyze_http_entry` | **`entry_id`** | キャプチャーした一つの HTTP のやり取りを調べ、証拠に裏付けられたセキュリティ上の問題を確認します。 |
| `summarize_project_security_state` | なし | アクティブなプロジェクトの指摘事項と修正の優先順位を要約します。 |
| `triage_findings` | `severity` | 指摘事項に優先順位を付けます。特定の深刻度に絞ることもできます。 |
| `investigate_suspicious_host` | **`host`** | 指定したホスト名または IP アドレスのキャプチャー済み通信を調査します。 |
| `review_workflow_migration_report` | なし | ワークフローの互換性の問題と移行手順を説明します。 |
| `generate_retest_plan` | **`finding_id`** | 指摘事項の再現手順と合否基準を準備します。 |
| `create_finding_from_http_evidence` | **`entry_id`** | 証拠を分析し、権限がある場合は指摘事項の作成を案内します。 |
| `prepare_evidence_export` | **`export_kind`** | `http_history`、`findings`、`automate_results` のエクスポートを計画します。 |
| `retest_http_entry_with_replay` | **`entry_id`** | 再送のプレビューと確認の手順を案内します。 |
| `run_workflow_safely` | **`workflow_id`** | ワークフローの副作用を確認し、プレビューして、権限がある場合は実行します。 |
| `pentest_web_target` | **`target_url`**, `objective` | 許可を得た対象に対して、証拠に基づく段階的な評価を計画します。 |
| `solve_web_challenge` | **`challenge_url`**, `goal` | Web チャレンジの調査と証拠収集を計画します。 |

## ツールの権限 {#tool-permissions}

調査用ツールの多くは常に利用できます。データを変更する操作や外部に通信する操作は、`ogma-mcp` の起動フラグで制御します：

| 権限フラグ | 有効にする操作 |
| --- | --- |
| `--allow-write-findings` | 指摘事項の書き込みとレポート生成。環境変数や照合・置換の編集など、共有プロジェクトの変更も含みます。 |
| `--allow-export-data` | エクスポートジョブの作成。既存のエクスポートメタデータやダウンロード情報の読み取りには、このフラグは不要です。 |
| `--allow-read-secrets` | マスクされていない環境変数値の読み取り。変数を変更する権限とは別です。 |
| `--allow-send-requests` | 再送/自動化の送信、直接/一括リクエスト、ブラウザー操作、探索、クロール、認証フロー、アクティブプローブ、WebSocket、プロジェクト切り替え。 |
| `--allow-run-workflows` | ワークフローのプレビュー、実行、キャンセルツール。自動化の実行には代わりに送信権限を使用します。 |
| `--allow-intercept-control` | インターセプト状態/キューの読み取り、キューの変更、インターセプト状態の制御。 |

権限はツールの呼び出し時に検証されます。ツールが一覧にあるからといって、その操作が有効とは限りません。ブラウザー観測ツールは実行中のブラウザーを調査できますが、操作やブラウザーコンテキストの管理には `allow_send_requests` が必要です。認証フローにも、一覧取得や検証の呼び出しを含めて、この権限が必要です。セッション内のメモと TODO には、プロジェクトの書き込み権限は不要です。

分単位やセッション単位の活動クォータはありません。個々のツールには、入力サイズ、一括処理のサイズ、タイムアウト、診断対象範囲のチェックが引き続き適用されます。ワークフローの操作内容によっては、実行時に追加の送信権限や指摘事項の書き込み権限が必要です。[設定と権限](../mcp-setup.md#permissions)を参照してください。

権限にかかわらず、すべてのツールを公開します。従来のプロファイルフラグでツール一覧を絞り込むことはできません。[ツールの探索とディスパッチ](#tool-discovery-and-dispatch)を参照してください。

## ツールカタログ {#tool-catalog}

### コンテキスト喪失後の復旧 {#recovering-after-context-loss}

再接続した場合や会話のコンテキストを失った場合は、別の評価を始める前に `ogma_resume_session` を呼び出してください。アクティブなプロジェクト、最後のチェックポイント、最近のツールの結果を確認します。`check_live: true` を使用すると、保存済みハンドルに対して範囲を限定した読み取り専用の確認を行います。操作を再実行することはありません。要素参照を再利用する前に、ブラウザースナップショットを更新してください。

引き継ぎや長い中断の前には、チェックポイントを保存してください。ツール活動は実行した操作を記録しますが、次に何をテストするつもりだったかは推測できません。目的、結論、不確実な点、次の手順を明確に記録し、大量のレスポンス本文をコピーするのではなく、ID で証拠を参照してください。

```json
{
  "name": "ogma_save_checkpoint",
  "arguments": {
    "assessment_id": "authorization-review",
    "objective": "Compare access to invoices across two test identities",
    "progress": "Captured the owner request; the second identity has not been tested yet",
    "next_steps": ["Resume the saved context", "Verify the active project and both identities before replaying"],
    "uncertainties": ["Whether the server checks invoice ownership"]
  }
}
```

```json
{
  "name": "ogma_resume_session",
  "arguments": {
    "assessment_id": "authorization-review",
    "check_live": true
  }
}
```

引き継ぎやコンテキスト圧縮の前に、チェックポイントを保存してください。目的、完了した作業、不確実な点、証拠の ID、次の手順を明示します。自動活動ログが保存するのはハンドルと結果であり、リクエストのペイロードや意図ではありません。開始した呼び出しに完了結果がない場合、その結果は不明です。送信を再試行する前に、現在の状態を確認してください。

復旧記録は永続化され、プロジェクト単位で管理されます。`assessment_id` を指定すると、読み取りはその評価に限定されます。復旧用の読み取りで省略すると、プロジェクト全体の活動を確認できます。既存のセッション内メモ/TODO は用途が異なり、永続的な引き継ぎ記録と混同しないでください。

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_save_checkpoint` | 永続的な引き継ぎ記録を追加します。`next_steps` は明示的な操作の配列、`references` は名前と保存済み ID の対応です。計画は実行しません。 | **`objective`**, **`progress`**, **`next_steps`**, `uncertainties`, `references` |
| `ogma_resume_session` | アクティブなプロジェクト、最新のチェックポイント、最近の活動、復旧ガイダンスを読み取ります。任意のライブチェックでは、操作を繰り返さずに保存済みハンドルを確認します。 | `check_live` |
| `ogma_get_session_activity` | チェックポイントとツール活動を新しい順に読み取ります。時刻は UTC の Unix ミリ秒です。ページを取得するには、返されたカーソルの `before_ms` と `before_id` を両方渡します。 | `kind`, `id`, `since_ms`, `until_ms`, `before_ms`, `before_id`, `search`, `limit` |

各行はツールの説明とトップレベルの入力を示します。**太字の入力はスキーマ上の必須項目**で、その他は任意です。一部のツールでは入力の選択が必要です（再送元やクリック対象など）。その組み合わせは、説明と実行時の検証で示されます。ネストしたフィールドと正確な型は、実行中のツールの `inputSchema` を確認してください。

すべてのツールは、任意の `assessment_id`（空でない文字列、最大 200 文字）も受け付けます。同じ ID を再利用すると、一つの評価の復旧コンテキストをまとめて管理できます。アクティブなプロジェクトを変更したり、権限を与えたりするものではありません。この共通入力は、以下の表では省略しています。

### ツールの探索とディスパッチ {#tool-discovery-and-dispatch}

サーバーは登録済みのすべてのツールを公開します。呼び出し前に、機能と仕様を確認するツールで操作を特定し、入力を確認してください。ツールを表示するためにプロファイルを変更する必要はありません。[MCP の設定](../mcp-setup.md#tool-discovery)を参照してください。

組み込みブラウザーの操作（`snapshot`、`fill_input`、`fill_form`、`console_delta`、`network_delta`、その他のブラウザー系操作）には `ogma_browser` を、`http_history`、`findings`、`ws_history` などの検索ドメインには `ogma_search` を使用します。同等の専用ツールも引き続き利用できます。

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_find_tools` | タスクのキーワードでカタログ全体を検索します。ツール名の完全一致検索では完全な仕様を返します。`include_schema` を指定すると、キーワードに一致したツールの仕様も取得します。検索語はすべて一致する必要があり、結果が省略されたり空だったりしても、機能がないとは断定できません。既定の件数は 5、最大は 10 です。 | **`query`**, `limit`, `include_schema` |
| `ogma_call_tool` | 登録済みの Ogma ツールを名前で実行します。`tool` 以外の入力は指定したツールに転送し、そのツールの権限制限は引き続き適用されます。 | **`tool`** |
| `ogma_browser` | 操作名で組み込みブラウザーを操作します。他のすべての `ogma_browser_*` ツールは名前の接尾辞で呼び出せます。例えば `ogma_browser_snapshot` には `action: "snapshot"` を使用します。 | **`action`**, `selector`, `tab_id`, `url`, `js`, `text`, `value`, `key`, `cookie`, `timeout_ms` |
| `ogma_search` | 単一の入口から Ogma のデータドメインを検索します。他のすべての `ogma_search_*` ツールは名前の接尾辞で呼び出せます。 | **`domain`**, `q`, `limit`, `offset` |

### HTTP 履歴とクエリ {#http-history-and-querying}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_search_http_history` | HTTPQL で HTTP 履歴を検索し、リクエスト/レスポンスのメタデータを返します。 | `q`, `limit`, `offset`, `result_detail` |
| `ogma_get_http_entry` | ID で一つの HTTP エントリーを取得します。本文プレビューを含めることもできます。 | **`entry_id`**, `include_body_preview`, `result_detail` |
| `ogma_get_http_entry_body` | HTTP エントリーのリクエストおよび/またはレスポンスの本文全体を取得します。 | **`entry_id`**, **`part`**, `search_pattern`, `result_detail` |
| `ogma_validate_httpql` | HTTPQL 式を検証します。 | **`query`** |
| `ogma_analyze_http_entry_security` | 一つの HTTP エントリーで、セキュリティに関係する動作と証拠を調査します。 | **`entry_id`** |
| `ogma_search_by_vulnerability_pattern` | キャプチャー済み通信で脆弱性に関するパターンを検索します。 | **`pattern_type`**, `limit` |

### WebSocket と SSE {#websocket-and-sse}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_search_ws_history` | StreamQL で WebSocket の接続履歴を検索します。 | `q`, `limit`, `offset` |
| `ogma_get_ws_messages` | 一つの WebSocket 接続に保存されたメッセージを取得します。 | **`connection_id`**, `limit`, `offset` |
| `ogma_get_ws_message` | 一覧のプレビューによる省略のない、完全なメッセージを一つ読み取ります。テキストは UTF-8、バイナリ/制御ペイロードは base64 です。 | **`message_id`** |
| `ogma_validate_streamql` | StreamQL 式を検証します。 | **`query`** |
| `ogma_get_ws_messages_live` | ブラウザーの計測機構でキャプチャーしたライブ WebSocket メッセージを取得します。 | `host`, `limit` |
| `ogma_create_ws_replay_session` | WebSocket の再送セッションを作成します。 | **`ws_connection_id`** |
| `ogma_connect_ws_replay` | WebSocket の再送セッションを接続します。 | **`ws_session_id`** |
| `ogma_send_ws_replay_message` | WebSocket の再送セッションを通してメッセージを送信します。 | **`ws_session_id`**, **`payload`**, `message_type` |
| `ogma_list_ws_replay_sessions` | WebSocket の再送セッションを一覧表示します。 | `result_detail` |
| `ogma_get_ws_replay_messages` | キャプチャー済み履歴ではなく、WebSocket 再送セッションの会話記録を読み取ります。最初は `cursor` を省略し、以降は返された `next_cursor` を渡して、`has_more` の間は最後まで読み進めます。 | **`ws_session_id`**, `cursor`, `limit`, `result_detail` |
| `ogma_get_ws_replay_message` | ペイロードプレビューの省略なしで、一つの WebSocket 再送メッセージを読み取ります。`payload_base64` は base64 エンコード済みバイトを示します。 | **`message_id`**, `result_detail` |
| `ogma_disconnect_ws_replay` | WebSocket の再送セッションを切断し、セッションと会話記録は保持します。接続待ちの処理もキャンセルします。 | **`ws_session_id`** |
| `ogma_browser_get_ws_frames` | 組み込みブラウザーがキャプチャーした WebSocket フレームを読み取ります。 | `limit`, `connection_url`, `direction` |
| `ogma_browser_start_ws_capture` | ブラウザー側で WebSocket フレームのキャプチャーを開始します。 | なし。 |
| `ogma_browser_send_ws_message` | ブラウザーコンテキストから WebSocket メッセージを送信します。 | **`payload`**, `connection_url` |

### 指摘事項と証拠 {#findings-and-evidence}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_search_findings` | 深刻度、報告者、テキスト、件数、オフセットで指摘事項を検索します。 | `severity`, `reporter`, `q`, `limit`, `offset` |
| `ogma_get_finding` | ID で一つの指摘事項を取得します。 | **`finding_id`** |
| `ogma_preview_finding_from_evidence` | HTTP エントリーから指摘事項の下書きをプレビューします。作成はしません。 | **`entry_id`**, `reporter` |
| `ogma_create_finding` | メタデータ、タグ、確度、修正方法、任意の証拠リンクを含む指摘事項を作成します。 | **`title`**, `severity`, `status`, `description`, `reporter`, `tags`, `dedupe_key`, `entry_id`, `replay_attempt_id`, `automate_result_id`, `ws_message_id`, `confidence`, `remediation`, `skip_dedup_check` |
| `ogma_update_finding` | 既存の指摘事項を更新します。 | **`finding_id`**, **`title`**, `severity`, `status`, `description`, `reporter`, `tags`, `dedupe_key`, `confidence`, `remediation` |
| `ogma_add_finding_tag` | 既存のタグを置き換えず、指摘事項にタグを追加します。 | **`finding_id`**, **`tags`** |
| `ogma_link_finding_evidence` | 指摘事項に HTTP、再送、自動化、キャプチャー済み WebSocket、WS 再送メッセージの証拠を追加します。補助的なリンクは主要な証拠を置き換えません。 | **`finding_id`**, `entry_id`, `replay_attempt_id`, `automate_result_id`, `ws_message_id`, `ws_replay_message_id` |
| `ogma_delete_finding` | 指摘事項を削除します。 | **`finding_id`** |
| `ogma_create_finding_from_entry` | キャプチャー済み HTTP エントリーから指摘事項を作成します。リクエストとレスポンスのヘッダーおよび本文を Markdown の HTTP 証拠として埋め込み、レスポンス本文は 3000 文字に制限します。指定された内訳に基づく CVSS スコア、CWE、PoC コード、参考資料を追加します。 | **`entry_id`**, **`title`**, **`severity`**, **`vulnerability_type`**, **`description`**, **`impact`**, **`remediation`**, `confidence`, `reporter`, `tags`, `affected_parameter`, `proof_of_concept`, `cvss_breakdown`, `cwe`, `poc_code`, `references`, `skip_dedup_check` |
| `ogma_get_finding_evidence_summary` | 指摘事項にリンクされた証拠を要約します。 | **`finding_id`** |
| `ogma_record_finding_verification` | 指摘事項の独立した再テスト判定を記録します。値は `verified`、`refuted`、`inconclusive` です。最新の判定が有効なので、後から反証すると以前の確認を上書きします。ツールは保存された行を報告します。 | **`finding_id`**, **`state`**, **`method`**, **`reason`**, `evidence_entry_id`, `control_entry_id`, `canary_id` |
| `ogma_check_canary` | `label` と `purpose` でトークンを作成するか、`canary_id` で既存のトークンを再確認します。再確認では新しいトークンを作成しません。キャプチャー済み通信で一致するエントリーを検索します。レスポンス本文での一致は読み戻しの証拠ですが、リクエスト本文での一致はトークンを送信したことしか示しません。 | **`canary_id`** または **`label`** と **`purpose`**, `finding_id`, `hosted_path`, `limit` |
| `ogma_export_findings_report` | 指摘事項レポートのエクスポートを作成します。 | **`format`**, `title`, `summary`, `scope`, `tester`, `include_evidence` |

### エクスポート {#exports}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_preview_export_plan` | ジョブを作成せずに、エクスポートの内容と形式をプレビューします。 | **`kind`**, **`format`**, `limit`, `q`, `severity`, `reporter` |
| `ogma_create_export_job` | 履歴、検索結果、指摘事項、自動化の結果をエクスポートするジョブを作成します。 | **`name`**, **`kind`**, **`format`**, `limit`, `offset`, `scope`, `q`, `severity`, `reporter`, `run_id` |
| `ogma_get_export_job` | ID で一つのエクスポートジョブを取得します。 | **`export_id`** |
| `ogma_list_export_jobs` | エクスポートジョブを一覧表示します。 | `limit`, `offset` |
| `ogma_get_export_download_info` | 完了したエクスポートのダウンロードメタデータを取得します。 | **`export_id`** |

### 再送とリクエスト送信 {#replay-and-request-sending}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_preview_replay_send` | 再送操作をプレビューし、確認トークンを返します。 | `http_entry_id`, `replay_session_id`, `method`, `path`, `query`, `body`, `result_detail` |
| `ogma_send_replay_request` | 確認トークンを使って再送リクエストを送信します。 | **`confirmation_token`**, **`request_hash`**, `result_detail` |
| `ogma_create_replay_session_from_history` | キャプチャー済み HTTP エントリーから再送セッションを作成します。 | **`entry_id`**, `name`, `result_detail` |
| `ogma_create_replay_session_raw` | 生のリクエスト定義から再送セッションを作成します。 | `name`, **`host`**, **`port`**, `tls`, `method`, `path`, `headers`, `body` |
| `ogma_get_replay_session` | 再送セッションのメタデータと、ページ分割された試行一覧を取得します。 | **`session_id`**, `attempts_limit`, `attempts_offset`, `result_detail` |
| `ogma_get_replay_attempt` | 一つの再送試行を取得します。 | **`session_id`**, **`attempt_id`**, `result_detail` |
| `ogma_list_replay_sessions` | 再送セッションを一覧表示します。 | `limit`, `offset`, `result_detail` |
| `ogma_create_replay_sequence` | 既存の再送セッションから、実行する順番で複数ステップの再送シーケンスを作成します。`collection_id` は実行時にそのコレクションの変数を重ねて適用します。 | **`name`**, **`session_ids`**, `collection_id` |
| `ogma_run_replay_sequence` | 保存済みの再送シーケンスを実行し、実際に外部通信を送信します。`plan` は実行順にステップのインデックスを列挙します。項目によってステップを繰り返し、省略、並べ替えできます。`plan` を省略すると、保存されたすべてのステップを順番に一回ずつ実行します。空の `plan` は拒否します。 | **`sequence_id`**, `plan` |
| `ogma_repeat_request` | 必要に応じて変更を加え、既存のリクエストを繰り返します。 | **`request_id`**, `params`, `headers`, `body`, `cookies`, `url`, `method`, `method_override`, `path`, `path_override`, `entry_id`, `headers_add`, `headers_remove`, `body_text`, `body_json`, `body_b64`, `body_base64`, `raw_request_base64`, `result_detail` |
| `ogma_replay_with_modifications` | フィールド単位の上書きを適用してキャプチャー済み HTTP リクエストを再送し、レスポンスと差分の概要を返します。 | **`entry_id`**, `method_override`, `path_override`, `headers_add`, `headers_remove`, `body`, `body_text`, `body_json`, `body_b64`, `body_base64`, `raw_request_base64`, `request_id`, `method`, `path`, `headers`, `follow_redirects`, `timeout_secs`, `result_detail` |
| `ogma_http_request` | MCP のツールインターフェースから直接 HTTP リクエストを送信します。`raw_request_base64` を使用すると、`max_responses` は最初のレスポンスで停止せず、同じ接続から複数のレスポンスフレームを読み取ります。`followup_raw_request_base64` は、最初のレスポンスを読み取った後で、その接続にリクエストを書き込みます。送信したバイト列が要求していないレスポンスを受け取ることが、リクエストの同期ずれを推測ではなく確認する根拠になります。どちらの入力も raw モードにのみ適用されます。 | **`host`**, `port`, `tls`, `method`, `path`, `headers`, `body_b64`, `method_override`, `path_override`, `headers_add`, `headers_remove`, `body`, `body_text`, `body_json`, `body_base64`, `raw_request_base64`, `max_responses`, `followup_raw_request_base64`, `result_detail` |
| `ogma_bulk_send_requests` | リクエストを一括送信します。 | **`base_session_id`**, **`payloads`**, **`placeholder`**, `max_requests` |
| `ogma_fetch_url` | URL を取得し、レスポンスのステータス、ヘッダー、本文プレビューを返します。 | **`url`**, `method`, `headers`, `body_b64`, `max_bytes` |
| `ogma_follow_redirect` | URL を取得してリダイレクトチェーンをたどり、各ホップを報告します。 | **`url`**, `method`, `headers`, `body_b64`, `max_hops`, `timeout_secs` |
| `ogma_fuzz_parameter` | `{{FUZZ}}` プレースホルダーをワードリストの値で置き換え、ステータスとサイズでレスポンスを分類します。 | **`url`**, `method`, `headers`, `body_template`, **`wordlist`**, `timeout_secs`, `stop_on_match` |
| `ogma_multipart_upload` | アップロードテスト用に、テキストとファイルのフィールドを含む multipart form-data リクエストを送信します。 | **`url`**, **`fields`**, `headers`, `timeout_secs` |
| `ogma_test_login` | 指定した、または既定の認証情報の組でログインエンドポイントをテストし、証拠を報告します。 | **`url`**, `credentials`, `username_field`, `password_field`, `submit_selector`, `success_pattern`, `failure_pattern`, `max_attempts` |

### ワークフローと自動化 {#workflows-and-automate}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_search_workflows` | ワークフローを一覧表示して絞り込みます。 | `workflow_type`, `enabled`, `limit`, `offset` |
| `ogma_get_workflow` | ID で一つのワークフローを取得します。 | **`workflow_id`** |
| `ogma_get_workflow_run` | 一つのワークフロー実行記録を取得します。 | **`run_id`** |
| `ogma_validate_workflow_import` | ワークフローバンドルのインポート互換性を検証します。 | **`bundle_json`** |
| `ogma_get_workflow_safety` | ワークフローの安全性と権限の分類を取得します。 | **`workflow_id`** |
| `ogma_preview_workflow_run` | 実行前にワークフローの実行内容をプレビューします。 | **`workflow_id`**, `input`, `trigger_entry_id` |
| `ogma_run_workflow` | ワークフローを実行します。 | **`confirmation_token`**, **`definition_hash`**, `input_hash`, `input` |
| `ogma_cancel_workflow_run` | ワークフローの実行をキャンセルします。 | **`run_id`** |
| `ogma_list_automate_sessions` | 自動化セッションを一覧表示します。 | `limit`, `offset` |
| `ogma_get_automate_session` | 一つの自動化セッションを取得します。 | **`session_id`** |
| `ogma_create_automate_session` | 一つの注入ポイントを持つ自動化セッションを作成します。`inject_into` で `query:<name>`、`header:<name>`、`body` のいずれかを選びます。既定では最初のクエリパラメーターを、なければ本文を使用します。 | **`entry_id`**, `name`, **`payloads`**, `inject_into`, `placeholder_start`, `placeholder_end`, `worker_count`, `delay_ms` |
| `ogma_run_automate_session` | 自動化セッションを実行します。 | **`session_id`** |
| `ogma_list_automate_runs` | 自動化の実行を一覧表示します。 | **`session_id`**, `limit`, `offset` |
| `ogma_get_automate_run` | 一つの自動化実行を取得します。 | **`run_id`** |
| `ogma_cancel_automate_run` | 自動化の実行をキャンセルします。 | **`run_id`** |
| `ogma_list_automate_results` | 自動化の結果を一覧表示します。 | **`run_id`**, `limit`, `offset`, `min_status`, `max_status` |
| `ogma_get_automate_result` | 一つの自動化結果を取得します。 | **`run_id`**, **`seq`** |
| `ogma_load_skill` | 組み込み MCP スキルのガイダンスをアシスタントのコンテキストに読み込みます。 | **`skills`** |

### スキャナー {#scanner}

パッシブスキャンやアクティブスキャンは指摘事項を作成する場合があるため、開始には指摘事項の書き込み権限が必要です。スキャナールールやアクティブチェックのカテゴリーの一覧取得には不要です。

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_run_passive_scan` | 一つの HTTP エントリーにパッシブスキャナーのチェックを実行します。 | **`entry_id`** |
| `ogma_run_passive_scan_all` | キャプチャー済み履歴全体にパッシブスキャナーのチェックを実行します。 | なし。 |
| `ogma_list_scanner_rules` | スキャナーの検出ルールを一覧表示します。 | なし。 |
| `ogma_list_active_checks` | アクティブスキャナーのチェックカテゴリーと、その ID、説明を一覧表示し、指摘事項を作成するカテゴリーの数を報告します。スタブのカテゴリーも表示しますが、指摘事項は決して作成しません。 | なし。 |
| `ogma_scan_active` | 検証用ペイロードを送信するアクティブスキャナーを実行し、レスポンスで確認できた脆弱性の種類に限って指摘事項を作成します。`entry_id` を渡すと一つのエントリーをスキャンし、省略すると最近の履歴をまとめて調べます。長時間実行するためタスクとして公開されています。同期経路ではジョブが終了状態になるまでポーリングし、`job_id`、進捗カウンター、`findings_created` を報告します。指摘事項の書き込み権限が必要です。 | `entry_id`, `checks`, `concurrency`, `delay_ms`, `scan_headers` |

### インターセプト {#intercept}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_get_intercept_status` | 現在のインターセプト状態を取得します。 | なし。 |
| `ogma_set_intercept_enabled` | インターセプトを有効または無効にします。 | `request_enabled`, `response_enabled`, `websocket_enabled` |
| `ogma_list_intercept_queue` | キュー内のインターセプト項目を一覧表示します。 | なし。 |
| `ogma_get_intercept_item` | キュー内のインターセプト項目を一つ取得します。 | **`id`** |
| `ogma_forward_intercept_item` | 必要に応じて変更を加え、インターセプトした項目を転送します。 | **`id`**, `method`, `path`, `headers`, `body`, `status_override` |
| `ogma_drop_intercept_item` | インターセプトした項目を破棄します。 | **`id`** |
| `ogma_intercept_and_modify` | ライブでインターセプトされるリクエストまたはレスポンスを待ち、JSON パッチ、正規表現による置換、本文全体の置換を適用して転送します。 | **`direction`**, `host_pattern`, `path_pattern`, `wait_secs`, `json_patches`, `regex_replacements`, `body_b64`, `status_override`, `forward_unmatched` |

### プロキシ、診断対象範囲、ネットワーク {#proxy-scope-and-network}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_list_proxy_listeners` | プロキシリスナーを一覧表示します。 | なし。 |
| `ogma_start_proxy_listener` | プロキシリスナーを起動します。 | **`listener_id`** |
| `ogma_stop_proxy_listener` | プロキシリスナーを停止します。 | **`listener_id`** |
| `ogma_list_scope_presets` | 診断対象範囲のプリセットを一覧表示します。 | なし。 |
| `ogma_create_scope_preset` | 診断対象範囲のプリセットを保存しますが、有効化はしません。送信権限が必要です。各ルールには `pattern` と `include` が必要で、任意の `rule_type` はホスト、CIDR、パス、正規表現の照合方法を選びます。パスルールでは、ホストに `pattern`、パスに `path_pattern` を使用します。返されたプリセットは `ogma_set_active_scope` で別途有効化してください。 | **`name`**, **`rules`**, `httpql_expression` |
| `ogma_get_active_scope` | 現在有効な診断対象範囲を取得します。 | なし。 |
| `ogma_set_active_scope` | 有効な診断対象範囲を設定します。 | `preset_id` |
| `ogma_local_ips` | リスナーやコールバックに使用できるローカル IP アドレスを一覧表示します。 | なし。 |
| `ogma_get_tls_info` | 対象またはキャプチャー済み接続の TLS 情報を取得します。 | **`host`**, `port` |

### サイトマップ、エンドポイント、OAST {#sitemap-endpoints-and-oast}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_get_sitemap` | キャプチャーしたサイトマップを取得します。 | `host`, `show_api_only` |
| `ogma_get_sitemap_parameters` | サイトマップの一つのパスで見つかったパラメーターを取得します。 | **`host`**, **`port`**, **`path`** |
| `ogma_list_extracted_endpoints` | 通信とフロントエンドのコンテンツから抽出したエンドポイントを一覧表示します。 | `limit`, `offset` |
| `ogma_discovery_start` | 診断対象範囲内のホストとポートに対して、バックグラウンドのコンテンツ探索ジョブを開始し、ジョブ ID を返します。 | **`host`**, **`port`**, `tls`, `base_path`, `config` |
| `ogma_discovery_list` | アクティブなプロジェクトの探索ジョブと進捗を一覧表示します。 | なし。 |
| `ogma_discovery_get` | 探索ジョブの状態と見つかった結果を取得します。 | **`job_id`** |
| `ogma_discovery_cancel` | 実行中の探索ジョブのキャンセルを要求します。 | **`job_id`** |
| `ogma_import_openapi_spec` | OpenAPI 仕様をインポートし、初期エンドポイントとリクエストの形式を生成します。 | **`spec_content`**, `base_url`, `collection_name` |
| `ogma_get_oast_config` | OAST リスナーの設定を取得します。 | なし。 |
| `ogma_get_oast_reachability` | 設定した OAST コールバックホストに対象から到達できるかを報告し、到達できない場合は理由と修正手順を示します。ブラインドペイロードの結果を信頼する前に確認してください。到達できないコールバックは偽陰性を生み、脆弱性がないように見えます。 | なし。 |
| `ogma_list_oast_interactions` | OAST のやり取りを一覧表示します。すべてのフィルターはページ分割前にバックエンドで適用するため、総数はページの長さではなくすべての一致件数です。一つのトークンラベルや送信元アドレスに絞っても、フィードの後方にある一致コールバックが隠れることはありません。`token_label` はトークンを送った注入ポイントで、クエリパラメーター名、ヘッダー名、`body` のいずれかです。ラベルはトークンとともにメモリに保持するため、トークンが期限切れで削除されたラベルは、古い行に一致するのではなく、何にも一致しません。 | `limit`, `offset`, `token_id`, `token_label`, `protocol`, `source_ip`, `since` |

### 履歴への注釈 {#history-annotation}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_set_entry_color` | 履歴エントリーの色ラベルを設定します。 | **`entry_id`**, **`color`** |
| `ogma_add_entry_tag` | 履歴エントリーにタグを追加します。 | **`entry_id`**, **`tag`** |
| `ogma_remove_entry_tag` | 履歴エントリーからタグを削除します。 | **`entry_id`**, **`tag`** |

### ブラウザーの制御 {#browser-control}

スナップショット、セレクター、スクリーンショットの使い分けは、[ブラウザーガイド](../guide/mcp-browser.md)を参照してください。すべてのブラウザーツールが `tab_id` や `element_ref` を受け付けると仮定せず、そのツールに記載された入力のみを使用してください。

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_browser_launch` | Ogma ブラウザーを起動します。 | `proxy_port` |
| `ogma_browser_navigate` | ブラウザーで URL に移動します。 | **`url`**, `tab_id`, `wait_for_load`, `timeout_ms`, `result_detail` |
| `ogma_browser_get_dom` | ページに移動し、JavaScript 実行後のレンダリング済み DOM と、任意のセレクター結果を返します。 | **`url`**, `wait_secs`, `selectors`, `js_eval`, `include_full_html` |
| `ogma_browser_screenshot` | ブラウザーページの状態をキャプチャーします。 | `tab_id`, `result_detail` |
| `ogma_browser_execute_js` | ブラウザー内で JavaScript を実行します。 | **`script`**, `tab_id` |
| `ogma_browser_get_source` | 現在のページの DOM ソースを取得します。 | `tab_id`, `format`, `max_chars` |
| `ogma_browser_get_cookies` | ブラウザーの Cookie を取得します。 | `tab_id` |
| `ogma_browser_set_cookie` | ブラウザーの Cookie を設定します。 | **`name`**, **`value`**, `domain`, `path`, `http_only`, `secure` |
| `ogma_browser_new_tab` | 新しいブラウザータブを開きます。 | `url` |
| `ogma_browser_close_tab` | ブラウザータブを閉じます。 | `tab_id` |
| `ogma_browser_get_tabs` | ブラウザータブを一覧表示します。 | `result_detail` |
| `ogma_browser_click` | スナップショット内の `element_ref`、または明示した `x` と `y` の座標をクリックします。 | `element_ref`, `snapshot_id`, `x`, `y`, `button`, `click_count`, `modifiers`, `offset_x`, `offset_y`, `force`, `timeout_ms`, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_type_text` | ブラウザーにテキストを入力します。 | **`text`**, `tab_id`, `snapshot_id` |
| `ogma_browser_fill_input` | CSS の `selector` またはスナップショットの `element_ref` のどちらか一つだけを使って入力欄を設定します。空の値で欄を消去します。送信はしません。 | **`selector`**, `value`, `tab_id`, **`element_ref`**, `snapshot_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_fill_form` | 指定した順に、一度の呼び出しで複数の入力欄、テキストエリア、contenteditable 要素のテキストを置き換えます。各フィールドは `element_ref` または `selector` のどちらか一つと、`value` を使用します。最初の失敗で停止し、送信はしません。 | **`fields`**, `snapshot_id`, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_click_selector` | セレクターで指定した要素をクリックします。 | **`selector`**, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_submit_form` | フォームを送信します。 | `selector`, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_get_page_links` | 現在のページからリンクを抽出します。 | `tab_id` |
| `ogma_browser_get_page_forms` | 現在のページからフォームを抽出します。`include_templates` を `true`（既定は `false`）にすると、各フォームの絶対 action URL、メソッド、実際のコンテンツタイプ、現在値を持つ送信対象コントロール、送信コントロール、CSRF に似た `token_candidates` を追加します。マルチパートフォームは、本文を合成する代わりに `ogma_multipart_upload` を示します。`send_requests` 権限が必要です。 | `tab_id`, `include_templates` |
| `ogma_browser_form_to_replay` | ライブページ上のフォームから再送セッションを作成し、その時点のフィールド値とブラウザーの Cookie を読み取り、ページから Origin と Referer ヘッダーを導出します。リクエストは送信しません。 | **`form_selector`**, `tab_id`, `name` |
| `ogma_browser_scroll` | 現在のページをスクロールします。 | `selector`, `x`, `y`, `tab_id` |
| `ogma_browser_wait_for_selector` | 指定したセレクターに一致する要素が現れるのを待ちます。 | **`selector`**, `timeout_ms`, `tab_id`, `snapshot_id` |
| `ogma_browser_get_network_log` | ブラウザーのネットワークイベントを取得します。 | `host`, `since_ms`, `limit` |
| `ogma_browser_go_back` | ブラウザーの履歴を戻ります。 | `tab_id`, `snapshot_id` |
| `ogma_browser_go_forward` | ブラウザーの履歴を進みます。 | `tab_id`, `snapshot_id` |
| `ogma_browser_reload` | ページを再読み込みします。 | `tab_id`, `snapshot_id` |
| `ogma_browser_find_text` | 現在のページでテキストを検索します。 | **`text`**, `tab_id`, `snapshot_id` |
| `ogma_browser_clear_data` | ブラウザーのデータを消去します。 | `types` |
| `ogma_crawl_site` | 有効な診断対象範囲内で、組み込みブラウザーを使って対象をクロールし、カバレッジデータを返します。 | **`start_url`**, `max_pages`, `max_depth`, `wait_ms`, `tab_id` |

### ブラウザーの要素と待機 {#browser-elements-and-waits}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_browser_snapshot` | 要素参照と状態を含むコンパクトなセマンティックページツリーを読み取ります。`result_detail: "full"` では、代わりに `raw.elements` に要素を含む構造化エンベロープを返します。以前のスナップショットからの差分を要求することもできます。 | `tab_id`, `previous_snapshot_id`, `changes_only`, `focus_ref`, `text`, `max_elements`, `max_text_length`, `include_hidden`, `max_depth`, `result_detail` |
| `ogma_browser_hover` | 参照した要素にホバーし、新しく表示されたメニューやツールチップを報告します。 | **`element_ref`**, `snapshot_id`, `offset_x`, `offset_y`, `modifiers`, `timeout_ms`, `tab_id` |
| `ogma_browser_select_option` | 値、ラベル、インデックスでドロップダウンの選択肢を選び、選択した値を報告します。 | **`element_ref`**, `snapshot_id`, **`values`**, `match_mode`, `allow_first_match`, `timeout_ms`, `tab_id` |
| `ogma_browser_check` | 状態を無条件に反転するのではなく、チェックボックスやラジオボタンの状態を明示的に設定します。 | **`element_ref`**, `snapshot_id`, `checked`, `timeout_ms`, `tab_id` |
| `ogma_browser_press_key` | フォーカスされたページまたは参照した要素に、キーやキーの組み合わせを送ります。 | **`key`**, `element_ref`, `snapshot_id`, `modifiers`, `repeat`, `delay_ms`, `tab_id` |
| `ogma_browser_focus` | 参照した要素にフォーカスし、入力可能な操作を報告します。 | **`element_ref`**, `snapshot_id`, `tab_id` |
| `ogma_browser_blur` | 現在フォーカスされている要素からフォーカスを外します。 | `tab_id`, `snapshot_id` |
| `ogma_browser_drag_and_drop` | 参照した要素を、別の参照した要素にドラッグアンドドロップします。 | **`source_ref`**, **`target_ref`**, `snapshot_id`, `steps`, `tab_id` |
| `ogma_browser_scroll_to` | 要素やページ位置まで、または参照したスクロールコンテナー内でスクロールします。 | `target`, `element_ref`, `snapshot_id`, `container_ref`, `direction`, `amount`, `behavior`, `timeout_ms`, `tab_id` |
| `ogma_browser_wait_for` | 要素/テキスト/URL/ナビゲーション/ダイアログの条件、またはページの安定を待ちます。必要な場合は明示的なスリープにも対応します。 | **`condition`**, `target`, `timeout_ms`, `stability_ms`, `tab_id`, `snapshot_id`, `result_detail` |
| `ogma_browser_handle_dialog` | JavaScript ダイアログを承認または閉じます。任意のプロンプト入力テキストと、想定するダイアログのチェックも指定できます。 | **`action`**, `prompt_text`, `expected_type`, `expected_message`, `tab_id`, `snapshot_id` |
| `ogma_browser_dialog_status` | 待機中の JavaScript ダイアログを閉じずに報告します。 | なし。 |

### ブラウザーのファイル、ポップアップ、ダウンロード {#browser-files-popups-and-downloads}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_list_hosted_files` | アップロードや成果物の調査に使うため、アクティブなプロジェクトのホスト済みファイルと ID を一覧表示します。 | `limit`, `offset` |
| `ogma_artifact_read_range` | ファイル全体を返すのではなく、ホスト済みファイルの指定した範囲のバイトを読み取ります。 | **`artifact_id`**, `offset`, `length` |
| `ogma_artifact_search` | UTF-8 のホスト済みファイルの指定範囲でリテラル文字列を検索し、一致するバイトオフセットを返します。 | **`artifact_id`**, **`query`**, `offset`, `max_bytes`, `max_matches` |
| `ogma_browser_file_upload` | 任意のクライアント側ファイルシステムパスではなく、既存の Ogma ホスト済みファイル ID でファイル入力欄を設定します。 | **`element_ref`**, `snapshot_id`, **`artifact_ids`**, `tab_id` |
| `ogma_browser_wait_for_popup` | 操作前にポップアップ検出を準備する、ポップアップを待つ、または検出状態を確認します。 | **`action`**, `timeout_ms`, `switch_to_new_tab` |
| `ogma_browser_download_wait` | 進行中または完了したブラウザーダウンロードを検出します。ID と状態を確認してください。検出は完了や最新のダウンロードであることを意味しません。 | `timeout_ms` |
| `ogma_browser_download_get` | 一つのダウンロードを調査し、利用可能になった完了済みコンテンツを成果物として保存します。 | **`download_id`** |
| `ogma_browser_download_status` | ブラウザーのダウンロードと現在の進捗/状態を一覧表示します。 | なし。 |

### ブラウザーの識別情報、ストレージ、権限 {#browser-identities-storage-and-permissions}

以下のブラウザー権限ツールは、カメラや位置情報などの Web サイトの権限を制御します。MCP サーバーのツール権限は変更しません。

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_browser_context_create` | 分離されたブラウザーの識別情報と初期タブを作成し、`context_id` と `tab_id` を返します。 | `label`, `auth_profile_id`, `initial_url`, `retain_on_close` |
| `ogma_browser_context_clone` | クリーンなコンテキストを作成するか、`clone_mode: authenticated` で元のコンテキストの Cookie をコピーします。ストレージ全体のクローンではありません。 | **`context_id`**, `clone_mode`, `label` |
| `ogma_browser_context_close` | コンテキストとそのタブを閉じます。作成時に保持を指定しなかった場合は、ストレージも消去します。 | **`context_id`** |
| `ogma_browser_context_list` | ブラウザーコンテキストとその状態を一覧表示します。 | なし。 |
| `ogma_browser_auth_state_capture` | Cookie と Web ストレージを、名前付きのメモリ内認証状態としてキャプチャーし、機密情報を伏せたメタデータを返します。 | **`name`**, `tab_id`, `context_id`, `role`, `url` |
| `ogma_browser_auth_state_apply` | キャプチャーした認証状態を復元します。有効期限のメタデータは、サーバーがそのセッションを受け付ける証拠ではありません。 | **`auth_state_id`**, `tab_id`, `context_id`, `url` |
| `ogma_browser_auth_state_list` | 機密値の全体を含めずに、キャプチャーした認証状態を一覧表示します。 | なし。 |
| `ogma_browser_auth_state_delete` | キャプチャーした認証状態を一つ削除します。 | **`auth_state_id`** |
| `ogma_browser_storage_list` | 値のプレビューを短縮して、Cookie と Web ストレージのエントリーを一覧表示します。 | `origin`, `storage_type` |
| `ogma_browser_storage_get` | 値のプレビューを短縮して、一つの Cookie またはストレージキーを調査します。 | **`storage_type`**, **`key`**, `origin` |
| `ogma_browser_storage_set` | Cookie/ストレージの値を書き込みます。Ogma の `env:VARIABLE_NAME` 参照も使用できます。 | **`storage_type`**, **`key`**, **`value`**, `origin`, `domain`, `path`, `http_only`, `secure`, `expires` |
| `ogma_browser_storage_delete` | 一つの Cookie または Web ストレージキーを削除します。 | **`storage_type`**, **`key`**, `origin` |
| `ogma_browser_permissions_set` | オリジンに対して、指定した Web サイトの権限を許可、拒否、リセットします。 | **`origin`**, **`permissions`**, `setting`, `context_id` |
| `ogma_browser_permissions_reset` | ブラウザー権限の上書き設定を消去します。 | `context_id` |
| `ogma_browser_permissions_get` | オリジンに対する Web サイトの権限状態を問い合わせます。 | **`origin`**, `permissions` |

### ブラウザーの診断、証拠、復旧 {#browser-diagnostics-evidence-and-recovery}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_browser_network_delta` | カーソル以降のネットワークエントリーを件数制限付きで取得します。完全な URL、タイミング、エラー、利用可能な HTTP 履歴 ID を保持します。 | `since_entry_id`, `resource_types`, `status_filter`, `failed_only`, `max_entries` |
| `ogma_browser_console_delta` | 新しいコンソールエントリーを取得します。ブラウザーが提供する場合は、ソース URL、行、列も含みます。 | `since_entry_id`, `levels`, `max_entries` |
| `ogma_browser_action_correlation` | 操作の時間枠に関連する通信/イベントを取得するか、最近の操作を一覧表示します。タイミングだけでは因果関係を証明できません。 | `browser_action_id`, `limit` |
| `ogma_browser_snapshot_save` | 現在のスナップショットを後の比較用にアーカイブします。最大 20 個のスナップショットを保持します。 | `label` |
| `ogma_browser_page_state_compare` | 二つのアーカイブ済みスナップショットを比較し、要素/状態の差を報告します。変動しやすい値やロールを無視することもできます。 | **`snapshot_id_a`**, **`snapshot_id_b`**, `ignore_volatile`, `ignore_roles` |
| `ogma_browser_trace_start` | 軽量な操作トレースを開始します。`detailed` はコンソールとネットワークへの参照も追加します。 | `level`, `label`, `context_id` |
| `ogma_browser_trace_stop` | トレースを停止し、イベントをメモリ内に保持します。 | **`trace_id`** |
| `ogma_browser_trace_export` | 停止したトレースを、アクティブなプロジェクトの JSON ホスト済みファイル成果物として保存します。 | **`trace_id`** |
| `ogma_browser_trace_list` | トレースとその記録/エクスポート状態を一覧表示します。 | なし。 |
| `ogma_browser_trace_note` | 現在記録中のすべてのトレースにメモを追加します。 | **`note`** |
| `ogma_browser_human_takeover_start` | タイムアウトを設定した手動チェックポイントのために、エージェントのブラウザー操作を一時停止します。 | `reason`, `context_id`, `tab_id`, `timeout_ms` |
| `ogma_browser_human_takeover_complete` | 手動操作後に制御を戻し、ページのスナップショットを更新します。 | **`takeover_id`** |
| `ogma_browser_human_takeover_status` | 手動制御が有効かを確認し、残り時間を報告します。 | なし。 |
| `ogma_browser_health` | デバッガーブリッジの健全性と、最近のクラッシュ/切断情報を報告します。 | なし。 |
| `ogma_browser_recover` | ブリッジの復旧を試みます。既定では証拠を保持します。`relaunch_required` を報告する場合があります。 | `preserve_evidence` |

### 認証と認可のテスト {#authentication-and-authorization-testing}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_auth_capture_profile` | 組み込みブラウザーから Cookie、ストレージ、検出した認証トークン、CSRF 候補をキャプチャーします。 | **`name`**, `role`, `url`, `tab_id`, `wait_ms` |
| `ogma_auth_list_profiles` | 機密値を要約して、キャプチャーした認証プロファイルを一覧表示します。 | なし。 |
| `ogma_auth_apply_profile` | キャプチャーした認証プロファイルを組み込みブラウザーに適用し、ロールやアカウントを切り替えます。 | **`profile_id`**, `url`, `tab_id`, `wait_ms` |
| `ogma_auth_refresh_csrf` | 現在のページ、Cookie、ストレージ、meta タグ、隠し入力欄から CSRF トークン候補を更新します。 | `profile_id`, `url`, `tab_id`, `wait_ms` |
| `ogma_login_replay_auto` | ログインフォームを自動検出し、組み込みブラウザーで認証情報を送信して、認証プロファイルをキャプチャーします。 | **`login_url`**, **`username`**, **`password`**, **`profile_name`**, `role`, `tab_id`, `wait_ms` |
| `ogma_authz_matrix_test` | キャプチャーした一つのリクエストを複数の認証プロファイルで再送し、アクセス制御の結果を比較します。 | **`request_id`**, **`profile_ids`**, `mutations`, `entry_id` |

### 再利用可能なログインフロー {#reusable-login-journeys}

メモリ内の認証プロファイルとは異なり、ログインフローはプロジェクトごとに永続化されます。認証情報は Ogma の環境変数 ID を参照します。設定した検証チェックがすべて合格する必要があり、ログインフォームを送信しただけでは認証成功とはいえません。

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_auth_journey_record` | ログイン手順、認証情報への参照、検証チェック、任意の手動 MFA チェックポイントを保存します。フローを定義するもので、任意のクリックを自動記録するものではありません。 | **`name`**, `role`, **`login_url`**, **`username_env_var_id`**, **`password_env_var_id`**, `username_selectors`, `password_selectors`, `submit_selectors`, `steps`, **`verification`**, `mfa`, `mfa_reason`, `mfa_timeout_ms` |
| `ogma_auth_journey_list` | セッションの機密情報を伏せて、アクティブなプロジェクトの保存済みログインフローを一覧表示します。 | なし。 |
| `ogma_auth_journey_replay` | 保存済みログインフローを実行し、認証を検証して、更新したセッションを保存します。設定されている場合は手動 MFA のために一時停止します。 | **`journey_id`**, `tab_id` |
| `ogma_auth_journey_verify` | 現在のセッションに対して、URL、DOM、Cookie、任意の検証リクエストをチェックします。 | **`journey_id`**, `tab_id` |
| `ogma_auth_journey_ensure` | 現在のセッションを検証し、保存済み状態の復元を試みて、それでも必要な場合のみログインを再実行します。 | **`journey_id`**, `tab_id` |
| `ogma_auth_journey_resume` | 手動チェックポイント後にフローを続行し、得られたセッションを検証します。 | **`journey_id`**, **`takeover_id`**, `tab_id` |

### ユーティリティと分析 {#utilities-and-analysis}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_fetch_sourcemap` | JavaScript ソースマップを取得して調査します。 | **`url`**, `base_url` |
| `ogma_proto_decode` | 設定済みスキーマを使用して protobuf ペイロードをデコードします。 | **`data_b64`**, `content_type` |
| `ogma_decode_jwt` | JWT のヘッダーとクレームをデコードします。 | **`token`** |
| `ogma_decode_response` | base64、gzip、deflate、brotli、URL、HTML エンティティ、十六進数処理などの操作を順に適用して、レスポンス本文をデコード、展開、変換します。 | **`input`**, `input_is_b64`, **`operations`**, `max_output_bytes` |
| `ogma_search_js_secrets` | JavaScript レスポンスから、公開されている機密情報とエンドポイントを検索します。 | `host`, `patterns` |
| `ogma_compare_responses` | 二つのレスポンスを比較します。 | **`entry_id_a`**, **`entry_id_b`**, `mode` |
| `ogma_bytes_transform` | エンコード、デコード、XOR、ハッシュ、抽出などのバイト変換を実行します。 | **`operation`**, **`data`**, `key`, `output_encoding`, `offset`, `length`, `min_len` |
| `ogma_wasm_inspect` | WebAssembly モジュールを調査します。 | **`wasm_b64`**, `data_encoding` |
| `ogma_fingerprint_target` | キャプチャー済み通信とレスポンスから、対象の技術を識別します。 | `host`, `entry_limit` |
| `ogma_sign_request` | クライアント側の署名方式を使用するアプリケーション向けに、HMAC-SHA256 のリクエスト署名ヘッダーを計算します。 | **`key`**, **`method`**, **`path`**, `params` |
| `ogma_find_in_response` | 最大 10 個の URL を取得し、レスポンス本文で正規表現を検索して、簡潔な前後の文脈を返します。 | **`urls`**, **`pattern`**, `headers`, `context_chars`, `max_matches_per_url`, `case_insensitive`, `timeout_secs` |
| `ogma_think` | MCP セッション内に、構造化された推論や計画のテキストを記録します。 | **`thought`** |
| `ogma_explain_capabilities` | MCP サーバーの機能概要を返します。 | なし。 |

### アクティブプローブの補助ツール {#active-probe-helpers}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_run_active_probe_workflow` | キャプチャー済みリクエストに対し、特定の脆弱性を対象とした範囲限定のプローブを実行します。モジュールには IDOR/BOLA、CORS、SSRF OAST、XSS の反射/保存、SQLi のタイミング/エラー、パストラバーサル、SSTI、アップロード制限の回避、GraphQL のイントロスペクション/認可、JWT 操作、レート制限のチェックがあります。 | **`probe`**, **`request_id`**, `entry_id`, `target_param`, `profile_ids`, `values`, `origins`, `max_cases` |
| `ogma_test_race` | 一つのリクエストを並行送信し、最頻のステータス、それと異なるレスポンス、判定を報告します。一回限りの操作に使用してください。一度だけ成功するはずの操作で複数の成功レスポンスがあると、原子性がないことを示します。キャプチャー済みエントリーには `request_id` を渡すか、`host` と `port` に加えてリクエストの残りの内容を明示します。`http2` を設定すると、すべてのリクエストを一つの接続上の並行ストリームとして送信します（単一パケット）。対象が HTTP/2 を使用する場合、短い競合時間枠を捉える方式です。既定ではリクエストごとに接続を開きます。結果の違いは並行処理の挙動に関する証拠にすぎず、全結果が同じでも原子性の証明にはなりません。操作が変更した状態から確認してください。 | `request_id`, `entry_id`, `method`, `host`, `port`, `tls`, `path`, `query`, `params`, `headers`, `body_b64`, `concurrency`, `stagger_ms`, `http2` |
| `ogma_test_smuggling` | 生の TCP で CL.TE と TE.CL の同期ずれプローブを送信し、プローブ結果、候補、判定を報告します。`headers` で渡したヘッダーはプローブリクエストにのみ付け、同期ずれを測る後続リクエストには常に付けません。このプローブはヒューリスティックで、誤検知も見逃しもよく起こります。最初のリクエスト後に接続を閉じるフロントエンドや、競合するメッセージ境界指定を 400 で拒否するフロントエンドも、脆弱なものと同じ結果になります。陰性結果も安全性の証明にはなりません。報告前に確認してください。raw モードの `ogma_http_request` でプローブのバイト列を `raw_request_base64` として再送し、`max_responses` を 2 に設定して、そのバイト列が要求していないレスポンスを読み取ります。その後、同じ接続で `followup_raw_request_base64` により通常のリクエストを送り、二つのステータスを比較します。HTTP/1.x のみ対応です。 | **`host`**, **`port`**, `tls`, `path`, `timeout_ms`, `headers` |
| `ogma_test_hpp` | 指定したパラメーターの HTTP パラメーター汚染のバリエーションを送信し、レスポンスのステータスや本文を変えたものと判定を報告します。あるコンポーネントで検証したパラメーターを別のコンポーネントが使用し、重複する名前の解釈が異なる可能性がある場合に使用します。レスポンスの変化は重複パラメーターの処理が異なることを示しますが、それだけでは制御の回避を証明しません。`headers` はベースラインを含むすべてのリクエストに付けるため、Cookie や Authorization を指定すると認証情報が必要なエンドポイントを調べられます。ヘッダーを指定しないと Cookie も認証情報も送らないため、ログイン必須のエンドポイントで変化がない結果には何の証明力もありません。 | **`host`**, **`port`**, **`params`**, `tls`, `path`, `base_value`, `test_value`, `timeout_ms`, `headers` |
| `ogma_list_nuclei_templates` | Ogma に同梱したテンプレートスキャナーのテンプレートを、深刻度と一致の意味とともに一覧表示します。`ogma_run_nuclei` の前に確認し、名前で選んでください。 | なし。 |
| `ogma_run_nuclei` | 対象 URL に一つのテンプレートを実行し、すべての一致を報告します。指摘事項は作成しません。同梱テンプレートには `template`、独自の文書には `template_yaml` を渡し、両方は指定しないでください。パーサーは nuclei のサブセットで、ステータス、単語、正規表現のマッチャー、`matchers-condition`、正規表現の抽出器に対応します。DSL 式など、サブセット外のマッチャー型は評価せずにスキップします。完全な nuclei 環境では受け付けるテンプレートでも、このツールでは実行できないものがあります。テンプレートは、公開された `.env`、`.git/config`、actuator エンドポイント、server-status ページなど、パッシブスキャナーからは見えない公開状態や設定不備をチェックします。 | **`target`**, `template`, `template_yaml` |
| `ogma_record_test_attempt` | エンドポイント、パラメーター、ベクトルのいずれかをテストしたことと結果を記録し、後のセッションで行き止まりと未テスト箇所を区別できるようにします。追加調査を打ち切るのは `no_signal` のみです。`transport_error` はプローブが対象に届かなかったことを意味し、そのベクトルについて何も証明しません。 | **`host`**, **`port`**, **`path`**, **`vector`**, **`outcome`**, **`reason`**, `parameter`, `payload_label`, `evidence_entry_id` |
| `ogma_list_test_attempts` | 記録したテスト試行を新しい順に一覧表示し、ホスト、ポート、パス、パラメーター、ベクトルでグループ化して、各箇所の決定的な試行、試行数、追加調査を打ち切ったかどうかを報告します。決定的な結果が `no_signal` の場合のみ追加調査を打ち切った状態とし、後の `transport_error` はその状態を解除しません。 | `host`, `port`, `path`, `vector`, `limit` |

### 直接の WebSocket テスト {#direct-websocket-testing}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_websocket_connect` | `ws://` または `wss://` の URL に接続し、メッセージを送信して、会話記録を返します。 | **`url`**, **`messages`**, `headers`, `timeout_secs` |
| `ogma_ws_capture_history` | `ogma_websocket_connect` の WebSocket 会話記録を、調査や証拠のリンクに使う構造化 Ogma 履歴として保存します。 | **`url`**, **`transcript`**, `label` |

### 照合・置換 {#match-and-replace}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_list_match_replace_rules` | 照合・置換ルールを一覧表示します。 | なし。 |
| `ogma_create_match_replace_rule` | 照合・置換ルールを作成します。ワークフローの操作には workflow\_id が必要です。 | **`name`**, `enabled`, **`direction`**, **`operation`**, **`match_value`**, `match_mode`, `replace_value`, `filter_method`, `filter_host`, `filter_path`, `filter_httpql`, `position`, `workflow_id` |
| `ogma_toggle_match_replace_rule` | 照合・置換ルールを有効または無効にします。 | **`rule_id`**, **`enabled`** |
| `ogma_delete_match_replace_rule` | 照合・置換ルールを削除します。 | **`rule_id`** |

### 環境変数 {#environment-variables}

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_list_env_vars` | 環境変数の名前とメタデータを一覧表示します。 | なし。 |
| `ogma_set_env_var` | 環境変数を作成または更新します。 | **`name`**, **`value`**, `scope`, `is_secret` |
| `ogma_get_env_var_value` | 権限がある場合に環境変数の値を読み取ります。 | **`name`** |

### プロジェクト、メモ、TODO、セッション {#projects-notes-todos-and-session}

プロジェクトの切り替えは、要求したエージェントだけでなく、Ogma のアクティブなプロジェクトに影響します。他のクライアントと調整してください。以下のメモ/TODO ツールは**メモリ内の MCP セッション用スクラッチパッド**であり、アプリケーションの永続的なメモページではありません。切断や MCP の再起動の前に、セッションレポートを保存してください。

| ツール | 機能 | 入力 |
| --- | --- | --- |
| `ogma_list_projects` | プロジェクトを一覧表示します。 | なし。 |
| `ogma_switch_project` | アクティブなプロジェクトを切り替えます。 | `project_id`, `project_name` |
| `ogma_start_pentest_session` | 対象の構造化された評価計画を作成し、既定ではセッション内のメモ/チェックリストも作成します。完全なスキャンを自動実行するものではありません。 | **`target_url`**, `objective`, `mode`, `create_scratchpad` |
| `ogma_get_coverage_status` | 現在のセッションのチェックリストの進捗と残りのカバレッジを要約します。テストが完全であることの証明ではありません。 | なし。 |
| `ogma_recommend_skills` | 観測した技術、パス、ヘッダー、その他の入力コンテキストから、組み込みスキルのガイダンスを提案します。 | `observations`, `paths`, `content_types`, `headers`, `technologies`, `response_snippets`, `notes` |
| `ogma_note_create` | メモを作成します。 | **`title`**, **`content`**, `category` |
| `ogma_note_list` | メモを一覧表示します。 | `category` |
| `ogma_note_get` | 一つのメモを取得します。 | **`id`** |
| `ogma_note_update` | メモを更新します。 | **`id`**, `title`, `content`, `category` |
| `ogma_note_delete` | メモを削除します。 | **`id`** |
| `ogma_todo_create` | TODO を作成します。 | **`task`**, `priority` |
| `ogma_todo_list` | TODO を一覧表示します。 | `status`, `priority` |
| `ogma_todo_update` | TODO を更新します。 | **`id`**, `task`, `priority`, `status` |
| `ogma_todo_mark_done` | TODO を完了としてマークします。 | **`id`** |
| `ogma_todo_delete` | TODO を削除します。 | **`id`** |
| `ogma_finish_session` | 概要、方法、推奨事項を記録して MCP セッションを終了します。 | **`summary`**, **`methodology`**, **`recommendations`** |
| `ogma_get_session_report` | 現在の MCP セッションレポートを取得します。 | なし。 |

## ワークスペース AI との関係 {#relationship-to-workspace-ai}

MCP サーバーは外部ツールが使用するプロトコルサーバーです。アプリ内のワークスペース AI は Vue/ブラウザーの機能で、設定した AI プロバイダーを直接呼び出し、独自のフロントエンドツール一覧を提供します。[ワークスペース AI](../guide/workspace-ai.md)を参照してください。
