A-01
shopify-insights-mcp
Servidor MCP que no devuelve datos de Shopify sino lecturas. Publicado en npm con licencia MIT.
This sheet is not translated yet. Shown in Spanish.
| Type | producto |
|---|---|
| Platform | MCP · npm |
| Year | 2026 |
| Role | Autor |
| Stack | TypeScript · @modelcontextprotocol/sdk · Shopify Admin GraphQL · Zod · Vitest |
| Herramientas | 10 tools · contadas en src/tools |
| Licencia | MIT |
| Versión | 1.1.0 · npm view shopify-insights-mcp version |
Contexto
Los servidores MCP para Shopify que había devolvían filas. Preguntabas por ventas y obtenías un número; preguntabas por productos y obtenías cincuenta nombres. Eso deja el trabajo interesante —¿está bien ese número? ¿qué hago con él?— del lado del que pregunta.
Opciones
Podía envolver la Admin API y exponer un endpoint por recurso, que es lo que ya existía y lo que sale solo. O podía definir las herramientas por pregunta de negocio en vez de por recurso, y hacer que cada respuesta traiga su propia comparación.
La primera opción es más fácil de mantener y más fácil de explicar. La descarté porque el valor de un servidor MCP no está en el acceso al dato, que ya está resuelto, sino en que el modelo reciba el dato con su contexto al lado.
Decisión
Diez herramientas, cada una atada a una pregunta: comparación de ventas, desglose de facturación, productos en tendencia, rendimiento por producto, alertas de inventario, alertas de órdenes, métricas de cumplimiento, top de clientes, segmentos y resumen.
Cada respuesta trae el número y su lectura. En vez de «tenés 45.000 en ventas», responde «tenés 45.000, un 12% menos que el mes pasado». En vez de una lista de cincuenta productos, «cinco productos con stock crítico y demanda alta».
Transporte stdio, validación de entrada con Zod y un CLI, así se instala con un comando.
Verificación
Publicado como shopify-insights-mcp v1.1.0, licencia MIT. Las diez herramientas están
declaradas en el servidor y cubiertas por tests con Vitest.
Consecuencias
Definir las herramientas por pregunta y no por recurso las hace más difíciles de extender: agregar una métrica nueva es decidir con qué se compara, no exponer un campo más. Es el costo de que la respuesta sirva sin post-procesarla.