Local MCP server that exposes tools/TOOLS.md as searchable agent context.
Five read-only tools with complete JSON schemas and reasonable descriptions (avg 95 chars). All tools have proper input schemas with type constraints and descriptions. Naming follows verb_noun pattern (read_, search_, list_, get_, route_). However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs alternatives. No output schemas documented. Error handling is minimal, tools return plain text rather than structured recovery guidance. No parameter descriptions for optional fields (e.g., context_lines, case_sensitive). Missing idempotency hints and chaining metadata.
Return a TOOLS.md section by Markdown heading title.
List Markdown headings in TOOLS.md with line numbers.
Read a bounded line range from the workspace tools/TOOLS.md routing guide.
Use TOOLS.md headings and search hits to suggest where an agent should look for a task.
Case-insensitive substring search over TOOLS.md with line-numbered context.
No output schema documentation. Tools return unstructured text (toolText format) with no declared field structure. LLMs cannot plan downstream calls or extract structured data reliably.
Descriptions lack LLM-optimized guidance on tool selection. No explanation of WHEN to use search_tools_md vs list_tools_md_sections vs get_tools_md_section. Generic descriptions like 'List Markdown headings' do not help agents disambiguate.
Optional parameters lack descriptions. context_lines, case_sensitive, min_level, max_level, max_sections, max_lines, max_hits have no guidance on defaults or typical values. LLMs must guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Error handling returns plain text ('No matches for: X', 'No section heading matched: Y') with no recovery guidance. Per pattern:recovery-guide, errors should suggest next steps (e.g., 'Try search_tools_md with a broader query').
route_task_with_tools_md description is vague ('suggest where an agent should look'). Does it return a ranked list? A single recommendation? Structured JSON or text? Ambiguous descriptions force LLMs to guess tool behavior.