io.github.daedalus/mcp-capstone
MCP server exposing Capstone 5.0.7 disassembly framework
Versions
0.1.0latestTools 14
get_groups Get all instruction group constants. Returns: Dictionary mapping group names to constants. Example: >>> get_groups() {'CS_GRP_INVALID': 0, 'CS_GRP_JUMP': 1, ...}
get_syntaxes Get all syntax option constants. Returns: Dictionary mapping syntax names to constants. Example: >>> get_syntaxes() {'CS_OPT_SYNTAX_INTEL': 1, 'CS_OPT_SYNTAX_ATT': 2, ...}
get_operands Get all operand type constants. Returns: Dictionary mapping operand type names to constants. Example: >>> get_operands() {'CS_OP_INVALID': 0, 'CS_OP_REG': 1, ...}
get_access_types Get all operand access type constants. Returns: Dictionary mapping access type names to constants. Example: >>> get_access_types() {'CS_AC_INVALID': 0, 'CS_AC_READ': 1, 'CS_AC_WRITE': 2, ...}
get_version Get Capstone engine version information. Returns: Dictionary containing major, minor, version, and binding version. Example: >>> get_version() {'major': 5, 'minor': 0, 'version': '5.0.7', 'binding': '5.0.7'}
check_support Check if a specific architecture is supported by Capstone. Args: arch: Architecture name (e.g., 'x86', 'arm', 'mips'). Returns: True if supported, False otherwise. Example: >>> check_support("x86") True >>> check_support("invalid") False
list_architectures List all supported architectures. Returns: List of supported architecture names. Example: >>> list_architectures() ['x86', 'arm', 'aarch64', 'mips', 'ppc', ...]
disasm Disassemble raw binary code. Args: code: Hex string of binary code to disassemble. address: Starting address for disassembly (default: 0). arch: Target architecture (default: 'x86'). mode: Target mode (default: '64'). count: Number of instructions (0 = all, default: 0). syntax: Syntax type: 'default', 'intel', 'att', 'masm', 'motorola', 'noregname'. detail: Include detailed operand information (default: True). Returns: List of instruction dictionaries. Example: >>> disasm("8b440404", 0, "x86", "64") [{'address': 0, 'mnemonic': 'mov', 'op_str': 'eax, dword ptr [esp + 4]', ...}]
disasm_lite Lightweight disassembly (returns only mnemonic and bytes). Args: code: Hex string of binary code. address: Starting address (default: 0). arch: Target architecture (default: 'x86'). mode: Target mode (default: '64'). count: Number of instructions (0 = all, default: 0). Returns: List of simplified instruction dictionaries. Example: >>> disasm_lite("8b440404") [{'address': 0, 'mnemonic': 'mov', 'bytes': '8b440404', 'size': 4}]
disasm_quick Quick disassembly without detailed operand info. Args: code: Hex string of binary code. address: Starting address (default: 0). arch: Target architecture (default: 'x86'). mode: Target mode (default: '64'). count: Number of instructions (0 = all, default: 0). Returns: List of instruction dictionaries without detail. Example: >>> disasm_quick("8b440404") [{'address': 0, 'mnemonic': 'mov', 'op_str': 'eax, dword ptr [esp + 4]', ...}]
get_architectures Get all architecture constants. Returns: Dictionary mapping architecture names to constants. Example: >>> get_architectures() {'CS_ARCH_X86': 3, 'CS_ARCH_ARM': 0, ...}
get_modes Get all mode constants. Returns: Dictionary mapping mode names to constants. Example: >>> get_modes() {'CS_MODE_16': 2, 'CS_MODE_32': 4, ...}
get_options Get all option constants. Returns: Dictionary mapping option names to constants. Example: >>> get_options() {'CS_OPT_INVALID': 0, 'CS_OPT_SYNTAX': 1, ...}
get_errors Get all error constants. Returns: Dictionary mapping error names to constants. Example: >>> get_errors() {'CS_ERR_OK': 0, 'CS_ERR_ERR': 1, ...}
Permissions 0
No permissions indexed yet.