mcp-capstone について
mcp-capstoneは、MCPツールとリソースを通じてCapstone 5.0.7の逆アセンブル機能をLLMに提供します。x86、ARM、RISC-V、WebAssemblyなどのアーキテクチャで命令を解析できます。
主な機能
- 01詳細・軽量・高速な逆アセンブル
- 02対応状況の確認とアーキテクチャ一覧
- 03アーキテクチャとモードの定数
- 04オペランド・命令グループ・エラー定数
活用シーン
- 01バイナリ命令の逆アセンブル
- 02複数アーキテクチャの命令詳細の解析
MCP 対応
Capstoneの逆アセンブル機能と関連するアーキテクチャ情報を、MCPクライアント向けのツールとリソースとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-capstone
Capstone 5.0.7 の逆アセンブリフレームワークの機能をツールおよびリソースとして公開し、LLM がバイナリの逆アセンブル、リバースエンジニアリング、命令解析を実行できるようにする MCP サーバーです。
インストール
pip install mcp-capstone
使用方法
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']}")
対応アーキテクチャ
- x86(16/32/64 ビット)
- ARM(ARM、Thumb、ARM モード)
- AArch64(ARMv8)
- MIPS(MIPS32/64、MIPS2/3、R6)
- PowerPC(32/64 ビット、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)
ツール
| ツール | 説明 |
|---|---|
get_version | Capstone のバージョンを取得 |
check_support | アーキテクチャの対応状況を確認 |
list_architectures | すべてのアーキテクチャを一覧表示 |
disasm | 詳細情報を含む完全な逆アセンブル |
disasm_lite | 軽量な逆アセンブル |
disasm_quick | クイック逆アセンブル |
get_architectures | すべてのアーキテクチャ定数 |
get_modes | すべてのモード定数 |
get_options | すべてのオプション定数 |
get_operands | すべてのオペランド型定数 |
get_groups | すべての命令グループ定数 |
get_errors | すべてのエラー定数 |
開発
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
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。