burp-mcp
/install burp-mcp
Burp MCP
Use this skill to talk to a local Burp Suite MCP Server exposed by the PortSwigger extension.
When to use
- Burp Suite is already running locally
- The MCP extension is loaded and enabled
- You want to inspect available Burp tools
- You want to call a specific Burp MCP tool from the terminal or from OpenClaw via
exec
Endpoint
Default endpoint used by this skill:
http://127.0.0.1:9876/
Important: on this machine, the live SSE endpoint is /, not /sse.
Commands
List Burp tools:
python ./skills/burp-mcp/scripts/burp_mcp.py list-tools
Call a Burp tool:
python ./skills/burp-mcp/scripts/burp_mcp.py call \x3Ctool_name> '\x3Cjson_args>'
Examples:
python ./skills/burp-mcp/scripts/burp_mcp.py list-tools
python ./skills/burp-mcp/scripts/burp_mcp.py call get_proxy_http_history '{"offset":0,"count":5}'
python ./skills/burp-mcp/scripts/burp_mcp.py call get_proxy_http_history_regex '{"offset":0,"count":10,"regex":"login|token|auth"}'
python ./skills/burp-mcp/scripts/burp_mcp.py call output_project_options '{}'
How agents should use it
1) Always start with list-tools
Burp MCP tool names and schemas can change with extension version. Before calling tools in a new setup, list tools first:
python ./skills/burp-mcp/scripts/burp_mcp.py list-tools
This returns JSON entries with:
namedescriptioninputSchema
2) Match args to inputSchema
When calling a tool, build the JSON object to match the tool's required schema exactly.
Example:
get_proxy_http_historyrequires:offset(integer)count(integer)
So call it like:
python ./skills/burp-mcp/scripts/burp_mcp.py call get_proxy_http_history '{"offset":0,"count":20}'
3) Prefer safe read-only tools first
Safe first calls:
get_proxy_http_historyget_proxy_http_history_regexget_proxy_websocket_historyget_scanner_issuesoutput_project_optionsoutput_user_options
Be careful with mutation tools such as:
set_project_optionsset_user_optionsset_proxy_intercept_stateset_task_execution_engine_stateset_active_editor_contents
Output behavior
list-toolsprints JSON array of toolscallprints JSON object:isErrorcontent
Burp often returns tool results as text blocks. Some tools return newline-separated JSON strings inside content[].text, so callers may need a second parse step if they want structured output.
Troubleshooting
- If connection fails, verify Burp is open and the MCP extension is enabled
- If
/ssefails, use/instead - If tool calls return schema errors, re-run
list-toolsand checkinputSchema - If nothing returns, test manually with:
curl http://127.0.0.1:9876 -v
A healthy server should return text/event-stream
Notes
- Uses the official Python
mcpSDK - Requires asyncio
- Assumes the
mcppackage is already installed in the active Python environment
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install burp-mcp - After installation, invoke the skill by name or use
/burp-mcp - Provide required inputs per the skill's parameter spec and get structured output
What is burp-mcp?
Connect to a local Burp Suite MCP Server over SSE and list or call Burp tools from the workspace. Use when Burp Suite is running with the PortSwigger MCP ext... It is an AI Agent Skill for Claude Code / OpenClaw, with 51 downloads so far.
How do I install burp-mcp?
Run "/install burp-mcp" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is burp-mcp free?
Yes, burp-mcp is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does burp-mcp support?
burp-mcp is cross-platform and runs anywhere OpenClaw / Claude Code is available (win32, linux, darwin).
Who created burp-mcp?
It is built and maintained by Huỳnh Ngọc Quang (@nquangit); the current version is v0.1.0.