Files
John Smith 3a856ccd59 chore(servers): register Tier 3 server entries
- .mcp.json: re-vtil (13th), re-speakeasy (14th), re-angr (15th)
  with ${RE_*_CLI_PATH} env overrides
- install.sh: vtil-cli cmake build (Tier 3, optional),
  speakeasy-emulator pip install, angr pip install
- scripts/check_deps.py: shared _check_optional_helper +
  check_re_vtil / check_re_speakeasy / check_re_angr (WARN when
  the sub-binary is missing)
- tests/test_plugin_manifest.py: asserts all three are declared
- tests/test_servers_import.py: expected-tools list extended
- tests/test_re_vtil_smoke.py: 6 smoke tests for the vtil-cli
  stub (check / lift / lift-bad-base64 / optimize round-trip /
  emit / unknown-subcommand)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 23:48:00 -04:00

179 lines
4.1 KiB
JSON

{
"mcpServers": {
"re-rizin": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-rizin",
"run",
"re-rizin"
],
"env": {
"RIZIN_PATH": "${RIZIN_PATH:-rizin}",
"RZ_BIN_PATH": "${RZ_BIN_PATH:-rz-bin}"
}
},
"re-capa": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-capa",
"run",
"re-capa"
],
"env": {
"CAPA_PATH": "${CAPA_PATH:-capa}"
}
},
"re-lief": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-lief",
"run",
"re-lief"
]
},
"re-llm-decompile": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-llm-decompile",
"run",
"re-llm-decompile"
],
"env": {
"LLM_DECOMPILE_ENDPOINT": "${LLM_DECOMPILE_ENDPOINT:-http://localhost:11434/v1}",
"LLM_DECOMPILE_MODEL": "${LLM_DECOMPILE_MODEL:-llm4decompile}",
"LLM_DECOMPILE_API_KEY": "${LLM_DECOMPILE_API_KEY:-}"
}
},
"re-mitm2swagger": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-mitm2swagger",
"run",
"re-mitm2swagger"
],
"env": {
"MITM_ADDON_PATH": "${MITM_ADDON_PATH:-}"
}
},
"re-kaitai": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-kaitai",
"run",
"re-kaitai"
],
"env": {
"KAITAI_COMPILER": "${KAITAI_COMPILER:-kaitai-struct-compiler}"
}
},
"re-gdb": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-gdb",
"run",
"re-gdb"
],
"env": {
"GDB_PATH": "${GDB_PATH:-gdb}",
"GEF_PATH": "${GEF_PATH:-}"
}
},
"re-triton": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-triton",
"run",
"re-triton"
]
},
"re-il2cpp": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-il2cpp",
"run",
"re-il2cpp"
]
},
"re-winedbg": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-winedbg",
"run",
"re-winedbg"
],
"env": {
"WINEDBG_PATH": "${WINEDBG_PATH:-winedbg}",
"WINE_PATH": "${WINE_PATH:-wine}",
"WINESERVER_PATH": "${WINESERVER_PATH:-wineserver}"
}
},
"re-dotnet": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-dotnet",
"run",
"re-dotnet"
],
"env": {
"RE_DOTNET_CLI_PATH": "${RE_DOTNET_CLI_PATH:-${CLAUDE_PLUGIN_ROOT}/servers/re-dotnet/bin/re-dotnet-cli}"
}
},
"re-leak-scan": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-leak-scan",
"run",
"re-leak-scan"
]
},
"re-vtil": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-vtil",
"run",
"re-vtil"
],
"env": {
"RE_VTIL_CLI_PATH": "${RE_VTIL_CLI_PATH:-${CLAUDE_PLUGIN_ROOT}/servers/re-vtil/bin/vtil-cli}"
}
},
"re-speakeasy": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-speakeasy",
"run",
"re-speakeasy"
],
"env": {
"RE_SPEAKEASY_CLI_PATH": "${RE_SPEAKEASY_CLI_PATH:-${CLAUDE_PLUGIN_ROOT}/servers/re-speakeasy/bin/speakeasy-cli}"
}
},
"re-angr": {
"command": "uv",
"args": [
"--directory",
"${CLAUDE_PLUGIN_ROOT}/servers/re-angr",
"run",
"re-angr"
],
"env": {
"RE_ANGR_CLI_PATH": "${RE_ANGR_CLI_PATH:-${CLAUDE_PLUGIN_ROOT}/servers/re-angr/bin/angr-cli}"
}
}
}
}