r2ai-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| R2AI_BASEURL | No | Base URL of the R2AIBridge server | http://127.0.0.1:5050 |
| R2AI_TIMEOUT | No | Timeout in milliseconds for requests to R2AIBridge | 30000 |
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 | {} |
| prompts | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| r2_open_fileA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🚪 [会话管理] 打开二进制文件。默认执行基础分析 (a) 以快速识别函数。注意:对于大型文件 (>10MB),强烈建议将 auto_analyze 设为 false 以免超时。如需深度分析,可后续调用 r2_analyze_file 或使用 r2_run_command 执行 'aa'。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_analyze_fileA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】⚡ [深度分析] 一次性执行深度分析 (aaa) 并自动释放资源。支持复用现有 session_id 或根据文件路径查找会话。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使 用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_run_commandB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】⚙️ [通用命令] 在指定会话中执行任意 Radare2 命令。支持所有 r2 命令。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_list_functionsB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】📋 [函数分析] 列出二进制文件中的已识别函数。使用 'afl' 命令。可通过 filter 过滤函数名,防止输出过多。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_list_stringsB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】📝 [逆向第一步] 列出二进制文件中的字符串。通过配置 bin.str.min 进行底层过滤,提高大文件分析性能。 【 触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_get_xrefsC | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🔗 [逻辑追踪必备] 获取指定地址/函数的交叉引用。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_get_infoB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】ℹ️ [环境感知] 获取二进制文件的详细信息。包括架构(32/64位)、平台(ARM/x86)、文件类型(ELF/DEX)等。帮助 AI 决定分析策略。 【触发场景】当用户询问 二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_decompile_functionB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🔍 [代码分析] 反编译指定地址的函数为伪代码。使用 'pdc' 命令,将汇编代码转换为类 C 语言的可读代码。 【触发场景 】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_disassembleA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】📜 [汇编分析] 反汇编指定地址的代码。使用 'pd' 命令显示汇编指令。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_close_sessionC | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🔒 [会话管理] 关闭指定的 Radare2 会话。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_analyze_targetA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🎯 [智能分析] 执行特定的 Radare2 递归分析策略。请根据分析需求选择最轻量级的策略,避免盲目使用全量分析。 策略说明:
|
| r2_manage_xrefsB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🔗 [交叉引用管理] 管理代码和数据的交叉引用(Xrefs)。用于查询'谁调用了函数'、'字符串在哪里被使用',或手动修复缺失的引用关系。 操作类型说明:
|
| r2_config_managerB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】⚙️ [配置管理] 管理 Radare2 的分析与显示配置 (eval variables)。 当分析结果不理想、函数截断或需要深度分析时使用。 关键配置参考:
|
| r2_analysis_hintsA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🔧 [分析提示] 管理分析提示 (Analysis Hints)。用于手动修正 R2 的分析错误,或优化反汇编显示。 当反汇编结果看起来不对(如代码被当成数据)、立即数格式难以理解(如需要看 IP 地址/十进制)、或控制流中断时使用。 操作说明:
|
| os_list_dirA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】📁 [文件目录] 列出目录内容。能力:自动识别并使用 Root 权限。 技巧:如果不确定 Native 库位置,请先列出 '/data/app/' 目录,找到对应的包名目录(通常包含随机字符),进入后再找 'lib' 目录。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| os_read_fileB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】📄 [文本读取] 读取文件的文本内容 (基于 cat)。 ⛔ 警告:严禁读取二进制文件 (如 .so, .db, .apk, .dex, .png),会导致输出乱码甚至服务崩溃!二进制文件请务必使用 r2_open_file 进行分析。 特性:自动 Root 提权,自动截断超大文件 (>50KB),适合读取 xml/json/yaml/conf 等配置文件。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执 行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| termux_commandB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】💻 [Shell] 在 Termux 环境中执行系统命令 (Python, Node, Curl, SQLCipher 等)。 环境:已自动注入 PATH 和 LD_LIBRARY_PATH,可直接运行 'python script.py'。 权限:
|
| termux_save_scriptB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】💾 [编程] 将代码保存到 AI 专属沙盒目录 (/data/data/com.termux/files/home/AI)。 特性:自动创建目录、自动赋予执行权限 (+x)、自动修正文件所有者。 用法:保存后,立即使用 termux_command('python filename.py') 运行 。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| sqlite_queryB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🗄️ [数据库] 使用系统内置 sqlite3 工具执行 SQL 查询。支持 Root 权限,可直接读取 /data/data 下的私有数据库。请务必使用 LIMIT 限制返回行数,防止输出过大。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| r2_testC | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🧪 [诊断工具] 测试 Radare2 库是否正常工作。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| read_logcatC | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】📝[Logcat]读取Android系统日志。用于分析崩溃堆栈、调试 Patch 结果或监控应用行为。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| rename_functionA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🏷️[智能重命名函数]当你分析出某个函数的具体用途或函数功能时(例如:加密、登录验证、初始化),请务必调用此工具将其重命名,操作会自动持久化保存到本地知识库。以便在后续分析或重启会话后保留上下文。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| simulate_executionA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🧪[模拟执行]在 ESIL 沙箱中模拟执行代码。用于在 不运行 App 的情况下计算函数返回值、解密字符串或分析寄存器变化。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关 问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| add_knowledge_noteA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】📝[添加笔记]向持久化知识库添加笔记。用于记录关键发现(如密钥、算法原理、重要结构体成员)。这些笔记会在下次打开文件时自动加载并展示给你,防止信息丢失。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| batch_decrypt_stringsB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🔐 [批量解密] 批量解密字符串,批量模拟执行并提取结果。专为对抗混淆 (OLLVM) 和自定义算法设计。 核心能力:
|
| scan_crypto_signaturesB | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🔍 [侦察] 扫描二进制文件中的密码学常量(Magic Numbers)。 用于快速定位加密算法的位置。例如:自动发现 AES S-Box, RSA Keys, MD5/SHA 常量等。 建议在分析未知的加密函数前先运行此工具。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| apply_hex_patchA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai 逆向工具】🔨 [修改指令] 对指定地址应用二进制 Patch (修改指令)。 用于绕过校验、修改返回值等。例如:将 '1a000034' (CBZ) 修改为 '1f2003d5' (NOP)。 ⚠️ 警告:此操作会直接修改内存/文件。如果不确定,请先使用模拟执行测试。 【触发场景】当用户询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调 试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
| find_jni_methodsA | [Binary/reverse-engineering tool. Use when: disassembly, radare2, r2, debugging, vulnerability research, ELF/PE/SO/DEX analysis.] 【r2ai逆向工具】🔗 [JNI] 列出所有的 JNI 接口函数。 这是 Android 逆向的入口点。它会搜索静态导出的 'Java_' 符号以及 'JNI_OnLoad' 函数。 找到这些函数后,你通常应该从这里开始分析。 【触发场景】当用户 询问二进制逆向分析、反汇编、漏洞挖掘、radare2命令执行、调试相关问题时,必须优先调用此工具。 【使用规则】调用前必须确认用户提供了目标文件的绝对路径,禁止捏造不存在的文件路径或命令结果,session_id 不再使用时必须关闭。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| r2ai-help | r2ai 系统提示:指导 AI 优先使用 r2ai 工具完成二进制逆向分析(Binary reverse-engineering system prompt for r2ai tools) |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 28 tools
Most tools have clear individual purposes, but there are overlapping boundaries: r2_get_xrefs duplicates the list operations of r2_manage_xrefs, r2_analyze_target and r2_analyze_file both perform analysis, and generic escape hatches like r2_run_command and termux_command cover many specialized actions. The detailed descriptions help, but an agent could still misselect among the analysis and xref tools.
Tool names are readable and mostly follow a verb_noun style, but the conventions are mixed: r2_, os_, and termux_ prefixes are inconsistent, and several names like r2_config_manager, r2_analysis_hints, sqlite_query, and r2_test are noun-style rather than action-style. There is no chaotic case mixing, but the set is not predictable enough for a high consistency score.
At 28 tools, the server exceeds the 25-tool threshold and feels heavy, especially since several specialized tools overlap or could be expressed through r2_run_command. The broad reverse-engineering and Android environment scope justifies some breadth, but this could be consolidated into a tighter, more coherent toolset.
The toolset covers the main binary-analysis lifecycle: open, analyze, disassemble, decompile, list functions/strings, inspect xrefs, patch, simulate, rename, annotate, and close, plus useful Android/Termux helpers like sqlite and logcat. Minor gaps exist, such as no explicit session listing, generic file-write, or undo/revert patch tool, but r2_run_command and termux_command provide reasonable workarounds.