capstone-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_supported_architecturesA | List all supported CPU architectures. Returns available architecture identifiers for the 'arch' parameter used by disassemble_hex, disassemble_file_section, etc. |
| disassemble_hexA | Disassemble a hex-encoded byte string into assembly code. Args: hex_code: Hex-encoded machine code bytes, e.g. "554889e5" or "55 48 89 e5" (spaces are auto-stripped). arch: CPU architecture. Use list_supported_architectures to see available values. Default: x86_64. base_address: Base address as a hex string (e.g. "0x401000"). Default: "0". max_instructions: Maximum number of instructions to disassemble. 0 means unlimited. Returns: Formatted disassembly output with address, bytes, mnemonic and operands. |
| disassemble_file_sectionA | Disassemble a named section from a binary file (PE/ELF/Mach-O). Args: file_path: Absolute path to the binary file. section_name: Section name to disassemble. Default: ".text". arch: CPU architecture. Auto-detected from file header if omitted. max_instructions: Maximum instructions to disassemble. Default: 200. Set 0 for unlimited. Returns: Disassembly output for the section, including file metadata. |
| disassemble_at_addressA | Disassemble code at a specific virtual address in a binary file. Args: file_path: Absolute path to the binary file. virtual_address: Starting virtual address as hex string (e.g. "0x401000"). size: Number of bytes to read. Default: 256. arch: CPU architecture. Auto-detected if omitted. max_instructions: Maximum instructions to disassemble. Default: 50. Returns: Disassembly output at the specified address. |
| get_binary_infoA | Get detailed metadata of a binary file (PE/ELF/Mach-O). Includes file format, architecture, entrypoint, section list, imports/exports, etc. Args: file_path: Absolute path to the binary file. Returns: File metadata in JSON format. |
| search_instructionsA | Search for instructions matching a specific pattern in disassembled code. Filter by mnemonic name or instruction group (call/jump/ret/interrupt). Args: hex_code: Hex-encoded machine code bytes. arch: CPU architecture. Default: x86_64. base_address: Base address. Default: "0". mnemonic: Mnemonic to search for (partial match), e.g. "mov", "call", "push". group: Instruction group to filter: call, jump, ret, interrupt. Returns: List of matching instructions. |
| search_instructions_in_fileA | Search for instructions matching a pattern in a binary file's section. Args: file_path: Absolute path to the binary file. section_name: Section name. Default: ".text". arch: CPU architecture. Auto-detected if omitted. mnemonic: Mnemonic to search for (partial match). group: Instruction group to filter: call, jump, ret, interrupt. Returns: List of matching instructions. |
| analyze_code_flowA | Perform control flow analysis on machine code, identifying basic blocks, jumps, calls and returns. Args: hex_code: Hex-encoded machine code bytes. arch: CPU architecture. Default: x86_64. base_address: Base address. Default: "0". Returns: JSON-formatted control flow analysis with basic blocks, edges, calls and return info. |
| find_xrefs_hexA | Find all cross-references to a target address in hex-encoded machine code. Searches for call, jump, immediate value, and memory displacement references to the specified target address. Args: hex_code: Hex-encoded machine code bytes. target_address: Target address to find references to (hex string, e.g. "0x401000"). arch: CPU architecture. Default: x86_64. base_address: Base address. Default: "0". Returns: List of cross-references with source address, type, and instruction. |
| find_xrefs_in_fileA | Find all cross-references to a target address in a binary file's section. Scans the specified section for all instructions that reference the target address via call, jump, immediate operand, or memory displacement. Args: file_path: Absolute path to the binary file. target_address: Target address to find references to (hex string, e.g. "0x401000"). section_name: Section to scan. Default: ".text". arch: CPU architecture. Auto-detected if omitted. Returns: List of cross-references with source address, type, and instruction. |
| disassemble_entrypointA | Disassemble code at the binary file's entrypoint. Automatically locates the entrypoint address and disassembles from there. Args: file_path: Absolute path to the binary file. size: Number of bytes to read from the entrypoint. Default: 512. arch: CPU architecture. Auto-detected if omitted. max_instructions: Maximum instructions to disassemble. Default: 100. Returns: Disassembly output at the entrypoint. |
| disassemble_raw_offsetA | Read raw bytes at a file offset and disassemble them. Unlike disassemble_at_address, this uses a raw file offset instead of a virtual address. Args: file_path: Absolute path to the file (any file, not limited to PE/ELF). offset: File offset as hex string (e.g. "0x400"). size: Number of bytes to read. Default: 256. arch: CPU architecture. Default: x86_64. base_address: Display base address for disassembly. Defaults to offset value. max_instructions: Maximum instructions to disassemble. Default: 50. Returns: Disassembly output at the file offset. |
| find_rop_gadgets_hexA | Search for ROP gadgets (instruction sequences ending with ret) in hex-encoded machine code. Used for ROP chain construction in CTF Pwn challenges. Args: hex_code: Hex-encoded machine code bytes. arch: CPU architecture. Default: x86_64. base_address: Base address. Default: "0". max_gadget_len: Maximum number of instructions per gadget. Default: 5. max_results: Maximum number of results to return. Default: 100. Returns: List of ROP gadgets with addresses and instruction sequences. |
| find_rop_gadgets_in_fileB | Search for ROP gadgets in a binary file's section. Args: file_path: Absolute path to the binary file. section_name: Section name. Default: ".text". arch: CPU architecture. Auto-detected if omitted. max_gadget_len: Maximum instructions per gadget. Default: 5. max_results: Maximum results to return. Default: 100. Returns: List of ROP gadgets found. |
| extract_strings_from_fileA | Extract readable strings from a binary file (similar to the Args: file_path: Absolute path to the file. min_length: Minimum string length. Default: 4. encoding: Encoding type: "ascii", "utf16le", or "both" (default). max_results: Maximum results to return. Default: 300. Returns: List of extracted strings with offset and encoding info. |
| xor_brute_forceA | Brute-force single-byte XOR decryption, ranked by printable character ratio. Commonly used in CTF to decrypt simple XOR-encrypted flags or strings. Args: hex_data: Hex-encoded ciphertext data. min_printable_ratio: Minimum printable character ratio threshold. Default: 0.75. Returns: Candidate decryption results sorted by printable ratio. |
| xor_encode_decodeB | XOR encode/decode data with a specified key. Args: hex_data: Hex-encoded data. hex_key: Hex-encoded key (supports multi-byte keys, applied cyclically). Returns: XOR result as hex output with ASCII preview. |
| buffer_overflow_patternA | Generate or find offset in a cyclic buffer overflow pattern (De Bruijn sequence). Used to determine the exact EIP/RIP overwrite offset. Similar to Metasploit's pattern_create / pattern_offset. Args: action: "create" to generate a pattern, "offset" to find an offset. value: When action="offset", the value to search for (hex like "0x41386141" or ASCII string). length: When action="create", pattern length (default 200). When action="offset", search range. Returns: Generated pattern or offset lookup result. |
| check_securityA | Check security features of a binary file (similar to the checksec tool). ELF: NX, PIE, RELRO, Stack Canary, FORTIFY, RPATH, Stripped PE: DEP/NX, ASLR, SEH, CFG, Authenticode Mach-O: PIE, Stack Canary, Code Signing Args: file_path: Absolute path to the binary file. Returns: Security feature detection results. |
| analyze_plt_got_tableA | Analyze PLT/GOT tables (ELF) or IAT (PE) of a binary file. PLT/GOT is the core of ELF dynamic linking and the target of GOT overwrite attacks. IAT is the PE Import Address Table, commonly used for hooking and patching. Args: file_path: Absolute path to the binary file. Returns: PLT/GOT or IAT analysis results in JSON format. |
| hex_dump_fileA | View file contents as a formatted hex dump. Args: file_path: Absolute path to the file. offset: Starting file offset as hex string. Default: "0". length: Number of bytes to display. Default: 256. Max: 4096. Returns: Formatted hex dump with address, hex values, and ASCII display. |
| detect_crypto_in_fileA | Scan a binary file for known cryptographic algorithm constants and signatures. Detects: AES S-Box, SHA-256, SHA-1, MD5, DES, RC4, Blowfish, TEA/XTEA, CRC32, Base64 alphabet, and common file format signatures. Args: file_path: Absolute path to the file. Returns: List of detected crypto constants. |
| analyze_shellcode_hexA | Comprehensively analyze shellcode: disassembly + pattern detection + statistics. Detects NOP sleds, syscalls, common shellcode jump patterns, null bytes, etc. Args: hex_code: Hex-encoded shellcode. arch: CPU architecture. Default: x86_64. base_address: Base address. Default: "0". Returns: JSON-formatted shellcode analysis results. |
| syscall_lookupA | Look up Linux system call information. Supports lookup by number or name (partial match). Args: query: Syscall number (e.g. "59") or name (e.g. "execve", supports partial match). platform: Platform: x86, x86_64/x64, arm/arm32, arm64/aarch64. Default: x86_64. Returns: Matching syscall info including number, name, and arguments. |
| syscall_listA | List all system calls for a given platform. Args: platform: Platform: x86, x86_64/x64, arm/arm32, arm64/aarch64. Default: x86_64. Returns: Complete syscall table for the platform. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| binary_analysis_prompt | Generate a guided prompt for analyzing a binary file. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| architectures_resource | Return all supported CPU architecture reference information. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tokeii0/capstone-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server