About mcp-capstone
mcp-capstone exposes Capstone 5.0.7 disassembly functions to LLMs through MCP tools and resources. It supports instruction analysis across architectures including x86, ARM, RISC-V, and WebAssembly.
Key features
- 01Full, lightweight, and quick disassembly
- 02Support checks and architecture listing
- 03Architecture and mode constants
- 04Operand, group, and error constants
Use cases
- 01Disassemble binary instructions
- 02Analyze instruction details across architectures
MCP support
Exposes Capstone disassembly functions and related architecture information as MCP tools and resources for MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-capstone
MCP server that exposes Capstone 5.0.7 disassembly framework functionalities as tools and resources, enabling LLMs to perform binary disassembly, reverse engineering, and instruction analysis.
Install
pip install mcp-capstone
Usage
CLI
mcp-capstone
Python
from mcp_capstone import disasm, get_version
# Get version
version = get_version()
print(f"Capstone {version['major']}.{version['minor']}")
# Disassemble x86-64 code
instructions = disasm("8b440404", arch="x86", mode="64")
for insn in instructions:
print(f"0x{insn['address']:x}: {insn['mnemonic']} {insn['op_str']}")
Supported Architectures
- x86 (16/32/64-bit)
- ARM (ARM, Thumb, ARM mode)
- AArch64 (ARMv8)
- MIPS (MIPS32/64, MIPS2/3, R6)
- PowerPC (32/64-bit, SPE, QPX)
- RISC-V (RV32/64GC)
- SPARC (V8/V9)
- SystemZ
- M68K (68000-68060)
- M680X (6301/6309/6800/6805/6808/6809/6811/CPU12/HCS08)
- TriCore
- TMS320C64X
- WebAssembly
- XCore
- BPF (Classic/Extended)
- EVM (Ethereum Virtual Machine)
Tools
| Tool | Description |
|---|---|
get_version | Get Capstone version |
check_support | Check architecture support |
list_architectures | List all architectures |
disasm | Full disassembly with details |
disasm_lite | Lightweight disassembly |
disasm_quick | Quick disassembly |
get_architectures | All architecture constants |
get_modes | All mode constants |
get_options | All option constants |
get_operands | All operand type constants |
get_groups | All instruction group constants |
get_errors | All error constants |
Development
git clone https://github.com/daedalus/mcp-capstone.git
cd mcp-capstone
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
mcp-name: io.github.daedalus/mcp-capstone
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.