Production-ready Model Context Protocol (MCP) Server for Development & Analysis
Two tools with basic schemas and minimal descriptions. analyze_project_structure has a proper input schema with typed parameters and descriptions, but get_toolkit_version lacks parameter descriptions (empty properties object). Both tool descriptions are under 100 chars and lack context on WHEN to use them or WHAT they return. No output schemas documented. No error handling guidance. No parameter constraints (e.g., max_depth bounds). Naming is acceptable (verb_noun pattern) but descriptions are too terse to guide LLM selection effectively.
Scans local repository structure, directories, and file counts.
Returns current version and status of MCP Agent Toolkit.
Tool descriptions lack context on WHEN to use and WHAT is returned. 'Scans local repository structure...' does not explain when an agent should call this vs. other discovery tools, or what the output structure contains.
No output schemas documented. LLMs cannot plan downstream tool calls or extract data without knowing the response structure. analyze_project_structure returns a tree dict; get_toolkit_version returns a version string, neither is formally specified.
Parameter max_depth lacks bounds and validation guidance. No minimum/maximum specified; LLMs could pass negative or absurdly large values. Should state '1-10' or similar constraint in description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Error handling is minimal. handle_tool_call returns isError=true for unknown tools, but does not guide the LLM on recovery. No actionable error messages for invalid paths, permission errors, or depth violations.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are read-only and idempotent, marking them as such helps agents reason about safety and retry logic.