capstone-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@capstone-mcp-serverdisassemble hex bytes 554889e5 for x86_64"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Capstone MCP Server
中文 | English
基于 Capstone 反汇编引擎的 MCP (Model Context Protocol) 服务器,为大语言模型提供二进制分析能力。
功能特性
多架构支持: x86 (16/32/64)、ARM/ARM64、MIPS (32/64)、PowerPC (32/64)
多格式解析: PE、ELF、Mach-O 二进制文件自动识别与解析
反汇编工具: 支持 hex 字节串、文件区段、虚拟地址、文件偏移等多种输入方式
控制流分析: 基本块识别、跳转/调用/返回分析
指令搜索: 按助记符或指令类别过滤搜索
架构自动检测: 从 PE/ELF/Mach-O 文件头自动推断 CPU 架构
ROP Gadget 搜索: 查找以 ret 结尾的指令片段,用于 ROP 链构造
安全特性检测: 类似 checksec,检测 NX/PIE/RELRO/Canary/ASLR 等
PLT/GOT & IAT 分析: ELF 动态链接表与 PE 导入表分析
字符串提取: 支持 ASCII 和 UTF-16LE 编码的可读字符串扫描
XOR 编解码: 单字节暴力破解与多字节密钥 XOR 运算
缓冲区溢出辅助: De Bruijn 序列生成与偏移计算(pattern_create/offset)
加密常量识别: 检测 AES S-Box、SHA、MD5、TEA、CRC32、Base64 等常量
Shellcode 分析: NOP sled、syscall、jmp/call esp 等模式检测
Syscall 查找: Linux x86/x64/ARM/ARM64 系统调用表查询
Hex Dump: 格式化的十六进制转储查看
交叉引用查询: 在代码中搜索对指定地址的所有引用(call/jump/立即数/内存访问)
Related MCP server: Reversecore_MCP
提供的 MCP 工具
基础反汇编工具
工具 | 说明 |
| 列出所有支持的 CPU 架构 |
| 反汇编十六进制字节串 |
| 反汇编二进制文件的指定区段 |
| 反汇编文件中指定虚拟地址处的代码 |
| 反汇编二进制文件入口点 |
| 反汇编文件偏移处的原始字节 |
| 获取二进制文件元信息(格式、架构、区段、导入/导出) |
| 在 hex 字节串中搜索指令模式 |
| 在二进制文件中搜索指令模式 |
| 对机器码进行控制流分析 |
| 在 hex 字节串中搜索对目标地址的交叉引用 |
| 在二进制文件中搜索对目标地址的交叉引用 |
CTF / 逆向扩展工具
工具 | 说明 | CTF 场景 |
| 在 hex 字节串中搜索 ROP gadgets | Pwn - ROP 链构造 |
| 在二进制文件中搜索 ROP gadgets | Pwn - ROP 链构造 |
| 提取可读字符串(类似 | RE / Misc / Forensics |
| 单字节 XOR 暴力破解 | Crypto / RE |
| 指定密钥 XOR 编解码 | Crypto / RE |
| 生成/查找缓冲区溢出 pattern(De Bruijn) | Pwn - 偏移计算 |
| 检测安全特性(类似 | Pwn - 漏洞利用前置 |
| 分析 ELF PLT/GOT 或 PE IAT 表 | Pwn - GOT overwrite |
| 十六进制转储查看文件内容 | RE / Forensics |
| 检测加密算法常量(AES/SHA/MD5/TEA 等) | Crypto / RE |
| Shellcode 综合分析(模式检测+统计) | Pwn / RE |
| Linux 系统调用查找(按编号或名称) | Pwn / RE |
| 列出平台全部系统调用表 | Pwn / RE |
安装
# 克隆项目
git clone <repo-url>
cd capstone-mcp-server
# 安装依赖
pip install -e .运行
直接运行
capstone-mcp通过 Python 模块运行
python -m capstone_mcp.server使用 MCP Inspector 调试
mcp dev src/capstone_mcp/server.py配置 MCP 客户端
Windsurf / Claude Desktop
在 MCP 配置文件中添加:
{
"mcpServers": {
"capstone-disasm": {
"command": "python",
"args": ["-m", "capstone_mcp.server"],
"cwd": "/path/to/capstone-mcp-server"
}
}
}或者使用 uv 运行:
{
"mcpServers": {
"capstone-disasm": {
"command": "uv",
"args": ["run", "--directory", "/path/to/capstone-mcp-server", "capstone-mcp"]
}
}
}使用示例
反汇编 hex 字节串
大模型可调用 disassemble_hex 工具:
输入: hex_code="554889e54883ec10c745fc00000000b8000000004883c4105dc3", arch="x86_64"输出:
Architecture: x86_64
Base Address: 0x0
Input Size: 25 bytes
────────────────────────────────────────────────────────────────
0x00000000: 55 push rbp
0x00000001: 4889e5 mov rbp, rsp
0x00000004: 4883ec10 sub rsp, 0x10
0x00000008: c745fc00000000 mov dword ptr [rbp - 4], 0
0x0000000f: b800000000 mov eax, 0
0x00000014: 4883c410 add rsp, 0x10
0x00000018: 5d pop rbp
0x00000019: c3 ret分析二进制文件
1. 调用 get_binary_info("C:/path/to/program.exe") → 获取文件概要
2. 调用 disassemble_entrypoint("C:/path/to/program.exe") → 查看入口点
3. 调用 search_instructions_in_file("C:/path/to/program.exe", group="call") → 查找所有调用依赖
许可证
MIT
Available Tools
25 toolsanalyze_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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_code | Yes | ||
| arch | No | x86_64 | |
| base_address | No | 0 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source for behavioral traits. It describes the output format (JSON with basic blocks, edges, calls, returns) but fails to disclose limitations, performance characteristics, or any side effects. It does not mention if the tool works for all architectures or the required format of hex_code.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a short paragraph followed by an args/returns block. It front-loads the key purpose and uses clear structure. No superfluous text, though the 'Args:' section is slightly redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (described but not shown), the description adequately covers parameters and return concept. However, it lacks usage context, such as typical use cases or architecture support, which would be helpful among sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description fully compensates by providing meanings and defaults: 'hex_code: Hex-encoded machine code bytes', 'arch: CPU architecture. Default: x86_64', 'base_address: Base address. Default: 0'. It adds value beyond the schema's minimal titles, though it could clarify valid arch values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs control flow analysis on machine code, identifying basic blocks, jumps, calls, and returns. It uses a specific verb-resource pair and distinguishes itself from siblings like 'disassemble_hex' (pure disassembly) and 'find_xrefs' (cross-references).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for control flow analysis but does not explicitly state when to use this tool versus alternatives (e.g., disassemble_hex or find_xrefs). There is no guidance on when not to use it or prerequisites, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description correctly implies a read-only analysis operation, but does not disclose any other behavioral traits such as file size limits or memory usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, well-structured with clear sections for args and returns, and no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and an output schema, the description provides sufficient context: explains the binary table types analyzed and the return format. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies that file_path must be an absolute path, adding meaning beyond the schema which only provides the name. However, schema coverage is 0% so the description compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it analyzes PLT/GOT tables for ELF and IAT for PE, with specific verb and resource. It distinguishes from sibling tools like disassemble_* and search_instructions by focusing on dynamic linking tables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the tools are relevant for GOT overwrite attacks and IAT hooking, but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_code | Yes | ||
| arch | No | x86_64 | |
| base_address | No | 0 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions analysis and JSON return but does not disclose behavioral traits like side effects, permissions, or limitations (e.g., size limits). Minimal disclosure beyond what is obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with summary, feature list, and args section. Front-loaded with key purpose. Could be slightly more concise by omitting common examples, but remains readable and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a tool with 3 params and no annotations, but lacks details on return structure beyond 'JSON-formatted analysis results'. With high sibling count, more context on output fields would improve agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description defines each parameter clearly: hex_code as hex-encoded shellcode, arch with default x86_64, base_address with default 0. Adds meaning beyond schema, though could list valid arch values or note dependency on list_supported_architectures.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states comprehensive analysis of shellcode including disassembly, pattern detection, and statistics. Lists specific patterns (NOP sleds, syscalls, jump patterns, null bytes) and distinguishes from sibling tools like disassemble_hex which likely only disassembles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for shellcode analysis but does not explicitly compare with alternatives like disassemble_hex or find_rop_gadgets_hex. No when-not-to-use or prerequisite information provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| value | No | ||
| length | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description bears full responsibility. It clearly explains the behavior: generating a De Bruijn sequence or searching for an offset. It mentions expected input formats (hex or ASCII). The tool is non-destructive and behaves as a calculation utility, so the transparency is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph with a bulleted argument list and return value note. It is clear and free of fluff, though slightly longer than necessary. The structure front-loads the main purpose and then details parameters, which is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (two modes, three parameters), the description is complete. It explains both actions, parameter roles, and return values. The presence of an output schema (not shown) further supports completeness. Context signals show this is a targeted exploitation tool, and the description fits well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate. It does so by explaining each parameter: action (create/offset), value (hex/ASCII string), length (pattern length or search range). This adds meaning beyond raw schema types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's two main actions: generate a cyclic pattern or find an offset. It compares it to Metasploit's pattern_create/pattern_offset, which immediately clarifies its purpose in binary exploitation. This distinguishes it from sibling tools that focus on disassembly or ROP gadgets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool: to determine EIP/RIP overwrite offset. It details the two actions and their arguments, providing clear context. While it doesn't explicitly state when not to use it, the purpose is narrow and well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It lists the security features checked but does not disclose whether the tool modifies files or requires special permissions. It is implied to be read-only, but this is not stated explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, listing features per format in bullet-point style. It contains no filler and front-loads the main purpose. Minor improvement could be more structured formatting, but it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter and existence of an output schema, the description adequately explains what the tool does and what it returns ('Security feature detection results'). It covers the essential information for a security checking tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds meaning beyond the schema. The schema only provides 'File Path' as a title, while the description specifies 'Absolute path to the binary file', clarifying the expected input format and nature.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks security features of a binary file, listing specific features for ELF, PE, and Mach-O formats. It uses a specific verb ('check') and resource ('binary file'), and distinguishes itself from sibling tools that focus on disassembly, ROP gadgets, or string extraction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is 'similar to the checksec tool', providing context for users familiar with that tool. However, it does not explicitly state when to use this tool over alternatives (e.g., for quick security assessment versus detailed analysis), nor does it specify when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Lists detected algorithms but doesn't state read-only nature, performance characteristics, or potential false positives. Adequate but incomplete for a scanning tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then enumerated algorithms, then clear Args/Returns sections. Every sentence adds value. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
One simple parameter, output schema exists, but description doesn't mention that the tool is non-destructive or any limitations (e.g., only first N bytes). Still sufficiently complete for a scanning tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has one param with no description. Description adds 'Absolute path to the file', which is critical information beyond schema. With 0% schema coverage, description compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb-resource pair: 'Scan a binary file for known cryptographic algorithm constants and signatures.' Distinguishes from sibling tools like extract_strings (strings) and analyze_code_flow (control flow).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use for binary file scanning, but no explicit guidance on when to use this vs siblings (e.g., extract_strings for strings) or when not to use (e.g., unsupported algorithms, large files). No alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| virtual_address | Yes | ||
| size | No | ||
| arch | No | ||
| max_instructions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains what the tool does and lists parameters, but lacks details on side effects, permissions, error conditions, or output format beyond a generic 'Disassembly output'. The description is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise docstring with Args and Returns sections. Purpose is front-loaded ('Disassemble code...'). Every sentence adds value, no fluff, well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and an existing output schema, the description covers all inputs and mentions return type. It does not detail error handling or file format expectations, but for a straightforward disassembly tool, it is sufficiently complete. An output schema exists, so return details are not mandatory in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It does so clearly: file_path as absolute path, virtual_address as hex string, size with default, arch auto-detected, max_instructions default. Adds context beyond the schema (e.g., 'Auto-detected if omitted' for arch).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool disassembles code at a specific virtual address in a binary file. The verb 'Disassemble' and resource 'code at a specific virtual address' are specific and distinguish from sibling tools like disassemble_entrypoint or disassemble_file_section.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. No mention of prerequisites, limitations, or when not to use it. Sibling tools exist for different addressing modes (e.g., entrypoint, raw offset), but this is not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| size | No | ||
| arch | No | ||
| max_instructions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses automatic entrypoint location and auto-detection of architecture, but does not mention error handling, file prerequisites, or side effects. Lacks some behavioral detail for a mutation-free tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise with a clear one-line purpose, followed by structured Args and Returns sections. Every sentence is informative and no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters and an output schema, the description covers purpose, parameters, and return value. However, it omits prerequisites like file existence or permission checks, and does not reference related tools. Still adequate for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, but the description's Args section fully explains each parameter's meaning, defaults, and behavior (e.g., arch auto-detection). This adds significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Disassemble code at the binary file's entrypoint' using a specific verb and resource. Among siblings like 'disassemble_at_address' and 'disassemble_file_section', it distinguishes itself by mentioning automatic location of the entrypoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for disassembling the entrypoint automatically but does not explicitly state when to use this tool versus alternatives like 'disassemble_at_address'. No exclusion criteria or alternative names are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| section_name | No | .text | |
| arch | No | ||
| max_instructions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses auto-detection of architecture, default section .text, max_instructions behavior, and that return includes file metadata. However, it omits potential error conditions or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a one-line purpose, bulleted Args, and a Returns line. Every sentence adds value; no redundant or missing content. Front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and presence of an output schema, the description covers purpose, parameters, and return format adequately. It lacks error handling or prerequisite conditions but is sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully explains each parameter: file_path (absolute path), section_name (default .text), arch (auto-detected), max_instructions (default 200, unlimited if 0). This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool disassembles a named section from binary files (PE/ELF/Mach-O). This specific verb-resource combination differentiates it from sibling tools like disassemble_at_address or disassemble_entrypoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus siblings. The description implies its use for named sections but does not contrast with other disassembly tools (e.g., disassemble_at_address, disassemble_entrypoint).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_code | Yes | ||
| arch | No | x86_64 | |
| base_address | No | 0 | |
| max_instructions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey all behavioral traits. It states the tool disassembles hex into assembly and returns formatted output. It does not disclose side effects, if any, but for a disassembly tool this is acceptable. However, it could mention that the operation is non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args and Returns sections, making it easy to parse. It is slightly verbose but every sentence adds value. The main purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (as per context signals), the description adequately explains the return format. All aspects of the tool are covered, including input formats, default values, and usage hints. It is complete for a disassembly tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds substantial meaning beyond the input schema: for hex_code it provides examples and notes spaces are auto-stripped; for arch it directs to list_supported_architectures; for base_address it gives a format example; for max_instructions it explains the 0 meaning. This compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'disassemble' and the resource 'hex-encoded byte string', with immediate clarification of input format. It distinguishes itself from sibling disassembly tools that operate on different inputs (e.g., at a memory address, entrypoint, or file section).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use this tool by specifying it handles hex-encoded byte strings and defaults to x86_64 architecture. However, it does not explicitly mention alternatives or when not to use it, leaving the agent to infer from the sibling tool list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| offset | Yes | ||
| size | No | ||
| arch | No | x86_64 | |
| base_address | No | ||
| max_instructions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It implies read-only behavior but does not explicitly state permissions, side effects, or limitations (e.g., file size, error handling). The return is mentioned but behavioral traits like idempotency are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a concise summary followed by properly formatted Args and Returns. It is efficient, though slightly longer than necessary. The first sentence immediately conveys the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 params, 2 required) and lack of annotations, the description covers the main functionality and parameters. It explains the key difference from a sibling. However, it omits mention of potential errors (e.g., invalid offset) and is not fully complete without assuming an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description's Args section adds meaningful context: offset as hex string, base_address defaulting to offset, default values for size and arch, and clarifications for each parameter. This compensates well for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads raw bytes at a file offset and disassembles them. It distinguishes itself from the sibling 'disassemble_at_address' by explicitly noting the use of raw file offset instead of virtual address.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by contrasting with disassemble_at_address and states it works on any file (not limited to PE/ELF). However, it does not offer exclusions or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_strings_from_fileA
Extract readable strings from a binary file (similar to the strings command).
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| min_length | No | ||
| encoding | No | both | |
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It mentions returning a list with offset and encoding info, which is helpful, but does not disclose error conditions, file size limits, or performance considerations. Adequate for a simple read-only extraction tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using a clear summary line followed by parameter explanations in a structured format (Args:). Every sentence adds value, and there is no redundant information. Well-suited for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, presence of an output schema (reducing need for return value explanation), and clear parameter documentation, the description is largely complete. Minor gaps like error handling do not detract significantly from overall completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining each parameter's purpose: file_path (absolute path), min_length (minimum string length), encoding (type with defaults and possible values), and max_results (limit). This adds significant meaning beyond the schema's bare titles and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts readable strings from a binary file, analogous to the `strings` command. This verb+resource combination is specific and distinguishes it from sibling tools that focus on disassembly, analysis, or other binary operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an analogy to the `strings` command but does not explicitly state when to use this tool versus alternatives. No guidance on when not to use it or which sibling tools address specific needs. Usage is implied by the function, but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_code | Yes | ||
| arch | No | x86_64 | |
| base_address | No | 0 | |
| max_gadget_len | No | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool returns a list of gadgets with addresses and instruction sequences, but does not disclose any behavioral traits like read-only nature, performance implications, or edge cases. It is adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, starting with a clear purpose sentence, followed by usage context, a parameter list, and return description. Every element is necessary and efficiently communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown but indicated), the description provides sufficient context: it explains what the tool does, what parameters are needed, and what is returned. The tool is simple, and the description covers all essential aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by explaining each parameter in the Args section, including defaults and types. This adds significant value beyond the bare schema, making the tool easy to use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching for ROP gadgets (instruction sequences ending with ret) in hex-encoded machine code, specifically for CTF Pwn challenges. The name 'find_rop_gadgets_hex' distinguishes it from siblings like 'find_rop_gadgets_in_file', which operate on files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions usage context ('Used for ROP chain construction in CTF Pwn challenges'), but does not explicitly state when not to use this tool or compare to alternatives. It implies that this is for hex-encoded code, but does not mention the file-based sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| section_name | No | .text | |
| arch | No | ||
| max_gadget_len | No | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only lists parameters and return type but does not mention side effects, performance implications, or prerequisites like file existence. The read-only nature is implied but not confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a clear purpose sentence followed by an Args and Returns section. It is concise but could be slightly more efficient by removing redundant listing of defaults already in schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, output schema present), the description adequately explains parameter meaning but lacks behavioral context (e.g., that it is resource-intensive) and does not detail the return format beyond 'List of ROP gadgets found'. The output schema may compensate, but its details are not visible here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries full burden. The docstring adds meaning for all five parameters (e.g., file_path is absolute, arch is auto-detected, defaults). This goes beyond the schema titles, providing necessary context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for ROP gadgets in a binary file's section. The verb 'Search' and resource 'ROP gadgets' are specific. However, it does not differentiate from the sibling 'find_rop_gadgets_hex', which likely operates on hex input instead of files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'find_rop_gadgets_hex' or other analysis tools. The usage context is implied by the parameters (file_path) but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_code | Yes | ||
| target_address | Yes | ||
| arch | No | x86_64 | |
| base_address | No | 0 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the types of references searched and return format. With no annotations, it does a good job but lacks details on error handling or constraints like maximum hex size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with a summary line followed by details. Every sentence adds value, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all inputs and return type. With an output schema present, it doesn't need to detail return values. Lacks error handling info but adequate for a tool with clear purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes a docstring with Args that explains each parameter (hex_code, target_address, arch, base_address) beyond the schema, which has 0% description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it finds cross-references to a target address in hex-encoded machine code, listing specific reference types (call, jump, etc.). This distinguishes it from siblings like find_xrefs_in_file which works on files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for hex machine code snippets but does not explicitly contrast with alternatives like disassemble_hex or analyze_code_flow. No when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| target_address | Yes | ||
| section_name | No | .text | |
| arch | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains that the tool scans a section for instructions referencing a target address, lists the reference types, and mentions returning a list with specific fields. It does not discuss side effects, read-only nature, or performance, but these are implicitly clear for a static analysis tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two paragraphs: first stating purpose and scanning details, then listing Args and Returns. It is front-loaded, every sentence adds value, and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's behavior, parameters, and return value adequately. It does not mention error cases or file existence requirements, but the presence of an output schema (as indicated by context) reduces the burden. Overall, it is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes an Args section that explains each parameter (e.g., file_path is absolute path, target_address is hex string, section_name defaults to .text, arch is auto-detected). This adds significant meaning beyond the schema's titles and types. Schema coverage is 0%, so the description compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('find') and resource ('cross-references in a binary file's section'), specifying the types of references (call, jump, immediate operand, memory displacement). It distinguishes itself from sibling tools like find_xrefs_hex (which likely operates on hex bytes) and disassemble tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: it is for finding cross-references to a target address in a file's section. However, it does not explicitly state when to prefer this tool over siblings or provide 'when not to use' guidance. It is adequate but lacks explicit context about alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description accurately states the action (get metadata) and output format (JSON), but with no annotations it misses behavioral details like file access requirements, potential errors, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and uses a summary followed by Args/Returns sections. The Args section is slightly redundant given the schema, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with an output schema, the description covers the main functionality and output format. It could mention error cases or prerequisites, but is generally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to the sole parameter 'file_path' by specifying 'Absolute path to the binary file,' which compensates for the schema's lack of description. Could be more precise but is clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a concrete verb ('Get') and resource ('detailed metadata of a binary file'), lists supported formats (PE/ELF/Mach-O) and example contents, clearly distinguishing it from sibling tools that focus on specific analysis tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for overall binary metadata but provides no explicit guidance on when to use this tool versus siblings like disassemble_entrypoint or analyze_code_flow, nor any conditions to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| offset | No | 0 | |
| length | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return format (address, hex values, ASCII) and parameter constraints (max length), but it does not explicitly state that the tool is read-only or that it has no side effects. This is a gap given the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a one-line purpose statement, bulleted args, and a returns line. Every sentence adds value, and it is front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool, the description covers input and output adequately. It could mention error handling or permissions, but given the presence of an output schema and sibling tools, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by explaining that file_path is absolute, offset is a hex string with default '0', and length has a max of 4096. With 0% schema description coverage, this compensation is valuable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'View file contents as a formatted hex dump,' which is a specific verb+resource combination. It clearly distinguishes from sibling tools that focus on disassembly, analysis, or security checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'disassemble_at_address' or 'extract_strings_from_file'. The description does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_supported_architecturesA
List all supported CPU architectures.
Returns available architecture identifiers for the 'arch' parameter used by disassemble_hex, disassemble_file_section, etc.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states it returns available architecture identifiers but does not disclose any side effects, permissions, or failure conditions. Basic transparency, not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main purpose, followed by contextual usage. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and an output schema, the description provides sufficient information: purpose and how its output is used. Complete for the given context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in input schema, so schema description coverage is 100%. Description does not need to add parameter info; baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all supported CPU architectures and specifies that the identifiers are for the 'arch' parameter used by other disassembly tools. This distinguishes it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: call to get available architectures for other tools. It does not explicitly state when not to use or provide alternatives, but given its simple nature, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_code | Yes | ||
| arch | No | x86_64 | |
| base_address | No | 0 | |
| mnemonic | No | ||
| group | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates it returns a list of matching instructions and lists parameters with defaults. No annotations are provided, so the description carries full burden; it lacks details on side effects, error handling, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core purpose, and uses bullet points for arguments and returns. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the existence of an output schema, the description covers purpose, all important parameters with defaults, and return type. It could mention acceptable arch values or group enum options explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains each parameter (e.g., hex_code as hex-encoded bytes, mnemonic for partial match). This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for instructions matching a pattern in disassembled code, with filtering by mnemonic or group. This differentiates it from sibling tools like disassemble_at_address or search_instructions_in_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the primary use case (searching for instruction patterns in hex code) and lists filter options. However, it does not explicitly contrast with siblings or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| section_name | No | .text | |
| arch | No | ||
| mnemonic | No | ||
| group | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only mentions the return type ('List of matching instructions') without covering side effects (e.g., read-only nature, no file modification) or potential errors. Minimal disclosure beyond purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is in a clear docstring format with Args and Returns sections. It includes all parameters but could be slightly more concise. Front-loaded with the core purpose sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and an output schema, the description covers parameter semantics and returns but lacks usage context (e.g., when to use vs siblings, error conditions, prerequisites). The output schema exists but the description explains the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds substantial meaning: defines file_path as absolute path, section_name defaults to .text, arch as auto-detected, mnemonic for partial match, and group options (call, jump, ret, interrupt). This far exceeds the schema's bare properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for instructions matching a pattern in a binary file's section' with a specific verb ('Search') and resource ('instructions in a binary file's section'). This distinguishes it from sibling tools like 'search_instructions' (likely without file context) and disassembly tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains parameters and defaults (e.g., 'arch: CPU architecture. Auto-detected if omitted') but does not explicitly state when to use this tool versus alternatives like search_instructions or disassemble_file_section. No direct comparison or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | x86_64 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that it returns a 'complete syscall table' and takes a platform parameter. It does not mention authentication or side effects, but as a read-only listing, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and well-structured with a heading and bullet list. Every sentence adds value, no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single optional parameter and the presence of an output schema, the description adequately explains the return value ('Complete syscall table for the platform'). No further detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains the 'platform' parameter with allowed values ('x86, x86_64/x64, arm/arm32, arm64/aarch64') and a default ('x86_64'), adding significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all system calls for a given platform,' specifying the verb 'list' and the resource 'system calls.' It distinguishes from sibling tool 'syscall_lookup' which presumably looks up a specific syscall.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a platform is given, but does not explicitly guide when to use this tool versus alternatives like syscall_lookup. No exclusions or when-not-to-use instructions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| platform | No | x86_64 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It correctly implies read-only behavior and describes return format, though could mention error handling or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, well-structured with clear sections for args and returns. No wasted words, front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, description sufficiently covers return info (number, name, arguments). For a simple lookup tool, this is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds significant meaning beyond schema: explains query can be number or name, supports partial match, and lists platform alternatives with default. Schema coverage was 0%, so description compensates fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool looks up Linux system call information by number or name, distinguishing it from siblings like syscall_list which likely lists all syscalls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on query types (number or name, partial match) and platform selection, but does not explicitly compare to sibling tools or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_data | Yes | ||
| min_printable_ratio | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions ranking by printable ratio and returns candidates sorted by ratio, but does not disclose what happens if no key works, performance implications, or boundary conditions. The brute-force process (trying all 256 keys) is implied but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with three short paragraphs: a clear purpose line, context, and structured args/returns. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (which likely details the return structure), the description adequately covers return behavior by saying 'Candidate decryption results sorted by printable ratio.' Parameter explanations are sufficient for a low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description effectively explains both parameters: hex_data is 'Hex-encoded ciphertext data' and min_printable_ratio is 'Minimum printable character ratio threshold' with a default value. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states its purpose with a specific verb-resource pair: 'Brute-force single-byte XOR decryption, ranked by printable character ratio.' This distinguishes it from sibling tools like xor_encode_decode which likely requires a known key.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('Commonly used in CTF to decrypt simple XOR-encrypted flags or strings') but does not explicitly state when not to use this tool or compare it to alternatives. No exclusion criteria or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex_data | Yes | ||
| hex_key | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Notes multi-byte key cycling and returns hex with ASCII preview, which adds context beyond basic description. However, no annotations are provided, and the description does not mention error handling, side effects (or lack thereof), or the symmetric nature of the operation. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear purpose statement followed by parameter and return details. No unnecessary information, but could be slightly more compact without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters, the description covers inputs and output format. Absence of an output schema in the provided data is compensated by the description of return type. Still, could mention constraints like valid hex inputs or behavior with invalid data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds value beyond the empty schema descriptions by explaining each parameter's purpose and the key's cyclic behavior. Could be improved by specifying hex format requirements (e.g., valid hex characters, case sensitivity).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the operation (XOR encode/decode) and the resource (data with a key). The description is specific, but it does not explicitly differentiate from sibling tool 'xor_brute_force' which might be used for unknown key brute forcing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like xor_brute_force. No mention of prerequisites, when not to use, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, but there are several disassembly variants (hex, address, entrypoint, section, raw offset) that could cause confusion despite clear descriptions. A minor overlap exists.
All tool names follow a consistent verb_noun snake_case pattern (e.g., disassemble_hex, check_security, find_xrefs_in_file). No mixing of conventions.
25 tools is on the higher side but justified given the breadth of binary analysis (disassembly, ROP, crypto, security checks, etc.). Each tool has a clear role, so it's not excessive.
The set covers a wide range of static analysis tasks: disassembly, binary info, security, crypto, strings, ROP, xrefs, syscalls, XOR. Minor gaps like hex editing or patching are missing, but core workflows are well-covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA multi-backend MCP server that exposes binary analysis capabilities from IDA Pro and Ghidra, allowing LLMs to directly drive reverse-engineering tools via natural language.140Apache 2.0
- AlicenseNot gradedqualityAmaintenanceAn enterprise-grade MCP server for AI-powered reverse engineering. Enables AI agents to perform comprehensive binary analysis through natural language commands.194MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that provides disassembly and reverse engineering capabilities via the Capstone framework, supporting multiple architectures.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server providing LLM clients with structured, transaction-safe access to Hopper-derived reverse-engineering snapshots, enabling binary analysis without the disassembler in the model's context window.1MIT
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