Model Context Protocol server for Tienda Nube API that exposes 111+ endpoints as MCP tools, enabling Cursor and other MCP clients to interact with the Tienda Nube ecommerce platform
8 tools with adequate naming (verb-first convention) and reasonable descriptions (180-250 chars typical). However, significant gaps: parameter descriptions are sparse or generic, output schemas are completely undocumented, error handling guidance is minimal, and several tools expose over-broad functionality (e.g., search_endpoint combines filtering by resource, method, and query without clear prioritization). Schema definitions are present in input but lack depth, enums are declared but descriptions do not explain constraints clearly. No tool annotations (readOnlyHint, idempotentHint). Output is returned as plain string responses without structured data, forcing LLMs to parse unstructured text. This is above-average community work but falls short of production-grade quality expected for an API documentation server.
Obtener información sobre autenticación en la API
Obtener ejemplo de código para un endpoint
Obtener detalles completos de un endpoint incluyendo parámetros, esquema y ejemplos
Obtener información sobre la nueva API de Productos con multi-inventario
Obtener esquema JSON de solicitud o respuesta para un recurso
Listar todos los recursos disponibles en la API
Output schemas completely undocumented. All 8 tools return responses as plain text strings (ToolResult with TextContent), but no specification of what fields or structure the LLM should expect. LLMs cannot plan downstream tool calls or extract data reliably without knowing output format.
Parameter descriptions are generic or missing rationale. E.g., 'query' in search_endpoint is described as 'Búsqueda por nombre o descripción - opcional' (optional search by name or description) but does not explain: (1) how matching works (substring? regex? exact?), (2) whether it searches across name AND description or either, (3) whether search is case-sensitive, (4) what fields are searchable. LLMs cannot infer expected behavior from vague descriptions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 35 | - | v1 |
Buscar en la documentación por palabras clave
Buscar endpoints en la API de Tienda Nube por recurso, método o nombre
No tool annotations (readOnlyHint, idempotentHint, destructiveHint). All 8 tools are read-only (correct for a documentation API), but this is not declared. LLMs benefit from explicit hints to avoid unnecessary caution or retries. Spec 2026-07-28 supports tool annotations in the Tool type, not exploited here.
Minimal error handling guidance. Code shows basic filtering and 'not found' messages (e.g., 'No se encontraron endpoints para...'), but does not categorize errors (retryable vs. user-fixable vs. fatal) or suggest recovery steps. If search_endpoint returns empty, the LLM does not know whether to retry, broaden the query, or ask the user.
search_endpoint combines three distinct filter dimensions (resource, method, query) without clear priority or interaction model. If LLM passes all three, does the tool AND them together? OR? What if query='GET' but method='POST'? Ambiguous parameter relationships can cause silent misuse.
get_endpoint_details requires both 'resource' and 'path' but does not validate that path actually exists in the resource or document the expected format of 'path' (e.g., '/products', '/products/{id}', or 'products.list'?). Invalid paths likely return 'not found' with no guidance on valid alternatives.
get_code_example accepts 'language' enum [python, javascript] but does not document whether examples actually exist for both languages, what happens if an example is missing, or whether the tool falls back to a default. LLMs may pass javascript and receive python anyway without warning.