Burp Suite MCP Server Extension
使用Model Context Protocol (MCP)将Burp Suite与AI客户端集成。有关该协议的更多信息,请访问: (保持链接不变)[此处应有链接,但原文未提供具体链接地址]
服务介绍
Burp Suite MCP Server Extension
概述
使用模型上下文协议 (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 服务器扩展的源代码。
git clone https://github.com/PortSwigger/mcp-server.git - 导航到项目目录:进入项目的根目录。
cd burp-mcp - 构建 JAR 文件:使用 Gradle 构建扩展。
此命令将编译源代码并将其打包成位于./gradlew embedProxyJarbuild/libs/burp-mcp-all.jar的 JAR 文件。
将扩展加载到 Burp Suite 中
- 打开 Burp Suite:启动您的 Burp Suite 应用程序。
- 访问扩展选项卡:导航到
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 客户端
要充分利用 MCP 服务器扩展与 Claude,您需要适当地配置 Claude 客户端设置。
扩展有一个安装程序,会自动为您配置客户端设置。
-
目前,Claude Desktop 仅支持 STDIO MCP 服务器
对于其所需的服务。
这种方法对于像 Burp 这样的桌面应用程序来说并不理想,因此 Claude 将启动一个指向
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 即可。根据
您的客户端和扩展中的配置,这可能包含或不包含 /sse 路径。
PLACEHOLDER_CODE_4### 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
创建/修改工具
工具定义在 src/main/kotlin/net/portswigger/mcp/tools/Tools.kt 中。要定义新工具,请创建一个新的可序列化的数据类,并包含来自 LLM 的所需参数。
工具名称从其参数数据类自动生成。LLM 还需要一个描述。您可以返回一个字符串(或更丰富的 PromptMessageContents)以向 LLM 提供数据。
扩展 Paginated 接口以添加自动分页支持。