Install
openclaw skills install burp-mcpConnect 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 extension enabled on http://127.0.0.1:9876/.
openclaw skills install burp-mcpUse this skill to talk to a local Burp Suite MCP Server exposed by the PortSwigger extension.
execDefault endpoint used by this skill:
http://127.0.0.1:9876/
Important: on this machine, the live SSE endpoint is /, not /sse.
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 <tool_name> '<json_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 '{}'
list-toolsBurp 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:
namedescriptioninputSchemainputSchemaWhen calling a tool, build the JSON object to match the tool's required schema exactly.
Example:
get_proxy_http_history requires:
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}'
Safe first calls:
get_proxy_http_historyget_proxy_http_history_regexget_proxy_websocket_historyget_scanner_issuesoutput_project_optionsoutput_user_optionsBe careful with mutation tools such as:
set_project_optionsset_user_optionsset_proxy_intercept_stateset_task_execution_engine_stateset_active_editor_contentslist-tools prints JSON array of toolscall prints JSON object:
isErrorcontentBurp 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.
/sse fails, use / insteadlist-tools and check inputSchemacurl http://127.0.0.1:9876 -v
A healthy server should return text/event-stream
mcp SDKmcp package is already installed in the active Python environment