> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mindfort.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP (Model Context Protocol)

> MCP 経由で AI エージェントを MindFort に接続し、承認済みターゲット、アセスメント、検出結果、カバレッジ、認証情報、分析、レポートを管理します。

エージェントで MindFort をセットアップするには、[エージェント向けクイックスタート](https://docs.mindfort.ai/ja/agent-quickstart.md)にあるコピー可能なプロンプトを使用してください。

## できること

Cursor、Claude Code、Codex、またはその他の MCP クライアントを MindFort に接続すると、エージェントから組織のセキュリティプログラムを操作できます。MindFort MCP サーバーは、組織単位でスコープされた明示的なツールカタログを公開しており、次の操作に対応しています。

* 承認済みターゲットの閲覧、作成、更新、削除
* Web アプリケーションおよび API 向けの書き込み専用テスト認証情報の管理
* カバレッジシナリオ、実行状態、関連する検出結果の確認
* Discovery が有効な場合の候補ターゲットの検出
* アセスメントの開始、監視、キャンセル
* 検出結果の閲覧、トリアージ、コメント、再テスト
* セキュリティメトリクス、分布、経過日数、修正状況、ヘルススコアの参照
* レポートの生成、ポーリング、ダウンロード

エージェントは、あなたの MindFort アカウントで利用可能なデータを扱えます。識別子を推測せず、MindFort が返したリソース ID を使用してください。

## MCP のユースケース

| ユースケース | プロンプト例 |
| - | - |
| **現在のセキュリティ態勢を確認する** | `Show my current MindFort metrics, coverage gaps, and critical active findings.` |
| **アセスメントを監視する** | `List my active assessments and show the stage progress for the newest one.` |
| **検出結果をローカルで調査する** | `Pull this MindFort finding, inspect the relevant code, and explain the vulnerable path.` |
| **ローカルでパッチを生成する** | `Use the evidence and remediation advice to patch this finding in my working tree.` |
| **デプロイ後に再テストする** | `Add a deployment note, start a retest, and poll the finding until it finishes.` |
| **レポートを準備する** | `Generate a condensed report for this target and give me the download URL when ready.` |
| **API テストを設定する** | `Show the target metadata and credential types required for authenticated API testing.` |
| **カバレッジのギャップを確認する** | `List incomplete coverage checks and summarize their latest run results.` |

## MCP とプラットフォームでのパッチ適用の比較

プラットフォームから直接プルリクエストを MindFort に生成させたい場合は、**Patching** を使用します。

MindFort のエビデンスを、リポジトリのチェックアウト、ビルドシステム、エンジニアリング規約と組み合わせてローカルの AI エージェントで作業したい場合は、**MCP** を使用します。

## インストール

### Cursor

[![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](cursor://anysphere.cursor-deeplink/mcp/install?name=MindFort\&config=eyJ1cmwiOiJodHRwczovL2FwaS5taW5kZm9ydC5hcHAvbWNwIiwidHJhbnNwb3J0IjoiaHR0cCJ9)

または、`.cursor/mcp.json` にサーバーを追加します。

```json theme={null}
{
  "mcpServers": {
    "MindFort": {
      "url": "https://api.mindfort.app/mcp",
      "transport": "http"
    }
  }
}
```

### Claude Code

```bash theme={null}
claude mcp add --transport http MindFort https://api.mindfort.app/mcp
```

その後、Claude Code 内で `/mcp` を実行してサインインします。

または、`.mcp.json` にサーバーを追加します。

```json theme={null}
{
  "mcpServers": {
    "MindFort": {
      "type": "http",
      "url": "https://api.mindfort.app/mcp"
    }
  }
}
```

### Codex

```bash theme={null}
codex mcp add MindFort --url https://api.mindfort.app/mcp
```

または、`~/.codex/config.toml` にサーバーを追加します。

```toml theme={null}
[mcp_servers.MindFort]
url = "https://api.mindfort.app/mcp"
```

### その他の MCP クライアント

Streamable HTTP エンドポイントを使用します。

```text theme={null}
https://api.mindfort.app/mcp
```

MindFort はステートレスな Streamable HTTP を使用しており、クライアントは `POST /mcp` で MCP リクエストを送信します。従来の HTTP+SSE トランスポート、および旧来の `GET /mcp` ストリームと `DELETE /mcp` セッションメソッドはサポートされていません。

## サインインと認可

MindFort MCP は、既存の MindFort アカウントを使ったブラウザベースの OAuth を使用します。API キーは必要ありません。

1. MindFort MCP サーバーを追加します。
2. クライアントから求められたら、ブラウザでサインインを完了します。
3. 対象の MindFort 組織を選択します。
4. エージェントに `get_current_context` を呼び出させ、組織、ロール、有効な機能を確認します。

MCP へのアクセスには、組織の有効なメンバーシップと、該当する権限および機能が必要です。メンバーシップや権限が変更された場合は、再接続し、`get_current_context` でアクセス権を確認してください。

> [!NOTE]
>
> カタログはメンバーのロールと組織の機能によって異なります。ロールが監査担当者のみのメンバーは、許可された操作に対して読み取り専用のアクセス権を持ちます。機能ゲートされたツールや認証情報のバリアントは、組織で対応する機能が有効な場合にのみ表示されます。MindFort は、請求管理、API キー管理、組織メンバーシップ、ロール管理を MCP で公開していません。

## コンテキストから始める

エージェントが正しいコンテキストとリソース ID を使用できるよう、次の手順に従ってください。

1. `get_current_context` を呼び出し、選択された組織と利用可能な機能を確認します。
2. ターゲット固有の作業の前に、`list_targets`、続いて `get_target` を呼び出します。
3. MindFort が返したターゲット、認証情報、アセスメント、検出結果、カバレッジチェック、レポートの ID を再利用します。
4. アクティブなテストの開始や破壊的な操作の実行前に、ツールの警告を確認します。
5. 非同期操作は、対応する読み取りツールでポーリングします。

サーバーは固定リソース `mindfort://guides/start-here` も公開しています。リソースに対応した MCP クライアントは、これを検出して読み取ることで、簡潔な操作手順を確認できます。詳細な仕様については、このドキュメントと[エージェント向けドキュメントインデックス](https://docs.mindfort.ai/llms.txt)を参照してください。

## 機能と機能ゲート

ツールカタログは明示的に定義されており、組織によって異なる場合があります。

| 領域 | 一般的なワークフロー |
| - | - |
| **Targets** | `list_targets` -> `get_target` -> 作成、更新、または確認付きの削除 |
| **Credentials** | 安全なメタデータの一覧表示、書き込み専用テスト認証情報の作成、ローテーション、削除 |
| **Coverage** | 現在のシナリオ、実行サマリー、関連する検出結果の参照 |
| **Discovery** | 有効な場合に Discovery を設定・実行し、候補ターゲットを確認 |
| **Assessments** | `run_assessment` -> `get_assessment` をポーリング -> 検出結果を確認 |
| **Findings** | 一覧表示/取得、ライフサイクルの更新、コメント、重大度の上書き、再テスト、パッチサマリーの確認 |
| **Analytics** | 件数、分布、ヘルス、履歴、時系列、修正状況、SLA、経過日数の参照 |
| **Reports** | `create_report` -> `get_report` をポーリング -> `download_report` |

### ツールカタログ一覧

基本カタログと機能ゲートされたカタログには、次のツールが含まれます。機能ゲートされたツールは選択した組織で利用できない場合があるため、最初に `get_current_context` を呼び出してください。

| 領域 | ツール |
| - | - |
| **Context** | `get_current_context` |
| **Targets** | `list_targets`, `get_target`, `create_target`, `update_target`, `delete_target` |
| **Credentials** | `list_target_credentials`, `create_target_credential`, `update_target_credential`, `delete_target_credential`, `generate_target_email_credential`, `check_email_mfa`, `get_authenticator_2fa_code`, `get_sms_credentials_access`, `list_sms_credential_countries`, `check_sms_code` |
| **Coverage** | `list_coverage_checks`, `get_coverage_overview` |
| **Discovery** | `get_discovery_status`, `update_discovery_schedule`, `update_discovery_context`, `start_discovery_run`, `cancel_discovery_run`, `list_discovery_suggestions`, `accept_discovery_suggestion`, `dismiss_discovery_suggestion` |
| **Assessments** | `list_assessments`, `get_assessment`, `run_assessment`, `cancel_assessment` |
| **Assessment schedules** | `list_assessment_schedules`, `get_assessment_schedule`, `create_assessment_schedule`, `update_assessment_schedule`, `delete_assessment_schedule`, `trigger_assessment_schedule`, `pause_assessment_schedule`, `resume_assessment_schedule` |
| **Findings** | `list_findings`, `get_finding`, `update_finding_status`, `update_finding_statuses`, `update_finding_severity`, `retest_finding`, `add_finding_comment`, `list_finding_comments`, `edit_finding_comment`, `delete_finding_comment`, `list_finding_patches`, `get_patch_count` |
| **Analytics** | `get_finding_counts`, `get_severity_distribution`, `get_target_health_score`, `get_category_distribution`, `get_severity_score_history`, `get_current_security_metrics`, `get_security_metrics_timeseries`, `get_remediation_metrics`, `get_sla_metrics`, `get_finding_aging` |
| **Reports** | `create_report`, `list_reports`, `get_report`, `download_report` |

機能ゲートされた機能には次のものがあります。

* `discovery`: Discovery のステータス、コンテキスト、スケジュール、実行、提案
* `network-targets`: ネットワークターゲットの作成とアセスメント入力
* `sms-credentials`: SMS 認証情報のバリアント、プロビジョニングメタデータ、コードの確認
* `finding-severity-overrides`: 重大度の上書き設定。既存の上書きの解除は引き続き利用可能です

利用可能な機能や権限が変更された場合は、再接続するか新しいチャットを開始して、エージェントが利用できるツールを更新してください。

## ターゲットと認証情報

Web アプリケーションおよび API ターゲットには、HTTP(S) の `web_domain` が必要です。ネットワークターゲットには `ip_address` が必要で、組織で有効になっている場合にのみ利用できます。REST または MCP で作成されたターゲットは未検証の状態で開始されます。アクティブなテストの前に、MindFort ダッシュボードで所有権またはネットワークの検証を完了してください。

認証情報の一覧および詳細の読み取りではメタデータのみが返され、パスワード、API キーの値、TOTP シードは返されません。専用の認証ヘルパーは一時的なコードやログイン URL を返すことができ、メールのプロビジョニングでは認証情報の作成に使用する保留中の受信箱 ID が返されます。

API ターゲットの場合、`api_key` 認証情報には、空でないターゲットレベルの `api_auth_instructions` が必要です。この中で次の内容を説明します。

* 検証用のルートと HTTP メソッド
* 必要なリクエストの形式
* キーの配置場所 (ベアラートークン、ヘッダー、クエリパラメータ、JSON フィールドなど)
* 想定される成功レスポンス

シークレットは書き込み専用です。シークレットを読み戻すことはできないため、ローテーションは更新ツールで行ってください。

## アセスメントとステージの進捗

アセスメントを開始すると、アクティブなセキュリティテストが始まり、プランの容量を消費する場合があります。ユーザーがテストを意図しているターゲットのみを使用してください。

アセスメントのステージを追跡するには、`get_assessment` レスポンスの `stage_progress` を使用します。

* `NOT_STARTED` は、状態がまだ記録されていないことを意味します。
* `RUNNING` または `ACTIVE` は、処理が進行中であることを意味します。
* その他の値は、ステージの最終結果です。
* アクティブなテストのステージには、ステータス、試行回数、タイミングのフィールドが含まれる場合があります。

トップレベルの `created_at`、`updated_at`、`started_at`、`completed_at` は実行全体を表します。失敗した実行には、問題を説明する `failure_reason` が含まれる場合があります。`cancel_assessment` はアセスメント ID のみを受け付けます。キャンセルの経緯は、独自のワークフローで記録してください。

## 検出結果と再テスト

`list_findings` ツールは、`GET /v1/findings` と同じフィルターを受け付けます。

| 引数 | デフォルト | 説明 |
| - | - | - |
| `target_id` | — | 1 つのターゲットに限定 |
| `assessment_id` | — | 1 回のアセスメント実行に限定 |
| `status` | `ACTIVE` | `ACTIVE`、`RESOLVED`、または `ARCHIVED` |
| `exclude_secured` | `false` | `true` の場合、情報提供用の secured プローブを除外 |
| `severity` | — | `critical`、`high`、`medium`、`low`、または `secured` |
| `sort_by` | `severity` | `severity` または `created_at` |
| `limit` | ツールごとに異なる | 上限付きのページサイズ |
| `cursor` | — | 前回の結果から得られた不透明な継続カーソル |

一致する総件数を知るには、最初のページの長さではなく `total` を使用してください。ダッシュボードの Open タブと一致させるには、`status=ACTIVE` と `exclude_secured=true` を使用します。

再テストは非同期で、`ACTIVE`、`RESOLVED`、`ARCHIVED` の検出結果に対して開始できます。`get_finding` をポーリングしてください。

* `QUEUED` または `RUNNING`: 実行がまだ進行中です。
* `FAILED`: `retest_failure_reason` に実行を完了できなかった理由が記載されます。
* `COMPLETED`: 検証が完了し、結果が適用されました。テストした条件下で問題が修正されたことを示す結果の場合、検出結果は `RESOLVED` になります。引き続き再現可能であることを示す結果の場合は `ACTIVE` になります。

REST の例とフィールドの詳細については、[Findings API](https://docs.mindfort.ai/ja/api-reference/findings) を参照してください。

## ページネーション

MCP の一覧ツールは、REST のオフセットではなく不透明なカーソルを使用します。結果に `next_cursor` が含まれる場合は、同じフィルターとともにその値を変更せずに渡してください。カーソルは操作とフィルターの組み合わせに紐づいているため、フィルターを変更した場合は新たにページネーションを開始する必要があります。

`tools/list` は認可されたカタログ全体を返し、ページネーションされません。

## エラーと注意が必要な操作

ツールの失敗には、安定したエラーコード、安全なメッセージ、該当する場合はリトライのガイダンス、サポートでの照合用のリクエスト ID が含まれます。検証エラーには、フィールドレベルの詳細が含まれる場合もあります。

接続が HTTP `429 Too Many Requests` を返した場合は、`Retry-After` の間隔だけ待ってから再試行し、ポーリングの頻度を下げてください。

対処可能な主なコードは次のとおりです。

* `target_not_verified`
* `api_auth_instructions_required`
* `assessment_already_running`
* `assessment_credits_insufficient`
* `assessment_queue_loading`
* `retest_already_running`

破壊的なツールには目立つ警告と MCP の destructive アノテーションが付いています。ツールを呼び出すと、通常の検証後に操作が実行されます。MindFort は 2 段階目の承認ハンドシェイクを追加しません。削除、キャンセル、アーカイブ、アクティブなテストの前に、ターゲット名、リソース ID、警告を確認してください。

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

> [accordion] エージェントが接続できない
>
> URL が正確に `https://api.mindfort.app/mcp` であること、ネットワークで HTTPS が許可されていること、クライアントが Streamable HTTP に対応していることを確認してください。クライアントを再起動して、もう一度お試しください。

> [accordion] サインインが完了しない
>
> MCP 接続を削除して、再度追加してください。Claude Code では `/mcp` を実行し、MindFort を選択して再認証します。問題が解決しない場合は、[support@mindfort.ai](mailto:support@mindfort.ai) までお問い合わせください。

> [accordion] 想定したツールが表示されない
>
> `get_current_context` を呼び出して、選択された組織とその公開機能フラグを確認してください。その後、再接続するか新しいチャットを開始して、クライアントにツールの検出を更新させます。

> [accordion] 解決済みにした検出結果が表示されなくなる
>
> `list_findings` がデフォルトの `status=ACTIVE` を使用している場合、これは想定どおりの動作です。これらのライフサイクル状態を閲覧するには、`status=RESOLVED` または `status=ARCHIVED` を渡してください。

> [accordion] API または MCP の件数がダッシュボードと異なる
>
> ダッシュボードの Open タブでは、情報提供用の secured プローブがデフォルトで非表示になっています。一致させるには、`exclude_secured=true` と `status=ACTIVE` を渡してください。1 つのアセスメントを比較する場合は `assessment_id` を使用します。

> [accordion] カーソルが拒否される
>
> 同じツールとフィルターで、`next_cursor` を変更せずに渡してください。フィルターを変更した後は、カーソルなしで最初からやり直してください。

## カバレッジと Discovery

個々のシナリオには `list_coverage_checks` を、集計件数には `get_coverage_overview` を使用します。結果を要約する際は、`covered`、`failing`、`incomplete`、`in_progress`、`not_run` を区別してください。カバレッジは読み取り専用で、チェックを作成、編集、再実行するツールはありません。

[Discovery](https://docs.mindfort.ai/ja/guides/discovery.md) は候補ターゲットを提案します。提案を承認するとターゲットが作成されます。テストを開始する前に、その検証状態を確認してください。Discovery のツールは、機能が有効な場合にのみ表示されます。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.