Burp Suite MCP: Wiring an AI Assistant into Your Pentest
PortSwigger's MCP server turns Burp Suite into a set of tools an AI assistant can drive — reading proxy history, replaying requests, and reasoning over responses while you stay in control. Used well, it removes the drudgery from a web assessment. Used carelessly, it fires live traffic at a target on the model's whim. This guide covers the architecture, the setup, the workflow, and the guardrails.
The Model Context Protocol (MCP) is an open standard that lets an AI client — Claude Desktop, an IDE agent, or any MCP-capable app — discover and call external tools through a uniform interface. PortSwigger ships an official Burp Suite MCP Server that exposes Burp's core capabilities as MCP tools. The result: your assistant can ask Burp for the last 50 proxy entries, resend a request with a tampered header, and read the response back — all without you copy-pasting between windows.
This is genuinely useful for a pentest, but it is active testing. Every request the AI sends goes through Burp to the real target. Treat it with the same discipline you would any other offensive tool.
How it fits together
The MCP server is a Burp extension. It listens locally over Server-Sent Events (SSE), and a small proxy jar bridges that to stdio-only clients. The AI never talks to your target directly — it talks to Burp, and Burp talks to the target.
127.0.0.1 on your machine.Prerequisites
- Burp Suite (Professional or Community) with the Montoya extension API — i.e. a current release.
- Java on your
PATH(the same JRE Burp uses is fine), plus thejarcommand if you build from source. - An MCP-capable client — Claude Desktop, or an IDE/agent that speaks MCP.
- A signed authorisation and defined scope for the target you intend to test. This is not optional.
Setup, step by step
You have two ways to get the extension: install “MCP Server” from the BApp Store (Extensions → BApp Store), or build it from source. The build is a one-liner:
git clone https://github.com/PortSwigger/mcp-server
cd mcp-server
./gradlew embedProxyJar
# → build/libs/burp-mcp-all.jar (the extension)
# → the bundled mcp-proxy-all.jar (the stdio bridge)
1 & 2 — Load and enable the server
In Burp, go to Extensions → Add, set the type to Java, and select burp-mcp-all.jar. A new MCP tab appears. Tick Enabled. The server now listens on http://127.0.0.1:9876 (host and port are configurable). Leave “Allow tools that can edit your config” off unless you specifically need it — it widens what the AI can change.
3 — Configure the MCP client
The extension ships an installer that can auto-configure Claude Desktop. To do it by hand, point your client at the bundled proxy jar. On Claude Desktop the file is %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"burp": {
"command": "java",
"args": [
"-jar",
"C:\\tools\\burp-mcp\\mcp-proxy-all.jar",
"--sse-url",
"http://127.0.0.1:9876"
]
}
}
}
Use the exact command shown in the MCP tab — it prints a ready-to-paste snippet for your client and OS, so you never have to guess the jar path.
4 & 5 — Restart and verify
Restart the client so it spawns the proxy and completes the MCP handshake. In Claude Desktop you should see the Burp tools listed under the tools/plug icon. Ask it something read-only first, such as “show me the last 10 entries in Burp's proxy history”. If they come back, you are wired up.
What the AI can actually do
The exact tool set evolves, but it maps onto the parts of Burp you already use. Broadly, the server exposes tools to:
- Read proxy history — fetch recent HTTP (and WebSocket) traffic, including regex-filtered queries to find specific requests.
- Send requests — issue new HTTP/1 and HTTP/2 requests through Burp and read the full response.
- Drive Repeater & Intruder — create Repeater tabs and hand payloads to Intruder for iteration.
- Work with the editor and encodings — read/replace the active editor contents and URL/Base64 encode or decode.
- Query the scanner — pull scanner issues and their definitions for triage and write-up.
- Manage scope and tasks — read scope and control the task engine (behind the config-editing toggle).
The model does not "hack" anything on its own — it composes these Burp tools. Its value is speed and pattern-recognition across your traffic, not autonomy.
Using it during a real assessment
The productive pattern is a tight loop: let the AI triage and propose, and keep a human decision point before anything that changes state on the target. In practice you drive it in natural language — “review the proxy history for this host, flag any endpoints reflecting user input, and show me candidate parameters for XSS” — then review its picks before it sends anything.
Where it shines
Three tasks pay for themselves immediately: triaging large proxy histories (“group these 4,000 requests by endpoint and flag anything handling auth tokens”), drafting and iterating payloads in Repeater while you judge the responses, and turning confirmed issues into report-ready write-ups with request/response evidence pulled straight from Burp. It is an accelerator for the tester, not a replacement.
Safety, scope, and OPSEC
Because the AI can send live requests, the controls matter as much as the capability.
Non-negotiable controls
- Authorisation first. Only point this at targets you are contracted and permitted to test — the AI has no concept of your rules of engagement.
- Enforce Burp target scope and keep a human approval gate before any state-changing or destructive request.
- Bind to localhost. Keep the server on
127.0.0.1; never expose:9876to a network. - Mind data egress. Proxy history can contain secrets, tokens, and PII that get sent to the model provider — check your NDA and consider an approved or local model.
- Leave config-editing tools off unless required, and watch for prompt-injection: a malicious response in the traffic could try to steer the agent.
Limitations to keep in mind
The model can misread a response, over-claim a finding, or loop on a dead end — every result still needs a tester's validation. It also generates traffic quickly, so cap iterations on fragile or production-adjacent targets. And like any MCP setup, the security of the whole chain depends on the client you trust and the tools you enable.