Implementación básica del Model Context Protocol (MCP) de Anthropic con capacidades de búsqueda y recuperación de documentos
This MCP server has significant structural and quality issues. Tool definitions exist but lack proper schema documentation and comprehensive descriptions. Five tools are registered (search, retrieve, list, update, ping), but input/output schemas are not formally documented in the source code. The server uses a custom HTTP endpoint (/mcp) without following MCP's current stateless request model or structured tool metadata patterns. Descriptions are present in Spanish but vary widely in quality and detail. No input validation guidance, error handling strategies, or confirmation patterns for destructive operations are evident. The 'ping' tool violates current MCP spec (ping was removed). Tool composition is reasonable (single concerns mostly), but parameter constraints and type safety are weak.
Listar todos los documentos. Retorna una lista de todos los documentos disponibles con su ID y título.
Verificar la conexión con el servidor MCP. Retorna un pong con timestamp y versión.
Recuperar documento por ID. Obtiene el contenido completo de un documento específico por su identificador.
Búsqueda básica en documentos. Busca documentos cuyo título o contenido incluya la consulta proporcionada.
Actualizar un documento (simulado). Modifica el contenido de un documento existente identificado por su ID.
Tool schemas not formally documented in source code. Input/output parameters exist in a basic object form but lack complete JSON Schema definitions with type constraints, required fields, and structured validation metadata.
The 'ping' tool is included in the tool suite. The ping request type was removed from the MCP spec (as of 2026-07-28). Servers should not define or advertise ping as a callable tool.
No input validation or constraint documentation. The 'search' tool accepts a free-form query string with no maximum length, pattern, or guidance on format. The 'update' tool's content parameter is documented only as 'object' with no schema of what fields are valid or required.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 40 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 34 | - | v1 |
No error handling guidance or recovery patterns. Tool descriptions do not indicate what happens on failure, whether errors are retryable, or what the LLM should do next (e.g., 'Document not found. Try search() with a partial title.').
The 'update' tool is destructive (WRITE risk) but lacks confirmation or dry-run semantics. No description warns about side effects or suggests a confirmation pattern before executing.
Output schemas not documented. Tools return results but the source code does not formally specify what fields are returned, their types, or pagination behavior.
Parameter descriptions are generic or incomplete. E.g., 'id' parameters lack guidance on format or how to obtain a valid ID. 'content' in update is vague about which fields can be modified.