mcp-supermercados-cl es un servidor MCP local que da a tu asistente herramientas para armar listas de compra en cinco supermercados de Chile (Jumbo, Santa Isabel, Unimarc, Tottus y Líder). Lo publica NLACE-COM con licencia MIT; tu cliente MCP lo arranca en tu máquina y le habla por stdio.
Lo hemos leído por dentro (commit 3441cca, paquete 1.4.7), lo hemos compilado y ejecutado en local sin cuentas ni claves, y le hemos conectado un cliente MCP mínimo. Esto es lo que más nos ha gustado y lo que mejoraríamos.
Lo que hace bien
Tools orientadas al resultado, no a la API. build_list recibe hasta 30 ítems en texto libre y un presupuesto, y devuelve una lista decidida: producto elegido por precio por unidad y ofertas, hasta tres alternativas y el total. Envolver el endpoint de búsqueda de cada cadena habría obligado al modelo a hacer ese trabajo llamada a llamada. Las tools de lectura (search_products, get_offers…) van aparte.
El carro nunca toca tu cuenta. add_to_cart no hace la petición a la tienda: devuelve la petición exacta y un browserSnippet para ejecutar en tu pestaña ya logueada, con executed: false. Tus credenciales se quedan en el navegador y las instrucciones del servidor prohíben al modelo pedirte usuario o clave.
Un adaptador por cadena, sin fingir cobertura. Un registro de cinco adaptadores (Jumbo y Santa Isabel comparten el de Cencosud) y una tabla en el README que dice qué cadena tiene búsqueda, precio de socio o carro. Solo Jumbo marca el ciclo completo, y lo dice.
Errores con siguiente paso. Cada error lleva categoría, mensaje y un campo action (reiniciar sesión, reintentar…) y se devuelve con isError, así el modelo lo ve como resultado y puede actuar.
stdio bien hecho. Nada que no sea JSON-RPC en stdout; los avisos van a stderr, como pide la especificación.
Por qué es local (y cuándo deja de bastar)
El autor lo explica en el README: el precio de socio, tus compras frecuentes y el carro viven en tu navegador con sesión, y algunas cadenas bloquean el tráfico desde centros de datos. Para un servicio remoto compartido harían falta Streamable HTTP, autorización y aislamiento por usuario.
Lo que probamos (y lo que no)
-
npm ci --ignore-scriptsynpm run build: sin errores. -
npm test: 178 de 180 tests pasan. Los 2 que fallan dependen de la fecha: sus datos de ofertas caducan en agosto de 2026 y el selector compara conDate.now(). No indican un fallo con la web real. - Un cliente MCP mínimo recibió las 14 tools y los 5 prompts;
get_cartsin sesión devolvió las instrucciones sin consultar ningún carro. - No probamos tiendas, compras ni sesiones.
Lo que mejoraríamos
- Pasar un reloj fijo a esos dos tests para que no dependan del día.
- Documentar que
executed: truesolo indica que la tool normalizó el JSON recibido, no que el carro haya cambiado. - Documentar con qué versiones del protocolo se ha probado (usa el SDK v1, hasta
2025-11-25) y planificar la migración a MCP 2026-07-28.
El análisis completo, con el código citado línea a línea, los diagramas de la arquitectura y las salidas de nuestras pruebas, está en DesarrolloMCP: Servidor MCP local, analizamos mcp-supermercados-cl.
Si estás aprendiendo MCP en español, el curso de DesarrolloMCP empieza gratis, actualizado a la especificación 2026-07-28.
Top comments (0)