> 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).

## 必要なもの

* A **リモートエンドポイント** MCP サーバー用（たとえば、 `https://mcp.staging.example.com/mcp`).
* 次の **認証** サーバーが期待するもの。通常はヘッダーで送るトークンまたは API キーです。
* それが検証できるように、ドメインの所有権を [検証](/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 %}

### 認証情報を提供する

「Test Users」ステップで、 **テストユーザー、** MCP への接続方法を記載してください。これは主に次の 2 つの方法で行えます。

1. MCP サーバーへ直接認証する場合:
   1. **Bearer トークン（最も一般的）。** MCP の認可標準は OAuth 2.1 なので、ほとんどのサーバーはアクセストークンを期待します。テスト用アイデンティティのトークンを発行し、次のように追加します。 `Authorization: Bearer <token>`.
   2. **API キー。** 一部のサーバーでは、代わりに次のようなキー用ヘッダーを使用します。 `X-API-Key: <key>`.
   3. **マルチテナントルーティング。** サーバーが必要とするテナントまたはワークスペースのヘッダーを、トークンと一緒に追加します。
2. 対話型のユーザーログインフローを通じて認証する場合: ユーザーがブラウザーでログインし、セッショントークンにアクセスできるようになるまでの手順を順番に示してください。
   {% endstep %}

{% step %}

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

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

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

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

## ヒント

* **専用のテストインスタンスを使用し** 本番以外のデータを使い、可能な範囲で破壊的な操作はモック化または無効化してください。
* **テストトークンを発行し** 検証したい権限を付与し、アセスメント後にローテーションしてください。
* **本番環境と一致させます。** スコープに含めるエンドポイント、パス、認証は、実際のクライアントが使用するものにしてください。

## お困りですか？

エージェントがエンドポイントに到達できない、または認証に失敗する場合は、次を開いてください。 **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.
