mcp-supermercados-cl
A local MCP server for searching products, comparing prices, and building optimized shopping lists across major Chilean supermarkets (Jumbo, Santa Isabel, Unimarc, Tottus, Líder). Operates 100% locally — no cloud deployment, uses your residential IP, and credentials never leave your browser.
Shopping List & Personalization
build_list– Convert a natural language shopping list into concrete catalog products, prioritizing frequent purchases, best unit price, and active offerssuggest_swaps– Recommend cheaper or more natural/clean-ingredient alternatives for list itemsget_frequent_purchases– Retrieve habitual purchases from your logged-in Jumbo session, including Prime member pricingget_saved_lists– Access your saved shopping lists from your Jumbo account
Cart Management (Jumbo)
add_to_cart– Add/update products in your Jumbo cart, returning a normalized cart summary (total, savings, Prime savings)get_cart– Normalize your current Jumbo cart into a summary with items, subtotal, total, and savings
Catalog & Product Search
search_products– Search any supported supermarket's catalog with filters for price range, stock availability, and sorting by price or unit price (per kg/lt)get_product– Get full product details including current price, list price, member price, unit price, EAN, stock, ingredients, and nutritional sealsget_offers– Browse active promotions, filterable by category and Prime-only dealsfind_opportunities– Discover products with the highest current discounts in stock, sorted by discount percentage
Comparison & Diagnostics
compare_stores– Estimate the total cost of a shopping list across multiple chains and identify the cheapest optionadapter_status– Check which supermarket adapters are currently online and their response latency
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-supermercados-clCompara precio de leche entera en Jumbo y Lider"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🛒 mcp-supermercados-cl
Servidor MCP para buscar productos, comparar precios y armar la mejor lista de compra en supermercados chilenos con Claude, ChatGPT u otro cliente MCP.
El foco es profundidad en la cadena donde tú ya compras — precios club, beneficios por RUT, productos frecuentes, carro — con la comparación entre cadenas como capacidad secundaria. Cubre las cinco grandes cadenas del país.
100 % local: el tráfico sale de tu máquina, a ritmo humano, y tus credenciales nunca tocan un servidor central.
Tabla de contenidos
Related MCP server: Superprecio MCP Server
🚫 ¿Se deploya en Vercel/AWS? No
Este MCP no tiene URL de producción y no se deploya en ningún servidor. Es intencional, y es la razón por la que funciona:
Usa transporte stdio (local), no HTTP. Corre en tu máquina, junto a tu cliente MCP (Claude Desktop, Claude Code, Cursor, ChatGPT Desktop).
Unimarc, Tottus y Lider bloquean el tráfico de datacenter (antibots). Un deploy en la nube no funcionaría para esas cadenas: necesitan tu IP residencial.
El precio socio, tus frecuentes y el carro viven en tu navegador logueado. Las credenciales no deben tocar un servidor central — eso además evita el mayor riesgo legal (un servicio que scrapee cuentas ajenas).
La forma de "producción" de un MCP como este es instalarlo local (vía npx
o clonando el repo) y conectarlo a tu cliente. Igual que la mayoría de los MCP
servers.
📦 Instalación
Requiere Node.js ≥ 20. Publicado en npm:
mcp-supermercados-cl.
Opción 1 — vía npx (recomendada). No instalas nada; tu cliente MCP lo
ejecuta al vuelo. En Claude Desktop / Claude Code
(claude_desktop_config.json o .mcp.json):
{
"mcpServers": {
"supermercados": {
"command": "npx",
"args": ["-y", "mcp-supermercados-cl"]
}
}
}Opción 2 — desde el código (para desarrollar o contribuir):
git clone https://github.com/NLACE-COM/mcp-supermercados-cl.git
cd mcp-supermercados-cl
npm install
npm run buildY apunta tu cliente al build local:
{
"mcpServers": {
"supermercados": {
"command": "node",
"args": ["/ruta/absoluta/al/repo/dist/index.js"]
}
}
}Para desarrollo rápido:
npm run dev # servidor por stdio con tsx
npm run inspector # abre el MCP Inspector🏬 Cobertura por cadena
Cadena | Plataforma | Búsqueda | Precio socio | Detalle | Sesión / carro |
Jumbo | Cencosud (Constructor.io) | ✅ | ✅ Prime | ✅ | ✅ frecuentes, listas, carro |
Santa Isabel | Cencosud (Constructor.io) | ✅ | ✅ | ✅ | carro Cencosud¹ |
Unimarc | VTEX (BFF propio) | ✅ | ✅ Club Unimarc | — | — |
Tottus | Falabella (Next.js SSR) | ✅ | — | — | — |
Lider | Walmart Glass (SSR) | ✅ | —² | — | — |
¹ El carro de Santa Isabel reutiliza el mismo BFF Cencosud que Jumbo; se activa con tu sesión en santaisabel.cl. ² Lider no expone precio socio dual como el Prime de Jumbo; sus descuentos son rebajas directas ("Precio Lider") + bundles.
⚠️ Unimarc, Tottus y Lider requieren IP residencial (tu máquina); desde datacenter bloquean. Como el MCP corre local, en tu equipo funcionan.
Todos los resultados vienen enriquecidos: nombre, marca, descripción, foto, precio vigente, precio normal, precio socio, precio por unidad normalizado (por kg/lt para comparar formatos) y bundles ("2 x $2.000", "Lleva 8 por $X").
🧰 Tools disponibles
Núcleo — armar la mejor lista con tu sesión:
Tool | Qué hace |
| Convierte una lista en lenguaje natural en productos concretos. Prioriza tus frecuentes, mejor precio por unidad y ofertas. Flags |
| Reemplazos convenientes por precio por unidad. Con |
| Tus productos habituales, con precio Prime (requiere sesión). |
| Tus listas guardadas (requiere sesión). |
| Deja la lista en el carro de Jumbo; total, ahorro y ahorro Prime. |
Lectura de catálogo:
Tool | Qué hace |
| Busca en cualquier cadena. Filtros |
| Detalle por URL/slug: precio socio, EAN, ingredientes y sellos nutricionales. |
| Ofertas vigentes de Jumbo; |
| Mayores descuentos con stock, ordenados por |
Comparación y diagnóstico:
Tool | Qué hace |
| Total de una lista en varias cadenas; marca la más barata. |
| Qué cadenas responden ahora y con qué latencia. |
🔐 Cómo funciona la sesión (sin credenciales en el servidor)
El precio socio, los frecuentes y el carro viven detrás del login. En Jumbo, el
token vive en el localStorage del navegador, así que el servidor nunca ve
credenciales: el cliente (junto a tu navegador logueado) extrae los datos del
DOM o ejecuta las llamadas autenticadas, y el MCP solo normaliza el resultado.
Ver src/adapters/session.ts y
docs/captura-cencosud-2026-07-06.md.
¿Y esas API keys que aparecen en el código?
Verás claves como key_JopvNXKS61kwGkBe (Jumbo) o
be-reg-groceries-sisa-catalog-wdhhq5a2fken (Santa Isabel) en los adaptadores.
No son secretos. Son las claves públicas del frontend de Constructor.io
y del BFF de catálogo: van embebidas en el JavaScript de jumbo.cl y
santaisabel.cl, y son visibles en las DevTools de cualquier visitante. Solo
identifican el índice de búsqueda del lado cliente — no dan acceso a ninguna
cuenta ni permiten escribir. Sin ellas, el buscador no responde.
Los datos que sí son sensibles (token de sesión, precio socio, carro) viven en tu navegador logueado y nunca están en este repositorio. Un escáner automático puede marcar estas claves públicas como "token expuesto"; es un falso positivo.
🧪 Desarrollo y tests
npm test # tests de contrato con fixtures reales (sin red) — 106 tests
npm run test:live # smoke contra los sitios reales (opt-in, LIVE=1)Los tests de contrato usan respuestas reales grabadas en
tests/fixtures/. Los live requieren red y, para
Unimarc/Tottus/Lider, IP residencial. Regraba una fixture cuando una cadena
cambie su formato, anotando la fecha.
🏗 Arquitectura
Un servidor, un adaptador por cadena (
src/adapters/). Esquema normalizado con zod (src/core/types.ts): precio normal y precio socio separados, precio por unidad normalizado a base canónica.HTTP a ritmo humano, por tipo de host: los endpoints de API (Constructor.io y los BFF de Cencosud/Unimarc/Santa Isabel) van a ~350 ms; los sitios que se scrapean por SSR (Tottus, Lider, PDPs
www.*) mantienen ~1 s. Reintentos con backoff, user-agent realista (src/http/client.ts). Cache TTL 15 min. Ajustable por entorno:SUPERMERCADOS_MIN_DELAY_MS,SUPERMERCADOS_FAST_DELAY_MS,SUPERMERCADOS_TIMEOUT_MS,SUPERMERCADOS_MAX_RETRIES.Feedback en vivo:
build_listycompare_storesemiten notificaciones de progreso MCP (notifications/progress) si el cliente las soporta, para no quedar en silencio durante listas largas.compare_storeslimita cada cadena a 25 s y devuelve resultado parcial en vez de bloquear a las demás.Adaptadores aislados: un cambio de sitio rompe un adaptador, no todo.
Endpoints documentados en
docs/y endocs/PLAN-arquitectura.md.
src/
├── index.ts # entrada MCP (stdio)
├── server.ts # registro de tools
├── core/ # types, registry, normalize, listBuilder, compare, ...
├── adapters/ # cencosud (Jumbo+Santa Isabel), unimarc, tottus, lider
├── tools/ # una tool MCP por archivo
└── http/ # cliente HTTP con rate limit y reintentos🤝 Cómo contribuir
¡Bienvenidas las contribuciones! Este proyecto está pensado para crecer con la comunidad. Ver CONTRIBUTING.md.
Ideas de alto impacto:
Carro/sesión en Unimarc, Tottus y Lider (cada una con su login propio).
Detalle (
get_product) para Unimarc/Tottus/Lider.Nuevas cadenas o farmacias.
Mantener las fixtures al día cuando una cadena cambie su API.
Cuando una cadena cambie su formato, npm run test:live lo detecta.
⚖️ Aviso legal
Herramienta personal, de código abierto, sin backend central. Cada usuario opera su propia cuenta desde su propia IP, a ritmo humano, sin redistribuir datos. Revisa los Términos y Condiciones de cada cadena antes de usarla. No afiliado a Cencosud, SMU, Falabella ni Walmart. Las marcas mencionadas pertenecen a sus respectivos dueños. Úsalo bajo tu propia responsabilidad.
📄 Licencia
MIT © contribuidores de mcp-supermercados-cl
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NLACE-COM/mcp-supermercados-cl'
If you have feedback or need assistance with the MCP directory API, please join our Discord server