Content
# Radare2 MCP Server
[](https://github.com/radareorg/radare2-mcp/actions/workflows/ci.yml)
[](https://github.com/radareorg/radare2)
<img width="400" alt="r2mcp logo" src="./r2mcp.png" />
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
<img width="400" alt="Screenshot_2025-03-22_at_5 34 47_PM" src="https://github.com/user-attachments/assets/5322c3fc-fc07-4770-96a3-5a6d82d439c2" />
<img width="400" alt="Screenshot_2025-03-22_at_5 36 17_PM" src="https://github.com/user-attachments/assets/132a1de0-6978-4202-8dce-aa3d60551b9a" />
### Using r2pm
The simplest way to install the package is by using `r2pm`:
```bash
$ 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.
```bash
$ r2pm -r r2mcp
```
That's the common mcpServer JSON configuration file:
```json
{
"mcpServers": {
"radare2": {
"command": "r2pm",
"args": ["-r", "r2mcp"]
}
}
}
```
### Using Docker
Alternatively, you can build the Docker image:
```bash
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:
1. Locate your Claude Desktop configuration file:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
2. Add the following to your configuration file:
```json
{
"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](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server-to-your-user-configuration) (see other options [here](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server)):
1. Open the Command Palette with `CMD + Shift + P` (macOS) or `Ctrl + Shift + P` (Windows/Linux).
2. Search for and select `Copilot: Open User Configuration` (typically found in `~/Library/Application Support/Code/User/mcp.json` in macOS).
3. Add the following to your configuration file:
```json
{
"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](https://zed.dev/docs/ai/mcp):
1. Open the command palette: `CMD + Shift + P` (macOS) or `Ctrl + Shift + P` (Windows/Linux).
2. Search of `agent: open configuration` or search of `settings`.
3. Add your server as such:
```json
"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:
```bash
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:
```cmd
meson b
ninja -C b
```
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
git
A Model Context Protocol server for Git automation and interaction.