Single tool 'hashid_scan' has a basic description but critically lacks parameter descriptions and output schema documentation. The tool name is acceptable (verb_noun form) but the input schema is minimal, only 'target' with a generic string type and no format constraints. No output schema is documented, forcing LLMs to guess the response structure. Error handling is absent. The implementation is visible in hashid/mcp_server.py but the tool definition is inferred from the @app.tool() decorator rather than explicitly registered with full metadata.
Identify hash types and estimate crack cost/feasibility. Returns JSON findings.
No output schema documented. LLMs cannot predict response structure (fields, types, nesting). Forces guessing and increases hallucination risk.
Parameter 'target' lacks description. LLMs cannot infer what format is expected (raw hash string? file path? hash type prefix?). Violates pattern:tool-description.
No input validation or constraints. 'target' accepts any string with no length limits, format hints, or examples. Invites invalid input from LLMs.
No error handling guidance. Tool description does not explain failure modes (invalid hash, timeout, unsupported type) or recovery steps.
Tool definition inferred from decorator, not explicitly registered with full metadata.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |