Burp Suite MCP Server Integration for AI Clients
Integrate Burp Suite with AI clients via a secure MCP server to streamline context sharing, testing, and vulnerability analysis.
npx -y @PortSwigger/mcp-serverOverview
The Burp Suite MCP Server Extension exposes Burp Suite as a Model Context Protocol (MCP) server so AI-driven tools and LLM-based clients can request context, interact with Burp features, and receive structured outputs. By running a secure MCP endpoint inside Burp, you can integrate scanners, chat-based assistants, or desktop AI clients (for example Claude Desktop) to perform vulnerability analysis, reproduce requests, and fetch request/response context programmatically.
This extension also ships with a packaged stdio→SSE proxy for clients that only support stdin/stdout MCP servers. That lets desktop AI apps that expect a local process to talk to Burp’s internal SSE MCP endpoint without changing Burp’s runtime.
Features
- Expose Burp Suite as an MCP Server (SSE-based endpoint)
- Packaged stdio proxy to support clients that only use stdin/stdout MCP
- Optional installer to configure Claude Desktop automatically
- UI controls inside Burp for enabling the server and editing behavior
- Extensible tool definitions so LLMs can request specific Burp actions
Installation / Configuration
Prerequisites:
- Java installed and on PATH (
java --version) jarcommand available (jar --version)- Git (to clone the repository)
- Gradle wrapper is included in the repo for building
Build the extension:
# Resulting artifact: build/libs/burp-mcp-all.jar
Load the extension into Burp Suite:
- Open Burp Suite → Extensions tab.
- Click Add.
- Set Extension Type: Java.
- Select the JAR file built above (build/libs/burp-mcp-all.jar).
- Click Next to load.
Configure the MCP server (in Burp):
- Open the MCP tab in Burp after loading the extension.
- Options you can set:
- Enabled: toggles the MCP server
- Enable tools that can edit your config: allows tools to modify Burp config files
- Host and Port: default is http://127.0.0.1:9876 (SSE endpoint)
Example: using the SSE server in a client config
Manual stdio proxy (for clients like Claude Desktop):
- The extension packages an mcp-proxy-all.jar. You can extract it with the extension installer or build/obtain it from the proxy repo.
- Run the proxy to bridge stdio to Burp’s SSE endpoint:
Claude Desktop example (manual configuration):
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Restart Claude Desktop after configuring Burp with the extension loaded.
Available Tools / Resources
- Tools are defined in the repository under src/main/kotlin/net/portswigger/mcp/tools/Tools.kt.
- To add a tool:
- Create a serializable Kotlin data class representing parameters the LLM will supply.
- Tool name is derived from the data class; include a description for the LLM.
- Tools return a string or PromptMessageContents (richer structured response).
- Implement the Paginated interface for auto-pagination support where appropriate.
Useful links:
- GitHub: https://github.com/PortSwigger/mcp-server
- Protocol spec: https://modelcontextprotocol.io/
- MCP proxy repo (proxy server source referenced by the extension): https://github.com/PortSwigger/mcp-proxy
Use Cases
- Context-aware prompt augmentation: An LLM assistant fetches the active HTTP request/response, cookies, and scan findings from Burp to produce precise remediation advice.
- Guided reproduction: A client asks Burp to replay a specific request or render steps to reproduce an issue; Burp returns details or executes actions via the tool interface.
- Automated triage: Batch results from a scanner are summarized by an LLM that uses Burp tools to validate or fetch additional context (headers, parameters, responses).
- PoC generation: The LLM requests raw request/response pairs and templates from Burp to synthesize PoC requests or exploit chains.
- Collaborative analysis: Security teams use chat-style AI clients connected via MCP to bring Burp data into a shared conversation for faster decision-making.
Example scenario
- User selects a suspicious request in Burp.
- The AI client calls an MCP tool like fetchRequest(requestId).
- Burp returns the request/response and optional analysis.
- The client uses that context to suggest tests, patches, or attack vectors and can optionally ask Burp to replay requests.
This integration keeps Burp as the authoritative source of traffic and tooling while enabling LLMs and developer tools to consume, analyze, and act on that data programmatically.