Skip to main content
Glama
Burp Suite MCP Server

Burp Suite MCP Server

by jayluxferro

Burp Suite MCP Server

An MCP (Model Context Protocol) server that exposes Burp Suite's REST API as tools for AI assistants. Use Cursor or other MCP clients to trigger vulnerability scans, check progress, and query Burp's security knowledge base.

Prerequisites

  • Burp Suite Professional (or Burp Suite DAST) with the REST API enabled

  • Python 3.11+

  • Burp running locally with REST API bound to a reachable address (e.g. http://127.0.0.1:1337)

Related MCP server: MCPPentestBOT

Setup

1. Enable Burp REST API

  1. Open Burp Suite → Settings → Suite → REST API

  2. Check Service running

  3. Set the URL/port (e.g. port 1337)

  4. Create an API key and copy it

2. Install the MCP server

uv sync   # or: pip install -e .

3. Configure environment

Copy .env.example to .env and fill in your values:

cp .env.example .env

Edit .env:

BURP_REST_API_BASE=http://127.0.0.1:1337
BURP_REST_API_KEY=your-api-key-here
BURP_REST_API_VERSION=v0.1

Transport modes

The server supports three transports, selected with --transport:

Flag

Transport

Use case

--transport stdio

stdio (default)

Local MCP clients (Cursor, Claude Desktop)

--transport sse

Server-Sent Events

HTTP clients using the legacy SSE protocol

--transport http

Streamable HTTP

HTTP clients using the modern MCP HTTP protocol

For sse and http, bind address and port are configurable:

# Default: localhost only, port 8000
uv run python main.py --transport http

# Expose on all interfaces, custom port
uv run python main.py --transport http --host 0.0.0.0 --port 9000

# SSE transport
uv run python main.py --transport sse --host 127.0.0.1 --port 8000

Cursor MCP Configuration

stdio (local process)

Add to your Cursor MCP config (e.g. ~/.cursor/mcp.json or project .cursor/mcp.json):

{
  "mcpServers": {
    "burp-suite": {
      "command": "uv",
      "args": ["run", "python", "/path/to/burp-mcp/main.py"],
      "cwd": "/path/to/burp-mcp"
    }
  }
}

HTTP (remote/shared server)

Start the server with HTTP transport, then point your MCP client at it:

uv run python main.py --transport http --host 0.0.0.0 --port 8000
{
  "mcpServers": {
    "burp-suite": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

Tools

Tool

Description

burp_suite_security_issue_definitions

Get Burp's security issue definitions (name, description, remediation, references)

scan_urls_for_vulnerabilities

Start a scan for given URLs. Returns a task_id for tracking. Optional scope param

check_security_scan_progress

Get scan status and findings by task_id. Filter by severity: low, info, medium, high, or all

get_scan_summary

High-level summary: total issues by severity

list_active_scans

List running/pending scans (may not be supported by all Burp API versions)

cancel_scan

Cancel a scan by task_id (may not be supported by all Burp API versions)

check_burp_connectivity

Test connectivity to Burp API; validates config

wait_for_scan_completion

Poll until scan completes or times out (for CI/CD)

Usage Examples

Scan a URL:

"Scan https://example.com for vulnerabilities"

Check scan progress:

"Check scan progress for task_id 123"

Get high-severity issues only:

"Check scan 123 and show only high severity issues"

Security knowledge:

"What security issues does Burp know about?"

Command-line usage

Run scans from scripts or the terminal:

uv run python examples/ci-scan.py https://your-target.com
# or
./examples/ci-scan.sh https://your-target.com

Burp REST API Endpoints Used

Endpoint

Method

Description

/knowledge_base/issue_definitions

GET

Security issue definitions

/scan

POST

Start scan (body: {"urls": [...]})

/scan

GET

List scans (may not be supported)

/scan/{task_id}

GET

Scan progress and results

/scan/{task_id}

DELETE

Cancel scan (may not be supported)

Interactive API docs: [BURP_REST_API_BASE]/[API_KEY]

License

MIT

Available Tools

8 tools
burp_suite_security_issue_definitionsA

Get all Burp Suite security issue definitions (name, description, remediation, references).

Inputs: no named parameters. Returns: result

cancel_scanC
Cancel a scan by task_id. May not be supported by all Burp API versions.

Args:
    task_id: Task ID of the scan to cancel

Inputs: task_id (required). Returns: result

check_burp_connectivityA

Test connectivity to the Burp REST API. Validates config and performs a simple request.

Inputs: no named parameters. Returns: result

check_security_scan_progressA
Retrieves scan progress and details using the task_id.

Args:
    task_id: Task ID from an initiated scan (numeric ID or full path)
    severity: Filter issues: low, info, medium, high, or "all" (default)

Inputs: task_id (required), severity. Returns: result

get_scan_summaryA
Get a high-level summary of scan results: total issues by severity.

Args:
    task_id: Task ID from an initiated scan

Inputs: task_id (required). Returns: result

list_active_scansA

List running and pending scans. May not be supported by all Burp API versions.

Inputs: no named parameters. Returns: result

scan_urls_for_vulnerabilitiesC
Scan URL(s) for security vulnerabilities.

Args:
    urls: List of URLs to scan
    scope: Optional scope configuration (passed to API if supported)

Inputs: urls (required), scope. Returns: result

wait_for_scan_completionA
Poll scan progress until the scan completes or times out.
Useful for long-running scans in CI/CD.

Args:
    task_id: Task ID from an initiated scan
    poll_interval_seconds: Seconds between polls (default: 10)
    max_wait_seconds: Maximum time to wait (default: 3600 = 1 hour)

Inputs: task_id (required), poll_interval_seconds, max_wait_seconds. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 8 tools

    Disambiguation4/5

    Most tools have distinct purposes, but there is some potential overlap between check_security_scan_progress and get_scan_summary, as both retrieve scan results using a task_id, which could cause confusion. However, their descriptions clarify that one provides detailed progress and filtered issues while the other gives a high-level summary, helping to differentiate them.

    Naming Consistency5/5

    All tool names follow a consistent snake_case pattern with clear verb_noun structures, such as cancel_scan, check_burp_connectivity, and scan_urls_for_vulnerabilities. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.

    Tool Count5/5

    With 8 tools, the server is well-scoped for managing Burp Suite security scans, covering connectivity testing, scan initiation, progress monitoring, result retrieval, and cancellation. Each tool serves a specific role in the scanning lifecycle, and the count is appropriate for the domain without being excessive or insufficient.

    Completeness4/5

    The tool set provides comprehensive coverage for security scanning workflows, including initiation, monitoring, and result analysis, with minor gaps such as the lack of tools for configuring scan settings or managing scan history. However, core operations are well-covered, and agents can perform essential tasks without significant dead ends.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      Enables AI agents to generate and manage specialized bug bounty hunting workflows including reconnaissance, vulnerability testing, OSINT gathering, and file upload testing. Provides REST API endpoints for comprehensive security assessments with intelligence-driven vulnerability prioritization.
      40
      2
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to perform authorized security testing and penetration testing operations including SSL/TLS analysis, port scanning, vulnerability scanning, and HTTP security header audits through natural language interactions.
      1
      MIT
    • A
      license
      C
      quality
      B
      maintenance
      Connects AI coding assistants to Snyk API & Web for onboarding scan targets, configuring authentication, running DAST scans, and triaging findings through natural language.
      51
      27 PyPI
      8
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI coding assistants to leverage Application Security Posture Management (ASPM) capabilities, allowing developers to write secure code, query security risks, trigger diff scans, and manage security findings directly from their AI assistant.
      5
      Apache 2.0