aptu-coder is a read-only code analysis tool with 4 well-named, verb-prefixed analysis tools. Tool names are clear and action-oriented (analyze_*). All tools have descriptions (34-97 chars), which meet minimum length requirements. All 4 tools have documented input schemas with proper JSON Schema types and constraints. However, descriptions are concise but lack depth on WHEN to use each tool vs. alternatives, typical use patterns, and dependencies. Parameters are well-typed with enums where appropriate (mode, match_mode). No parameter descriptions are missing, which is excellent. Output schemas are not documented in the source code provided, the response format for each tool is not visible, which is a critical gap for agent planning. Error handling is present but minimal; no recovery guidance is evident. Overall, this server has solid fundamentals (naming, parameter typing, enum constraints) but lacks the polish needed for A-grade: missing output schema documentation, brief descriptions that don't guide agent selection, and no error recovery guidance.
Analyze directory structure and extract code organization overview
Analyze a single file for semantic structure including functions, classes, and imports
Lightweight analysis to build index of module-level symbols and their locations
Analyze call graph and dependencies for a specific symbol across codebase
Output schemas not documented in source. No visibility into what fields/structure each tool returns. Agents cannot plan downstream operations or extract needed data without experimenting.
Tool descriptions are too brief (34-97 chars, median ~70). They state WHAT the tool does but omit WHEN to use it, how it differs from similar tools, and typical workflows. Examples: 'analyze_directory' vs 'analyze_module' distinction is unclear; 'analyze_symbol' does not explain follow_depth or def_use semantics.
No error recovery guidance. No examples of failure modes, missing prerequisites, or suggested next steps. A user seeing 'AST parsing failed' or 'symbol not found' has no guidance on how to recover.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Parameter descriptions lack context. 'ast_recursion_limit' has a description but does not explain what happens when the limit is hit or how to choose a value. 'match_mode' (exact|prefix|substring) lacks examples of when each mode is appropriate.
No pagination or limit enforcement documented for result-returning tools. 'analyze_directory' with max_depth could return thousands of files, how many does it cap at? Does it support offset/cursor for large codebases?