> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/pentesuto/configure-a-pentest/testing-mcp-servers.md).

# MCPサーバーのテスト

Aikido Pentest は、あなたの Model Context Protocol (MCP) サーバーをテストできます。評価を MCP エンドポイントに向け、認証方法を Aikido に伝えれば、あとはエージェントが対応します。

{% hint style="warning" %}
ステージングまたはテスト環境で MCP サーバーのペンテストを実行します。エージェントはエンドポイントにリクエストを送り、そこを通じてデータを作成、変更、削除することがあります。
{% endhint %}

## テストされる内容

Aikido はサーバーが公開するツール、リソース、プロンプトを調査します。主な着眼点:

* **ツールの発見** – サーバーが公開しているツール、リソース、プロンプトは何か、また到達できるべきでないものがないか
* **認可** – 未認証の呼び出し元や権限の低い呼び出し元が、すべきでないツールの呼び出しやリソースの読み取りを行えないか
* **安全でないツールの使用** – パラメータ注入、SSRF 風の挙動、コマンド実行、ツール呼び出しを通じたデータ流出
* **機密データの露出** – ツールやリソースから返されるシークレット、トークン、またはマルチテナント間データ
* **統合リスク** – MCP サーバーと、そのツールが接続する下流システムとの間の信頼境界が弱いこと

エージェントおよびツール固有のリスクの背景については、以下を参照してください: [エージェント型アプリケーション向けOWASP Top 10](/docs/docs-ja/pentesuto/coverage-and-findings/what-issues-can-aikido-pentest-find/owasp-top-10-for-agentic-applications.md).

## 必要なもの

* 1つの **リモートエンドポイント** MCP サーバー用（たとえば、 `https://mcp.staging.example.com/mcp`).
* 1つの **事前登録済みの OAuth クライアント** そのサーバー用（クライアント ID、クライアントシークレット、コールバック URL）。以下を参照: [MCP で認証する](/docs/docs-ja/pentesuto/configure-a-pentest/setting-up-authenticated-testing/mcp-authentication.md).
* ドメインの所有権があること [検証済み](/docs/docs-ja/pentesuto/configure-a-pentest/domain-verification.md).
* Aikidoの [ペンテスト用IPアドレス](/docs/docs-ja/pentesuto/prepare-a-pentest/ip-addresses-for-pentest.md) エージェントがエンドポイントに到達できるように、ファイアウォール、WAF、または API ゲートウェイの許可リストに追加してください。

## ペンテストをセットアップする

{% stepper %}
{% step %}

### エンドポイントをスコープに追加する

評価を作成し、次の **スコープ** ステップで MCP サーバーのエンドポイントをターゲットとして入力します。クライアントが接続する正確な URL とパスを使用してください。例: `https://mcp.staging.example.com/mcp`.

完了 [ドメインの検証](/docs/docs-ja/pentesuto/configure-a-pentest/domain-verification.md) エンドポイントを提供しているホスト用。サーバーが内部ネットワークからのみ到達可能な場合は、次を使用してください: [Aikido Broker](/docs/docs-ja/miscellaneous-info/aikido-broker-for-internal-applications.md): 内部 MCP URL をブローカーリソースとして追加し、スコープ内でそのブローカー URL を選択します。
{% endstep %}

{% step %}

### 認証を提供する

次の場所で **テストユーザー** 手順で、次をクリックします。 **テストユーザーを追加** → **MCP**。MCP の認可は OAuth 2.1 を使用するため、専用の方法では事前登録済みの OAuth クライアントを求められます:

1. **URL** MCP エンドポイントの（スコープから事前入力されます）。
2. **OAuth クライアント ID** および **OAuth クライアントシークレット** そのサーバー上のテスト用クライアント向け。
3. **コールバック URL。** OAuth クライアントのリダイレクト URI と一致する必要があります。デフォルトは `http://localhost:3000/callback` （OAuth はローカルで完了します）。
4. **認証手順。** 型 `@` 上記の認証情報を参照します。サーバーに追加手順が必要な場合を除き、既定のままにしてください。

クリック **保存してテスト** エージェントが認証でき、正常な MCP 初期化レスポンスを受け取れることを確認します。

サーバーが OAuth を使用しない場合は、以下を使用してください **APIキー** （例: `Authorization: Bearer <token>` または `X-API-Key: <key>`）または **カスタム** ブラウザのログインフロー用。

参照 [MCP で認証する](/docs/docs-ja/pentesuto/configure-a-pentest/setting-up-authenticated-testing/mcp-authentication.md) 項目ごとの設定用。
{% endstep %}

{% step %}

### コンテキストを追加してから起動

最良の結果を得るには、次をリンクしてください **MCP サーバーのコードリポジトリ** を **コードとドキュメント** ステップ。これにより実行がホワイトボックスペンテストに昇格し、エージェントにより深いロジックフローの脆弱性を見つけるための最大限のコンテキストが与えられます。Aikido はソースを読み取り、ツール、その呼び出し元、そして到達先の下流システムを把握します。

リポジトリをリンクできない場合は、以下を使用してください **追加のコンテキスト** サーバーが公開するアクション、それぞれに到達すべき呼び出し元やロール、および接続先の下流システム（データベース、内部 API、ファイルストレージ）を説明します。

残りの **安全性チェック**, **価格**、および **要約** ステップを完了してから、実行を開始します。サーバーが大量リクエストに敏感な場合は、 **1 秒あたりの最大リクエスト数** の **安全性チェック** ステップで値を下げ、負荷を軽減してください。
{% endstep %}
{% endstepper %}

## ヒント

* **専用のテストインスタンスを使用する** 非本番データで行い、破壊的な操作は可能な限りモック化するか無効化してください。
* **テスト用 OAuth クライアントを登録する** 検証したいツールに一致するスコープを設定し、評価後にシークレットをローテーションまたは失効させてください。
* **本番環境に合わせてください。** スコープに設定するエンドポイント、パス、認証は、実際のクライアントが使用するものにしてください。

## ヘルプが必要ですか？

エージェントがエンドポイントに到達できない、または認証に失敗する場合は、次を開いてください **Intercomチャット** を右下隅で開いてください。私たちのチームがサポートします！


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/docs/docs-ja/pentesuto/configure-a-pentest/testing-mcp-servers.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
