MCP server for digital twin RAG queries - allows querying a professional profile (skills, experience, projects, education) using RAG-powered search
Single tool with adequate naming and clear description, but missing critical elements for production quality. The tool has a verb-noun name ('query_digital_twin') that clearly signals its action, and a reasonably scoped description (127 chars, within the 10-1024 char baseline). However, the input schema is minimal (single required parameter with basic type), output schema is completely undocumented, no error handling guidance is present, and no tool annotations (readOnlyHint, etc.) are implemented. The implementation at mcp-server/app/api/mcp/route.ts shows proper JSON-RPC 2.0 request handling and tool registration, but lacks the depth expected for a production-grade agent tool. The tool operates on a single parameter without pagination, limits, or result structure documentation.
Ask questions about your professional background, experience, skills, and career using RAG-powered search
Output schema is not documented. The tool returns text responses but provides no schema documentation of what structure, fields, or data format the LLM should expect, violating pattern:tool requirement for documented return types.
Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint). Per the 2026-07-28 spec, tools should declare their safety characteristics. This tool is READ_ONLY but does not advertise this via proper annotation, forcing LLMs to infer safety from the description alone.
No error handling guidance. Error responses (e.g., missing 'question' parameter) return JSON-RPC error codes (-32602, -32000) with minimal context. Pattern:recovery-guide requires that errors tell the LLM what to do next, not just codes.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 58 | 2024-11-05+ | v1 |
Single parameter schema lacks actionable constraints. The 'question' parameter has no minLength, maxLength, pattern, or examples in the schema definition. Per pattern:constrained-input, all string parameters should declare length bounds or format constraints to prevent hallucinated invalid inputs.
No pagination support despite using RAG queries, which could return large result sets. Pattern:paginated-result recommends limit and offset/cursor parameters even for single-result tools, with documentation of result limits. Current design does not restrict response size.
Parameter description is generic. 'Question about your professional background, skills, experience, projects, or education' explains the domain but does not specify format expectations (open-ended text? max chars? preferred phrasing?) or when this tool should be selected over alternatives (if any existed).