使用说明
BurpSuite MCP服务器扩展
BurpSuite的模型上下文协议(MCP)服务器扩展,使Claude Desktop能够使用Montoya API与BurpSuite安全扫描功能进行交互。
概述
该项目在Claude Desktop和BurpSuite之间提供了一座桥梁,使您能够:
- 通过Claude Desktop启动安全扫描
- 检索扫描结果和安全发现
- 访问代理历史和HTTP流量分析
- 通过对话式人工智能管理扫描任务
特性
- MCP协议支持:完全符合MCP规范
- 双重运输模式:
- 克劳德桌面集成的stdio模式
- 用于独立测试的HTTP服务器模式
- BurpSuite集成:使用Montoya API进行深度集成
- 安全工具:
scan_target:启动被动、主动或完全安全扫描get_scan_results:检索详细的扫描结果proxy_history:访问HTTP请求/响应历史记录
- 资源访问:实时访问扫描队列和安全问题
需求
系统要求
- 操作系统:Ubuntu 24.04 LTS(或兼容的Linux)
- Java:OpenJDK 17或更高版本
- BurpSuite:专业版或社区版
- 克劳德桌面:最新版本
依赖项
- 等级8.1+
- API蒙托亚套房
- Jackson JSON处理
- SLF4J测井
安装
1.克隆和构建
# Clone the repository
git clone <your-repo-url>
cd burp-mcp-server
# Build the project
./gradlew shadowJar
2.安装Java 17(如果尚未安装)
sudo apt update
sudo apt install openjdk-17-jdk
3.配置克劳德桌面
运行自动安装脚本:
./setup-claude-desktop.sh
或通过编辑手动配置 ~/.config/claude-desktop/claude_desktop_config.json:
{
"mcpServers": {
"burp-mcp-server": {
"command": "java",
"args": [
"-jar",
"/home/jojo/dev/burp-mcp-server/build/libs/burp-mcp-server-1.0.0-all.jar",
"--stdio"
],
"env": {
"JAVA_HOME": "/usr/lib/jvm/java-17-openjdk-amd64",
"BURP_MCP_LOG_LEVEL": "INFO"
}
}
}
}
用法
运行服务器
适用于克劳德桌面(stdio模式)
./start-server.sh stdio
用于测试(HTTP模式)
./start-server.sh http
# Server will be available at http://localhost:5001/mcp
构建并运行
./start-server.sh build
可用的MCP工具
1.扫描目标
对目标URL启动安全扫描。
参数:
url(必填):要扫描的目标URLscanType(可选):扫描类型(passive,active,full)
克劳德桌面使用示例:
“请扫描https://example.com使用完整扫描查找安全漏洞”
2.获取扫描结果
检索以前扫描的结果。
参数:
taskId(可选):特定扫描任务ID
例子:
“显示我最近的安全扫描结果”
3.代理历史
从BurpSuite代理获取HTTP请求/响应历史记录。
参数:
limit(可选):最大条目数(默认值:100)filter(可选):URL过滤模式
例子:
“显示通过代理的最后50个HTTP请求”
可用资源
burp://scan-queue
访问当前扫描队列状态和活动任务。
burp://issues
Access发现了安全问题和漏洞。
BurpSuite集成
作为BurpSuite扩展
- Open BurpSuite专业版
- 转到扩展→ 已安装
- Add → 选择JAR文件→ 选择构建的JAR文件
- 该扩展将与BurpSuite的扫描引擎集成
单独模式
当BurpSuite不可用时,服务器可以独立运行并提供模拟数据用于测试目的。
配置
日志记录配置
编辑 src/main/resources/logback.xml 调整日志记录级别:
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
服务器配置
环境变量:
BURP_MCP_LOG_LEVEL:设置日志记录级别(调试、信息、警告、错误)JAVA_HOME:Java安装目录
发展
项目结构
burp-mcp-server/
├── src/main/java/com/burp/mcp/
│ ├── McpServer.java # Main server class
│ ├── model/
│ │ └── McpMessage.java # MCP message models
│ └── protocol/
│ ├── McpProtocolHandler.java # Protocol implementation
│ └── BurpIntegration.java # BurpSuite integration
├── src/main/resources/
│ └── logback.xml # Logging configuration
├── build.gradle # Gradle build configuration
├── start-server.sh # Server startup script
└── setup-claude-desktop.sh # Claude Desktop setup script
从源头构建
# Clean build
./gradlew clean
# Compile only
./gradlew compileJava
# Run tests
./gradlew test
# Build shadow JAR
./gradlew shadowJar
# Build and run
./gradlew run
Java 17最佳实践
本项目遵循Java 17最佳实践:
- 使用现代开关表达式
- 在适当的情况下利用var进行类型推断
- 通过资源试用实现适当的资源管理
- 使用Jackson的最新特性进行JSON处理
故障排除
常见问题
Java版本问题
# Check Java version
java -version
# Set JAVA_HOME if needed
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
Claude桌面连接问题
- 检查克劳德桌面日志
- 验证配置文件路径
- 手动测试服务器:
./start-server.sh http - 检查服务器日志:
tail -f burp-mcp-server.log
构建问题
# Clean and rebuild
./gradlew clean shadowJar
# Check Gradle version
./gradlew --version
调试模式
运行调试日志:
BURP_MCP_LOG_LEVEL=DEBUG ./start-server.sh stdio
测试MCP协议
您可以使用curl手动测试MCP协议:
# Start HTTP server
./start-server.sh http
# Test initialize
curl -X POST http://localhost:5001/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
# Test tools list
curl -X POST http://localhost:5001/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
安全考虑
- 默认情况下,服务器仅在本地主机上运行
- 所有通信均使用JSON-RPC 2.0协议
- BurpSuite集成遵循安全最佳实践
- 日志可能包含敏感信息-查看日志保留策略
贡献
- 分叉存储库
- 创建要素分支
- 按照Java 17最佳实践进行更改
- 添加新功能的测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
对于问题和疑问:
- 检查故障排除部分
- 查看服务器日志
- 使用HTTP模式进行调试测试
- 打开一个包含详细信息的问题
版本历史记录
- 1.0.0:支持MCP协议和BurpSuite集成的初始版本
- stdio和HTTP传输模式
- 基本扫描工具
- Claude桌面集成
- Ubuntu Linux支持