A Rust-based MCP server for file analysis with automatic encoding detection, code outline extraction, file inspection, and hex dump reading capabilities
Four read-only file analysis tools with basic schemas and descriptions. All tools have input schemas with type definitions and descriptions present. However, descriptions are minimal (10-20 chars baseline), parameter descriptions lack actionable detail (e.g., 'File path to read' vs 'Absolute or relative file path; must be readable by the process'), and output schemas are completely undocumented. No error recovery guidance. Tools follow verb_noun naming (safe_read, get_outline, inspect_file, read_hex) but lack composition hints and chaining IDs. No tool annotations (readOnlyHint present in metadata but not in schema). Baseline: avg tool description ~15 chars (well below 194-char production baseline); zero output schema documentation.
Extracts a high-level outline of the file (functions, classes, etc.) using Tree-sitter.
Provides detailed file metadata and optional keyword search with context.
Reads a file and returns a traditional hex dump format.
Reads a file with automatic encoding detection.
Output schemas completely undocumented. LLMs cannot plan downstream operations or extract structured data from responses. All four tools return text content but no schema defines the structure, format, or fields.
Tool descriptions are 10-20 characters, far below 194-char production baseline. Descriptions lack WHEN to use, prerequisites, and return value hints. E.g., 'Reads a file with automatic encoding detection' does not explain when to prefer safe_read over read_hex or what encoding formats are supported.
Parameter descriptions lack actionable constraints. 'File path to read' does not specify: absolute vs relative, max length, allowed characters, or what happens if path is invalid. 'Optional byte range [start, end]' does not explain units (bytes? lines?) or bounds.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
No error recovery guidance. Error responses in code (e.g., 'エラーが発生しました') are in Japanese and provide no actionable next steps. LLM cannot determine if error is retryable, user-fixable, or fatal.
No tool composition hints. Tools do not document which outputs feed into which inputs. E.g., get_outline returns function names but does not indicate if safe_read can use those names as parameters, or if inspect_file search_query accepts outline results.