WSL2 has a separate network stack from Windows. Burp's MCP server binds to
Windows 127.0.0.1:9876 and rejects non-loopback connections (403). The
fix is to run the Burp MCP proxy JAR natively on Windows via cmd.exe,
so its outbound connection uses Windows loopback. Stdio is bridged back to
Claude Code in WSL through cmd.exe.
- Burp Suite running on Windows; MCP tab → Enabled (
Started MCP server on 127.0.0.1:9876). - Java 21+ on Windows
PATH(cmd.exe /c "java --version"works). mcp-proxy.jarat a Windows path. This project usesE:\Burp-mcp\mcp-proxy.jar.
{
"mcpServers": {
"burp": {
"command": "cmd.exe",
"args": ["/c", "java -jar E:\\Burp-mcp\\mcp-proxy.jar --sse-url http://127.0.0.1:9876"]
}
}
}cd /tmp && (printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"v","version":"1"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}'; sleep 3) \
| timeout 7 cmd.exe /c "java -jar E:\Burp-mcp\mcp-proxy.jar --sse-url http://127.0.0.1:9876"Expect serverInfo: burp-suite v1.1.2 and 24 tools.
Restart the session (or /mcp → reconnect burp). Tools appear as
mcp__burp__send_http1_request, mcp__burp__get_proxy_http_history, etc.
- Old Node REST client moved to
mcp/burp-mcp-client.disabled.rest/(usedBURP_API_URL=http://172.27.192.1:1337). Not used anymore.
Connection refusedfrom WSL on127.0.0.1:9876is expected — Burp is on Windows.- Do not use
netsh portproxyor the host IP — Burp's MCP rejects non-loopback (403). - If
cmd.exewarns "UNC paths are not supported", it's harmless; the JAR still launches.