作为Java扩展加载jar文件。
需要批准,每次使用时会提示您。
以下是一个Cursor示例:
{
"mcpServers": {
"burp": {
"url": "http://localhost:9876/sse"
}
}
}
示例内容
注意:这是一个测试/玩乐工具,非正式且非生产用途。
==== 正式README如下 ====
通过模型上下文协议(MCP)将Burp Suite与AI客户端集成。
有关该协议的更多信息,请访问:modelcontextprotocol.io
在构建和安装扩展之前,请确保满足以下先决条件:
java --version来验证这一点。jar命令必须可执行并添加到系统PATH中。您可以通过运行终端中的jar --version来验证这一点。这在构建和安装扩展时是必需的。克隆仓库:获取MCP服务器扩展的源代码。
git clone https://github.com/PortSwigger/mcp-server.git
导航到项目目录:移动到项目的根目录。
cd burp-mcp
构建JAR文件:使用Gradle构建扩展。
./gradlew embedProxyJar
该命令编译源代码并将其打包到位于build/libs/burp-mmcp-all.jar的JAR文件中。
Extensions标签。Add。Extension Type设置为Java。Select file ...并选择上一步构建的JAR文件。Next以加载扩展。成功加载后,MCP服务器扩展将在Burp Suite中处于活动状态。
通过Burp Suite UI中的MCP标签进行扩展配置。
Enabled复选框控制MCP服务器是否处于活动状态。Enable tools that can edit your config复选框允许MCP服务器暴露可以编辑Burp配置文件的工具。http://127.0.0.1:9876。要充分利用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": "<包含Burp的Java可执行文件路径>",
"args": [
"-jar",
"/path/to/mcp/proxy/jar/mcp-proxy-all.jar",
"--sse-url",
"<您在扩展中配置的Burp MCP服务器URL>"
]
}
}
}
重启Claude Desktop - 假设Burp正在运行并且已加载扩展。
如果您想手动安装MCP服务器,您可以直接使用扩展的SSE服务器或打包的Stdio代理服务器。
为了直接使用SSE服务器,只需在客户端配置中提供服务器的URL即可。根据您的客户端和在扩展中的配置,这可能是带有或不带/sse路径的。
http://127.0.0.1:9876
或
http://127.0.0.1:9876/sse
代理服务器的源代码可以在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接口以添加自动分页支持。