An MCP server for using radare2 with AI assistants such as Claude, VSCode, CLION, Mai, OpenCode, ...
This implementation provides a simple MCP server that:
- Uses a direct stdin/stdout communication model
- Provides basic tool capabilities
- Allows seamless binary analysis with radare2
- Integrates radare2 directly with AI assistants
- Enables file exploration and inspection
The simplest way to install the package is by using r2pm:
$ r2pm -Uci r2mcpThe r2mcp executable will be copied into r2pm's bindir in your home directory. However, this binary is not supposed to be executed directly from the shell; it will only work when launched by the MCP service handler of your language model of choice.
$ r2pm -r mcpAlternatively, you can build the Docker image:
docker build -t r2mcp .Update your MCP client configuration file (see below) to use the Docker image to use:
"command": "docker""args": ["run", "--rm", "-i", "-v", "/tmp/data:/data", "r2mcp"].
In the Claude Desktop app, press CMD + , to open the Developer settings. Edit the configuration file and restart the client after editing the JSON file as explained below:
-
Locate your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add the following to your configuration file:
{
"mcpServers": {
"radare2": {
"command": "r2pm",
"args": ["-r", "r2mcp"]
}
}
}To use r2mcp with GitHub Copilot Chat in Visual Studio Code by adding it to your user configuration (see other options here):
- Open the Command Palette with
CMD + Shift + P(macOS) orCtrl + Shift + P(Windows/Linux). - Search for and select
Copilot: Open User Configuration(typically found in~/Library/Application Support/Code/User/mcp.jsonin macOS). - Add the following to your configuration file:
{
"servers": {
"radare2": {
"type": "stdio",
"command": "r2pm",
"args": ["-r", "r2mcp"]
}
},
"inputs": []
}To test the server locally, you can build and install it with make:
make installThis will compile the server and place the r2mcp binary in /usr/local/bin on macOS.
You can now add the following configuration to your VS Code mcp.json as explained above:
{
"servers": {
"r2mcp": {
"type": "stdio",
"command": "r2mcp",
"args": []
}
},
"inputs": []
}Tip: So that the client doesn't get confused, it's best to enable one server at a time. You can do this by commenting out the other server in the configuration file.