Burp Suite MCP Server Extension について
Burp Suite MCP Server Extension は、Model Context Protocol を通じて Burp Suite を AI クライアントに接続する Burp Suite の拡張機能です。Claude Desktop 向けのインストーラーと、stdio のみに対応するクライアント向けのプロキシを同梱しています。
主な機能
- 01MCP を介した Burp Suite と AI クライアントの接続
- 02Claude Desktop の設定を行うインストーラー
- 03SSE サーバーと stdio プロキシの二つの接続方式
- 04Burp の設定ファイルを編集するツールの有効化オプション
- 05ホストとポートを変更可能なサーバー設定
活用シーン
- 01テスト中に AI クライアントから Burp のデータを参照・操作する
- 02Claude Desktop に Burp MCP サーバーを設定する
- 03stdio のみに対応するクライアントから Burp に接続する
MCP 対応
この拡張機能は Burp 内で MCP サーバーを起動し、SSE エンドポイントまたは同梱の stdio プロキシを通じてツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Burp Suite MCP Server Extension
概要
Model Context Protocol(MCP)を使用して、Burp Suite を AI クライアントと連携させます。
プロトコルの詳細については、modelcontextprotocol.io をご覧ください。
機能
- MCP を通じて Burp Suite を AI クライアントに接続
- Claude Desktop の自動インストール
- パッケージ化された Stdio MCP プロキシサーバーが付属
使用方法
- Burp Suite に拡張機能をインストールします
- 拡張機能の設定で Burp MCP サーバーを設定します
- MCP クライアントが Burp SSE MCP サーバーまたは stdio プロキシを使用するよう設定します
- クライアントを通じて Burp を操作します!
インストール
前提条件
拡張機能をビルドしてインストールする前に、次の前提条件が満たされていることを確認してください。
- Java:Java がインストールされ、システムの PATH から利用できる必要があります。ターミナルで
java --versionを実行すると確認できます。 - jar コマンド:
jarコマンドを実行でき、システムの PATH から利用できる必要があります。ターミナルでjar --versionを実行すると確認できます。拡張機能のビルドとインストールに必要です。
拡張機能のビルド
-
リポジトリをクローン:MCP Server Extension のソースコードを取得します。
git clone https://github.com/PortSwigger/mcp-server.git -
プロジェクトディレクトリに移動:プロジェクトのルートディレクトリに移動します。
cd mcp-server -
JAR ファイルをビルド:Gradle を使用して拡張機能をビルドします。
./gradlew embedProxyJarこのコマンドはソースコードをコンパイルし、
build/libs/burp-mcp-all.jarに JAR ファイルとしてパッケージ化します。
Burp Suite への拡張機能の読み込み
- Burp Suite を開く:Burp Suite アプリケーションを起動します。
- 拡張機能タブにアクセス:
Extensionsタブに移動します。 - 拡張機能を追加:
Addをクリックします。Extension TypeをJavaに設定します。Select file ...をクリックし、前の手順でビルドした JAR ファイルを選択します。Nextをクリックして拡張機能を読み込みます。
読み込みが成功すると、MCP Server Extension が Burp Suite で有効になります。
設定
拡張機能の設定
拡張機能は、Burp Suite の UI にある MCP タブから設定します。
- MCP サーバーの切り替え:
Enabledチェックボックスで、MCP サーバーを有効にするかどうかを切り替えます。 - 設定の編集を有効化:
Enable tools that can edit your configチェックボックスをオンにすると、Burp の設定ファイルを編集できるツールを MCP サーバーに公開できます。 - 詳細オプション:MCP サーバーのポートとホストを設定できます。デフォルトでは
http://127.0.0.1:9876で待ち受けます。
Claude Desktop クライアント
Claude で MCP Server Extension を十分に活用するには、Claude クライアントの設定を適切に行う必要があります。 拡張機能には、クライアントの設定を自動的に構成するインストーラーが用意されています。
-
現在、Claude Desktop は必要なサービスに対して STDIO MCP サーバーのみをサポートしています。 この方法は Burp のようなデスクトップアプリには適していないため、代わりに Claude が Burp インスタンスを指すプロキシサーバーを起動します。 Burp インスタンスは、既知のポート(
localhost:9876)でウェブサーバーをホストします。 -
Burp MCP サーバーを使用するよう Claude を設定する
次のいずれかの方法で設定できます。-
オプション 1:拡張機能からインストーラーを実行する これにより、Burp MCP サーバーが Claude Desktop の設定に追加されます。
-
オプション 2:設定ファイルを手動で編集する
~/Library/Application Support/Claude/claude_desktop_config.jsonにあるファイルを開き、次の内容に置き換えるか、更新します。{ "mcpServers": { "burp": { "command": "<path to Java executable packaged with Burp>", "args": [ "-jar", "/path/to/mcp/proxy/jar/mcp-proxy-all.jar", "--sse-url", "<your Burp MCP server URL configured in the extension>" ] } } }
-
-
Claude Desktop を再起動する - Burp が拡張機能を読み込んだ状態で実行されていることを確認してください。
手動インストール
MCP サーバーを手動でインストールする場合は、拡張機能の SSE サーバーを直接使うか、パッケージ化された Stdio プロキシサーバーを使います。
SSE MCP サーバー
SSE サーバーを直接使うには、設定済みのサーバー URL を MCP クライアントに指定します。
http://127.0.0.1:9876
Stdio MCP プロキシサーバー
プロキシサーバーのソースコードはこちらにあります:MCP Proxy Server
Stdio MCP サーバーのみをサポートする MCP クライアントに対応するため、この拡張機能には、SSE MCP サーバー拡張機能へのリクエストを転送するプロキシサーバーが同梱されています。
Stdio プロキシサーバーを使う場合は、拡張機能のインストーラーオプションを使ってプロキシサーバーの jar を抽出できます。 jar を取得したら、次のコマンドと引数をクライアント設定に追加します。
/path/to/packaged/burp/java -jar /path/to/proxy/jar/mcp-proxy-all.jar --sse-url http://127.0.0.1:9876
プロキシのソースを変更した場合は、拡張機能をパッケージ化する前に再ビルドし、このプロジェクトにコピーしてください。
# From mcp-proxy
./gradlew shadowJar
cp build/libs/mcp-proxy-all.jar /path/to/mcp-server/libs/mcp-proxy-all.jar
# From mcp-server
./gradlew embedProxyJar
ツールの作成/変更
ツールは src/main/kotlin/net/portswigger/mcp/tools/Tools.kt で定義されています。新しいツールを定義するには、LLM から渡される必要なパラメーターを含む、新しいシリアライズ可能なデータクラスを作成します。
ツール名は、パラメーターデータクラスから自動的に導出されます。LLM 用の説明も必要です。文字列または List<ContentBlock> を返して、LLM にデータを渡すことができます。
自動ページネーションをサポートするには、Paginated インターフェースを拡張します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。