High-quality Rust SDK for Model Context Protocol (MCP) with full TypeScript SDK compatibility
Scoring was not performed
Five tools missing descriptions entirely (greeting, process_text, validate_input, summarize, analyze_text). This violates the critical requirement that every tool must have a non-empty description for LLM selection. LLMs cannot determine when to use these tools.
Three duplicate 'calculator' tools (#1, #8, #9) with inconsistent schemas and descriptions. Tool #1 uses enum Operation, #8 uses string operation, #9 describes operations as 'add, subtract, multiply, divide'. This creates ambiguity for LLM selection and appears to be incomplete deduplication from examples.
No output schemas documented for any tool. LLMs cannot plan downstream tool calls or extract required data without knowing response field structure. This violates the requirement to 'document the output schema'.
file_operation tool accepts 'Delete' operation but no error handling guidance for destructive actions. Tool description does not warn that this operation is irreversible or require confirmation.
call_backend_api tool description mentions 'OAuth authentication' but no scope declarations or permission gates are documented. Unclear what permissions the tool requires or how secrets are managed.
Parameter descriptions are minimal (averaging ~50 chars). Many lack constraint information (e.g., process_text 'operation' enum values not described, validate_input 'age' constraint '18-120' not in schema description).
file_operation's 'content' parameter is required but only applicable to 'Write' operations. Parameter relationships are not documented, leaving LLMs to guess which params are conditionally required.
search tool accepts 'query' as a free-form string with no format constraints or examples. No guidance on partial matches, special characters, or case sensitivity.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 0 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |