Servidor MCP sobre NIST SP 800-53 Rev 5 con recuperacion hibrida y citaciones verificadas
Three well-named tools with clear, action-oriented verbs (search_, get_, answer_). Descriptions are substantive (100-200 chars) and explain WHAT, WHEN, and WHAT NOT to do. Input schemas are complete with types and descriptions for all parameters. However, output schemas are not documented in the visible code, LLMs cannot predict return structure. Error handling guidance is absent. Tool composition is sound: search_controls feeds into get_control and answer_question. No security issues detected (read-only operations, no secrets in params). Spanish descriptions are precise but may reduce LLM clarity in English-first agents.
Responde una pregunta sobre NIST SP 800-53 Rev 5 usando solo el catalogo. Cada afirmacion va respaldada por una cita literal verificada contra el texto del control; si nada queda verificado, rehusa en vez de responder. Devuelve tambien los controles recuperados y el detalle de la verificacion.
Devuelve un control completo del catalogo por su id (p.ej. 'ac-2' o 'AC-2(1)'), con statement, guidance, contenido de evaluacion, controles relacionados, baselines y referencias. Incluye los retirados, con su control de destino.
Busca controles del catalogo NIST SP 800-53 Rev 5 por lenguaje natural o por jerga NIST. Devuelve controles ordenados por relevancia, con un extracto de cada uno. No redacta respuestas: para eso usa answer_question.
Output schemas not documented. LLMs cannot predict return structure (fields, types, pagination). Visible code shows tool definitions but no explicit return type documentation.
No error handling guidance. Tools lack recovery hints (e.g., 'If control not found, try search_controls with partial terms'). Agents cannot self-correct on failures.
Spanish-language descriptions may reduce clarity for English-first LLM agents. Descriptions like 'Busca controles...' and 'Devuelve un control...' are precise but non-standard for MCP tooling.
answer_question lacks explicit constraint on citation verification. Description states 'rehusa en vez de responder' (refuse instead of answer) but does not specify what triggers refusal or how to interpret partial verification.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | <=2025-11-25 | v2 |
search_controls top_k parameter lacks explicit bounds. Description says '1..max_top_k de config' but does not state the actual numeric limit, forcing LLMs to guess or trial-and-error.