关于 Burp Suite MCP Server Extension
Burp Suite MCP Server Extension 是一个 Burp Suite 扩展,通过 Model Context Protocol 将 Burp 连接到 AI 客户端。项目内置 Claude Desktop 安装器,并提供 stdio 代理,便于不支持 SSE 的客户端使用。
主要功能
- 01通过 MCP 将 Burp Suite 连接到 AI 客户端
- 02内置 Claude Desktop 配置安装器
- 03SSE 服务与 stdio 代理两种接入方式
- 04可选的配置编辑工具开关
- 05可自定义监听的主机与端口
适用场景
- 01让 AI 客户端通过 Burp 查看和操作安全测试相关数据
- 02为 Claude Desktop 快速配置 Burp MCP 服务
- 03在只支持 stdio 的客户端中接入 Burp
MCP 相关
该扩展在 Burp 中启动 MCP 服务,并通过 SSE 端点或随附的 stdio 代理向 MCP 客户端暴露工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Burp Suite MCP 服务扩展
概述
通过模型上下文协议(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 Command:必须可以执行
jar命令,且可通过系统的 PATH 使用。你可以在终端运行jar --version进行验证。构建和安装扩展需要此命令。
构建扩展
-
克隆仓库:获取 MCP 服务扩展的源代码。
git clone https://github.com/PortSwigger/mcp-server.git -
进入项目目录:切换到项目根目录。
cd mcp-server -
构建 JAR 文件:使用 Gradle 构建扩展。
./gradlew embedProxyJar此命令会编译源代码并将其打包为 JAR 文件,文件位于
build/libs/burp-mcp-all.jar。
将扩展加载到 Burp Suite
- 打开 Burp Suite:启动 Burp Suite 应用程序。
- 进入 Extensions 选项卡:导航到
Extensions选项卡。 - 添加扩展:
- 点击
Add。 - 将
Extension Type设为Java。 - 点击
Select file ...,选择上一步构建的 JAR 文件。 - 点击
Next加载扩展。
- 点击
加载成功后,MCP 服务扩展将在 Burp Suite 中启用。
配置
配置扩展
在 Burp Suite UI 的 MCP 选项卡中配置扩展。
- 切换 MCP 服务:
Enabled复选框用于控制 MCP 服务是否启用。 - 启用配置编辑:
Enable tools that can edit your config复选框允许 MCP 服务公开可编辑 Burp 配置文件的工具。 - 高级选项:你可以配置 MCP 服务的端口和主机。默认监听地址为
http://127.0.0.1:9876。
Claude Desktop 客户端
若要充分使用 Claude 的 MCP 服务扩展,需要正确配置 Claude 客户端设置。 该扩展带有安装程序,可自动为你配置客户端设置。
-
目前,Claude Desktop 仅支持其所需服务的 STDIO MCP 服务。 这种方式并不适合 Burp 这类桌面应用,因此 Claude 会启动一个指向 Burp 实例的代理服务;
Burp 实例会在已知端口(localhost:9876)托管 Web 服务。 -
配置 Claude 使用 Burp MCP 服务
你可以通过以下两种方式之一进行配置:-
选项 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 代理服务
为了支持仅支持 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。要定义新工具,请创建一个新的可序列化
数据类,其中包含将由大模型提供的所需参数。
工具名称会根据其参数数据类自动生成。还需要为大模型提供描述。你可以返回字符串或 List<ContentBlock>,向大模型提供数据。
扩展 Paginated 接口即可添加自动分页支持。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。