Burpsuite MCP Server
The Burpsuite MCP Server enables AI assistants to interact with Burpsuite Professional for web security testing and vulnerability scanning.
Start vulnerability scans: Scan target URLs with passive, active, or full scan options
Check scan status: Monitor the progress of ongoing scans
Retrieve scan results: Get identified vulnerabilities with severity filtering
Access proxy history: View captured HTTP/HTTPS traffic with filters for host, method, status code, and limit
Analyze site structure: Get discovered site maps with options to filter by host, parameters, and limit
Provides an interface for performing security testing on web applications using Burpsuite Professional, enabling vulnerability scanning, proxy traffic analysis, and site structure mapping.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Burpsuite MCP Serverscan https://example.com for vulnerabilities"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Burpsuite MCP Server
A Model Context Protocol (MCP) server that provides an interface for interacting with Burpsuite Professional's scanning and proxy functionality.
Overview
This MCP server allows AI assistants to interact with Burpsuite Professional for web security testing and vulnerability scanning. It provides tools for:
Starting vulnerability scans on target URLs
Checking scan status and retrieving results
Accessing HTTP/HTTPS traffic captured by Burp Proxy
Viewing site structure discovered during scanning
Related MCP server: BurpSuite MCP Server
Features
Tools
The server exposes the following tools:
start_scan: Start a new vulnerability scan on a target URL
Parameters:
target: Target URL to scan (e.g., https://example.com)scan_type: Type of scan to perform (passive, active, or full)
get_scan_status: Check the status of a running scan
Parameters:
scan_id: ID of the scan to check
get_scan_issues: Get vulnerability issues found in a scan
Parameters:
scan_id: ID of the scanseverity: Filter issues by severity (high, medium, low, info, or all)
get_proxy_history: Get HTTP/HTTPS traffic captured by Burp Proxy
Parameters:
host: Filter by host (optional)method: Filter by HTTP method (optional)status_code: Filter by HTTP status code (optional)limit: Maximum number of items to return (default: 10)
get_site_map: Get the site structure discovered during scanning and browsing
Parameters:
host: Filter by host (optional)with_parameters: Only show URLs with parameters (optional)limit: Maximum number of items to return (default: 20)
Resources
The server provides the following resources:
Scan Results:
burpsuite://scan/{scanId}Issue Details:
burpsuite://scan/{scanId}/issue/{issueId}Proxy History:
burpsuite://proxy/historyProxy History Item:
burpsuite://proxy/history/{itemId}Site Map:
burpsuite://sitemap
Installation
Installing via Smithery
To install Burpsuite Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @Cyreslab-AI/burpsuite-mcp-server --client claudeManual Installation
Build the server:
cd /path/to/burpsuite-server npm install npm run buildAdd the server to your MCP settings configuration file:
{ "mcpServers": { "burpsuite": { "command": "node", "args": ["/path/to/burpsuite-server/build/index.js"], "env": {}, "disabled": false, "autoApprove": [] } } }
Future Enhancements
This server currently provides mock functionality. To connect it to a real Burpsuite Professional instance:
Configure Burpsuite Professional to expose its REST API
Update the server implementation to connect to the Burpsuite REST API
Add authentication mechanisms for secure API communication
Example Usage
Here are some examples of how to use the Burpsuite MCP server with an AI assistant:
Starting a Scan
Use the Burpsuite MCP server to scan example.com for vulnerabilities.Viewing Proxy History
Show me the HTTP traffic captured by Burp Proxy for domain example.com.Analyzing Vulnerabilities
What high severity vulnerabilities were found in the latest scan?Available Tools
5 toolsget_proxy_historyC
Get HTTP/HTTPS traffic captured by Burp Proxy
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Filter by host (optional) | |
| limit | No | Maximum number of items to return (default: 10) | |
| method | No | Filter by HTTP method (optional) | |
| status_code | No | Filter by HTTP status code (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on permissions needed, rate limits, whether it returns real-time or historical data, or the format of the returned traffic. For a tool that retrieves potentially sensitive proxy data, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose with zero wasted words. It's appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of retrieving proxy traffic (which could involve large datasets or sensitive information), no annotations, and no output schema, the description is incomplete. It doesn't explain what the returned data looks like, any limitations, or how it integrates with the sibling tools, leaving gaps for an AI agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear descriptions for all four parameters (host, limit, method, status_code). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 without compensating for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('HTTP/HTTPS traffic captured by Burp Proxy'), making the tool's purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_site_map' or 'get_scan_issues', which might also retrieve related data, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context for filtering traffic, or how it differs from siblings like 'get_site_map' (which might retrieve site structure) or 'get_scan_issues' (which might retrieve security findings).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_issuesC
Get vulnerability issues found in a scan
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes | ID of the scan | |
| severity | No | Filter issues by severity |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states what the tool does without behavioral details. It lacks information on permissions, rate limits, pagination, or what happens if the scan_id is invalid, which is critical for a tool accessing vulnerability data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of vulnerability scanning, lack of annotations, and no output schema, the description is insufficient. It doesn't explain return values, error handling, or behavioral constraints, leaving gaps that could hinder correct tool invocation by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'vulnerability issues' and 'scan', which aligns with the 'scan_id' parameter, but adds no meaning beyond the schema's 100% coverage. Since the schema fully describes both parameters, the baseline score of 3 is appropriate as the description doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('vulnerability issues found in a scan'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_scan_status' or 'get_proxy_history', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't clarify if this should be used after 'start_scan' or alongside 'get_scan_status', leaving the agent without context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_statusC
Check the status of a running scan
| Name | Required | Description | Default |
|---|---|---|---|
| scan_id | Yes | ID of the scan to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool checks status but doesn't describe what the status includes (e.g., progress percentage, state like 'running'/'completed'), whether it's read-only (implied but not explicit), or any rate limits or authentication needs. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part earns its place, making it highly concise and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a scanning tool with no annotations and no output schema, the description is insufficient. It doesn't explain what status information is returned (e.g., progress, errors) or behavioral aspects like idempotency or error handling, leaving the agent with incomplete context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'scan_id' parameter clearly documented. The description adds no additional semantic context beyond implying the scan must be 'running', which is minimal value. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Check') and resource ('status of a running scan'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_scan_results' or 'list_scans', which could provide similar status information in different contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_scan_results' or 'list_scans'. It mentions 'running scan' but doesn't clarify prerequisites (e.g., whether the scan must be actively executing) or exclusions (e.g., not for completed scans).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_site_mapB
Get the site structure discovered during scanning and browsing
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Filter by host (optional) | |
| limit | No | Maximum number of items to return (default: 20) | |
| with_parameters | No | Only show URLs with parameters (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves 'site structure discovered during scanning and browsing,' implying a read-only operation, but doesn't specify if this is real-time data, cached results, or requires specific permissions. It also lacks details on output format, pagination, or error handling, which are critical for a tool with parameters like 'limit' and filtering options.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Get the site structure discovered during scanning and browsing.' It is front-loaded with the core purpose, uses clear language, and avoids unnecessary words. Every part of the sentence contributes directly to understanding the tool's function, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters with full schema coverage but no annotations or output schema, the description is minimally adequate. It covers the basic purpose but lacks context on behavioral aspects like data freshness, permissions, or output format. For a scanning-related tool that likely interacts with dynamic data, more details on how it integrates with siblings (e.g., after 'start_scan') would improve completeness, but it meets the minimum viable threshold.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for 'host' (filter by host), 'limit' (maximum items), and 'with_parameters' (only show URLs with parameters). The description doesn't add any meaning beyond this, as it doesn't explain how these parameters affect the 'site structure' retrieval or provide usage examples. With high schema coverage, the baseline score of 3 is appropriate, as the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the site structure discovered during scanning and browsing.' It specifies the verb ('Get') and resource ('site structure'), and distinguishes it from siblings like 'get_proxy_history' or 'get_scan_issues' by focusing on site structure rather than proxy logs or issues. However, it doesn't explicitly differentiate from 'get_scan_status' in terms of what 'site structure' entails versus 'status,' leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, such as needing a scan to have been performed first, or compare it to siblings like 'get_scan_status' for status updates or 'start_scan' for initiating scans. Without such context, users might struggle to choose the right tool in this scanning-related set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_scanC
Start a new vulnerability scan on a target URL
| Name | Required | Description | Default |
|---|---|---|---|
| scan_type | No | Type of scan to perform | |
| target | Yes | Target URL to scan (e.g., https://example.com) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Start a new vulnerability scan') but lacks details on execution traits, such as whether it's asynchronous, requires authentication, has rate limits, or what happens upon invocation (e.g., scan initiation vs. immediate results). This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of starting a vulnerability scan (a mutation operation with potential side effects), no annotations, and no output schema, the description is incomplete. It fails to address key contextual aspects like what the tool returns (e.g., a scan ID), error conditions, or behavioral implications, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for both parameters (scan_type with enum values and target with examples). The description adds no additional parameter semantics beyond what the schema provides, such as explaining scan_type differences or target format nuances, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Start a new vulnerability scan') and the target ('on a target URL'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_scan_status' or 'get_scan_issues', which are related but not direct alternatives for initiating scans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a target URL, or clarify its role relative to sibling tools like 'get_can_status' for monitoring scans. This leaves the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
get_proxy_history - First observed
get_scan_issues - First observed
get_scan_status - First observed
get_site_map - First observed
start_scan
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose with no overlap: get_proxy_history retrieves captured traffic, get_scan_issues fetches vulnerability findings, get_scan_status checks scan progress, get_site_map provides site structure, and start_scan initiates new scans. The descriptions make it unambiguous which tool to use for each specific task.
All tools follow a consistent verb_noun pattern with 'get_' or 'start_' prefixes followed by descriptive nouns (proxy_history, scan_issues, scan_status, site_map, scan). This uniform snake_case naming makes the tool set predictable and easy to understand.
Five tools is reasonable for a BurpSuite security testing server, covering core functions like traffic capture, scanning, and results retrieval. While slightly lean, it provides essential operations without being overwhelming. A few additional tools for scan configuration or issue management could enhance completeness but aren't critical.
The tools cover basic scanning workflow (start, check status, get results) and proxy history, but lack operations for managing scans (e.g., pause, stop, configure) or interacting with issues (e.g., export, filter, annotate). This creates minor gaps that agents might need to work around, though core functionality is present.
Maintenance
Related MCP Connectors
Related MCP Servers
- Apache 2.0
- AlicenseNot gradedqualityDmaintenanceBurpSuite MCP Server: A powerful Model Context Protocol (MCP) server implementation for BurpSuite, providing programmatic access to Burp's core functionalities.88MIT
- MIT
- MIT