Ejemplos prácticos del Model Context Protocol (MCP): servidores, clientes e integraciones con LLMs en TypeScript, Python y Go.
Scoring was not performed
Multiple tools completely lack descriptions, making them undiscoverable to LLMs. Tools 'random-quotes', 'person-properties', 'got_quotes_analysis', and 'code_review' have no description text at all.
Tool naming is inconsistent and violates verb-first convention. 'random-quotes' and 'person-properties' use hyphens and nouns instead of verb_noun pattern. 'got_quotes_analysis' is vague, what kind of analysis? These names provide zero action guidance.
Parameter descriptions are sparse. Many parameters in basic server (get_random_quotes, calculate, code_review) have null descriptions. LLMs cannot infer parameter meaning from names alone.
No output schemas are documented for any tool. LLMs cannot plan downstream tool chaining or extract relevant fields when they don't know the response structure.
Error handling is minimal and non-actionable. Errors return generic 'Error: <message>' without guidance on recovery. Example: code_review tool has no visible error handling strategy; get_random_quotes has basic validation but no recovery hints.
TODO tools use non-standard naming convention (hyphen-separated PascalCase like 'TODO-Create' instead of verb_noun like 'create_todo'). Inconsistent with other tools in the server.
The 'get_random_quotes' parameter 'count' lacks a description (null), making it unclear to LLMs what valid values are. Description should include min/max bounds and default behavior.
Tool 'calculate' has parameters 'a', 'b', 'operation' with null descriptions. The enum constraint for 'operation' is defined in schema but not explained in a description that LLMs can read.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 0 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |