A desktop application that routes Model Context Protocol (MCP) traffic through Burp Suite for security testing and analysis. This tool acts as an MCP client that proxies all requests through Burp Suite, allowing you to inspect, modify, and test MCP server communications.
- Full MCP Protocol Support: Connect to any MCP server and execute all standard operations
- Burp Suite Integration: Route all traffic through Burp Suite for inspection and modification
- Bearer Token Authentication: Support for token-based authentication
- Custom Headers: Add custom HTTP headers to all requests
- TLS Certificate Handling: Option to ignore self-signed certificate errors
- Traffic Logging: View all requests and responses in real-time
- Modal-Based UI: Clean interface with modal dialogs for all operations
- List Tools
- Call Tool
- List Prompts
- Get Prompt
- List Resources
- Read Resource
- Set Logging Level
- Node.js: Version 14 or higher
- npm: Comes with Node.js
- Burp Suite: Community or Professional edition (listening on localhost:8080 by default)
# Using Homebrew
brew install node
# Or download from https://nodejs.org/sudo apt update
sudo apt install nodejs npmsudo dnf install nodejs npmDownload and install from nodejs.org
Or using Chocolatey:
choco install nodejsgit clone https://github.com/yourusername/MCP_Thru_Burp.git
cd MCP_Thru_BurpOr download and extract the ZIP file from GitHub.
npm install- Launch Burp Suite (Community or Professional)
- Ensure the proxy listener is running on
localhost:8080(default) - Configure Burp to intercept HTTPS traffic if needed
- Go to Proxy > Options > Proxy Listeners and verify the listener is active
npm startThe application window will open automatically.
- MCP Server URL: Enter the URL of your MCP server (e.g.,
https://mcp-server.example.com/mcp) - Bearer Token (optional): If your server requires authentication, enter your token
- Custom Headers (optional): Add any custom headers required by your server
- Proxy Configuration:
- Enable/disable proxy routing through Burp
- Modify proxy host/port if not using default (localhost:8080)
- TLS Certificate Errors: Keep "Ignore TLS Certificate Errors" checked to accept Burp's self-signed certificate
Click "Test Proxy Connection" to verify Burp Suite is accessible and accepting connections.
Click "Connect to MCP Server". If successful, all operation buttons will be enabled.
Use the operation buttons to interact with the MCP server:
- List Tools: Retrieve all available tools from the server
- Call Tool: Execute a specific tool with optional JSON arguments
- List Prompts: Get all available prompts
- Get Prompt: Retrieve a specific prompt with optional arguments
- List Resources: Get all available resources
- Read Resource: Read a specific resource by URI
- Set Logging Level: Configure server logging verbosity
All requests and responses will appear in the Traffic Log section and in Burp Suite's HTTP history.
Error: "self signed certificate in certificate chain"
- Ensure "Ignore TLS Certificate Errors" is checked
- Verify Burp Suite is running and the proxy listener is active
Error: "Connection failed: Request failed with status code 401"
- Verify your Bearer Token is correct
- Check that the token is properly configured in the server
Error: "ECONNREFUSED"
- Ensure Burp Suite is running
- Verify the proxy host and port are correct (default: localhost:8080)
- Check that Burp's proxy listener is bound to all interfaces or localhost
Application won't start
- Verify Node.js is installed:
node --version - Ensure dependencies are installed:
npm install - Check for port conflicts
Operations not working
- Ensure you've successfully connected to the MCP server first
- Check the Traffic Log for error details
- Verify the request/response in Burp Suite's HTTP history
To create distributable executables for each platform:
npm run build:macOutput: dist/MCP Thru Burp-1.0.0.dmg and .zip
npm run build:winOutput: dist/MCP Thru Burp Setup 1.0.0.exe and portable .exe
npm run build:linuxOutput: dist/MCP Thru Burp-1.0.0.AppImage and .deb
Note: Cross-platform building may require additional tools. It's recommended to build on the target platform.
MCP_Thru_Burp/
├── main.js # Electron main process
├── preload.js # IPC bridge between main and renderer
├── renderer.js # MCP client logic
├── index.html # Application UI
├── package.json # Dependencies and scripts
└── README.md # This file
- Electron: Desktop application framework
- Axios: HTTP client for MCP requests
- https-proxy-agent: HTTP/HTTPS proxy support
- This tool is designed for security testing purposes only
- The "Ignore TLS Certificate Errors" option should only be used in testing environments
- Be cautious when handling sensitive authentication tokens
- Never commit credentials to version control
MIT
Contributions are welcome! Please feel free to submit issues or pull requests.
For issues, questions, or feature requests, please open an issue on GitHub.