Radare2 MCP Server
An MCP server to use radare2 with AI agents such as OpenCode, Mai, VSCode, Claude, CLION, ...
Features
This implementation provides:
- 💻 Fully written in C using the native r2 APIs
- 🧩 Works from the CLI, as an r2 plugin and as an MCP server
- 🔍 Seamless binary analysis with radare2
- 🔗 Connect to any local or remote r2/iaito session via r2pipe
- 🔒 Supports readonly mode, sandbox lock and restrict tools
- 🔩 Fine grained tools configuration
- 🔁 Direct stdin/stdout communication model
- 🛠️ Optional raw access to run r2 commands or r2js scripts
Installation
Using r2pm
The simplest way to install the package is by using r2pm:
$ r2pm -Uci r2mcp
The 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 r2mcp
That's the common mcpServer JSON configuration file:
{
"mcpServers": {
"radare2": {
"command": "r2pm",
"args": ["-r", "r2mcp"]
}
}
}
Using Docker
Alternatively, 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"].
Configuration
Claude Desktop Integration
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
- macOS:
-
Add the following to your configuration file:
{
"mcpServers": {
"radare2": {
"command": "r2pm",
"args": ["-r", "r2mcp"]
}
}
}
VS Code Integration
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": []
}
Zed Integration
You can use r2mcp with Zed as well by adding it to your configuration:
- Open the command palette:
CMD + Shift + P(macOS) orCtrl + Shift + P(Windows/Linux). - Search of
agent: open configurationor search ofsettings. - Add your server as such:
"context_servers": {
"r2-mcp-server": {
"source": "custom",
"command": "r2pm",
"args": ["-r", "r2mcp"],
"env": {}
}
}
Note: you will need another LLM agent, such as Claude, Gemini or else to be able to use it.
For Developers
Build from Source
Linux/macOS
To test the server locally, you can build and install it with make:
make install
This will compile the server and place the r2mcp binary in /usr/local/bin on macOS.
Windows
For Windows, just use meson and ninja like it's done in the CI:
meson b
ninja -C b