MCP server for ARM reverse engineering and deobfuscation with Triton.
triton-mcp has 17 tools with basic descriptions and parameter schemas, but significant gaps limit production readiness. All tools have descriptions (10-100 chars, mostly adequate), and most parameters include type and description. However, output schemas are undocumented, LLMs cannot predict return structures. Error handling is minimal; no recovery guidance or actionable error messages. Tool naming is verb-forward (lift_, detect_, recover_) but some names are domain-specific jargon ('lift_block', 'slice_symbolic') that may confuse general-purpose agents. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Parameter descriptions lack format constraints, ranges, and examples. The server is functional but falls short of production-grade quality.
Run full deobfuscation and patching pipeline.
Apply in-session patch manifest transactionally.
Capture trace events using built-in Frida adapter.
Close and delete an analysis session.
Detect obfuscation patterns in loaded session.
Return concise explanation for stored findings.
Import normalized trace events from a JSON file.
No output schemas documented. LLMs cannot predict return structures or plan downstream tool calls. E.g., lift_block returns a dict but structure is opaque.
Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk levels are assigned but not exposed to the MCP protocol, limiting agent safety.
Parameter descriptions lack format constraints and ranges. E.g., 'timeout_sec' has no min/max; 'address' has no format hint (hex vs decimal); 'arch' has no enum.
Domain-specific jargon in tool names ('lift_block', 'slice_symbolic', 'recover_cfg') may confuse general-purpose agents unfamiliar with reverse engineering.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
Lift an instruction block from the loaded target.
List stored patch transactions.
Load and validate an ELF target into a session.
Recover lightweight CFG from trace in session.
Rollback a patch transaction file.
Simplify an MBA-style expression.
Return trace slice for a target register.
Create an analysis session.
Generate patch manifest from detected findings.
Validate in-session patch manifest against current target.
No error recovery guidance. Tools raise ValueError or generic exceptions without actionable messages. E.g., 'load_binary must be called first' is good, but most tools lack this.