MCPwned
One-line summary : Companion extension for pwning MCP servers
Detailed description :
MCPwned is a companion extension that enables pentesters to effectively test MCP servers. It recognizes MCP-like endpoints, provides a scanner and a tree-like display of capabilities, as well as a template request for each capability. It also provides quality of life features such as response extracting and session ID refresh.
Basic Usage
Whenever you encounter an MCP-like endpoint the extension will color it in gray. From there you can send the request to the extension with a right-click or a Ctrl + M shortcut. You can among others :
- Send a capability usage template to the repeater (also supports completion)
- Annotate/color capabilities to stay organized
- Refresh session ID from the repeater or the extension tab
- Export your findings in Markdown
Please find below the other features ;)
Features (Roadmap)
Scanning & Auditing
- The extension provides a scanner for :
- Tools
- Prompts
- Resources
- + resource template
- Debug mode configurable from settings
- Configurable logging of the request in the
loggertab or at least some way to see the queries being made - pulls
session idin server data based on the URL - Autodetects MCP-like exchanges in proxy
Attacking
- Enables to send a request to the
repeater- Attaches the session ID properly
- Provides a way of retrieving new session IDs automatically
- Provides a way to test completion to leak valid resource URIs and argument values the server accepts
- pulls
session idinrepeaterbased on the URL - Shows responses in a nice readable format
QOL
- Shortcuts :
-
Ctrl + M→ sends to extension -
Ctrl + Shift + M→ move to extension page
-
- display nicely
- show in tree form
- displays the tool/resource/prompt information
- combine/merge all data from the same URL and updates accordingly
- Show error in case of error at MCP connection level
- Delete entries
Reporting and Organizing
- Change server name
- Set leaf color
- Add notes
- Export to Markdown
Bugs to fix
- Hangs on
HTTPStreambuilder - Color bug in tree
- Session ID being invalidated when SDK sends DELETE
-
Scan with ...Not working fromrepeaterand other pane-based tabs -
Send to repeaterdoes not properly focus the new tab - Foreground color does not update properly on leaves leaving white on white sometimes
- Tree sometimes showing up weird when reloading project
-
\nnot handled properly in the right panel when used in description - Server data display does not refresh upon session refresh
BApp Store acceptance criteria
- It performs a unique function.
- It has a clear, descriptive name
- It operates securely.
- It includes all dependencies.
- It uses threads to maintain responsiveness.
- It unloads cleanly.
- It uses Burp networking.
- Still uses
io.modelcontextprotocol.sdk:mcpfor probing due to no better solution for now
- Still uses
- It supports offline working.
- It can cope with large projects.
- It provides a parent for GUI elements.
- It uses the Montoya API artifact.
- It uses Burp AI as the default AI provider