MCP server for analyzing mobile game binaries via Ghidra decompilation. Hunts for coin/currency-related classes in Il2CppDumper metadata, decompiles methods, and generates analysis prompts for Claude.
Two tools with minimal schema documentation and generic descriptions. decompile_function has a single string parameter with basic description; list_functions has empty input schema. Neither tool documents output structure, error handling, or recovery guidance. Descriptions lack context on when to use each tool or what they return. No parameter validation rules, no error classification, no idempotent hints. Tool names follow verb_noun pattern (positive), but definitions fall well short of production baseline (194 char avg description, 100% param documentation in A+ tools).
Decompile a function by name via GhidraMCP. Takes a function name (typically in ClassName$$MethodName format) and returns decompiled C code.
List all functions in the loaded binary. Returns function names one per line, grouped by IL2CPP class prefix.
list_functions has empty input schema (no parameters documented). Tool is discoverable but provides no guidance on constraints or options.
No output schemas documented for either tool. LLMs cannot plan downstream calls or extract required fields. decompile_function returns 'decompiled C code' (unstructured); list_functions returns 'function names one per line' (unstructured text). Both violate response-shaper pattern.
Descriptions are generic and lack actionable context. decompile_function (89 chars) does not explain when to call it vs list_functions, what format the function name must be, or what happens on failure. list_functions (95 chars) does not explain the output structure or how to use results. Both fall below 194-char baseline for A+ tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If decompile_function fails (e.g., function not found, Ghidra bridge unavailable), the tool provides no actionable error message or next steps. Violates recovery-guide pattern.
decompile_function parameter 'name' lacks validation rules. Description does not specify format constraints (e.g., 'ClassName$$MethodName'), length limits, or what happens if format is wrong. LLMs will guess and pass invalid values.