<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Andrés León</title>
    <description>The latest articles on DEV Community by Andrés León (@noelserdna).</description>
    <link>https://dev.to/noelserdna</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4189321%2Fba8853e5-740f-4cbf-aa26-c9a51b59f5ab.jpg</url>
      <title>DEV Community: Andrés León</title>
      <link>https://dev.to/noelserdna</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/noelserdna"/>
    <language>en</language>
    <item>
      <title>Analizamos por dentro un servidor MCP local: mcp-supermercados-cl</title>
      <dc:creator>Andrés León</dc:creator>
      <pubDate>Fri, 16 Oct 2026 17:41:33 +0000</pubDate>
      <link>https://dev.to/noelserdna/analizamos-por-dentro-un-servidor-mcp-local-mcp-supermercados-cl-57d0</link>
      <guid>https://dev.to/noelserdna/analizamos-por-dentro-un-servidor-mcp-local-mcp-supermercados-cl-57d0</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/NLACE-COM/mcp-supermercados-cl" rel="noopener noreferrer"&gt;mcp-supermercados-cl&lt;/a&gt; es un servidor MCP &lt;strong&gt;local&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;Lo hemos leído por dentro (commit &lt;code&gt;3441cca&lt;/code&gt;, 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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lo que hace bien
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tools orientadas al resultado, no a la API.&lt;/strong&gt; &lt;code&gt;build_list&lt;/code&gt; 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 (&lt;code&gt;search_products&lt;/code&gt;, &lt;code&gt;get_offers&lt;/code&gt;…) van aparte.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;El carro nunca toca tu cuenta.&lt;/strong&gt; &lt;code&gt;add_to_cart&lt;/code&gt; no hace la petición a la tienda: devuelve la petición exacta y un &lt;code&gt;browserSnippet&lt;/code&gt; para ejecutar en tu pestaña ya logueada, con &lt;code&gt;executed: false&lt;/code&gt;. Tus credenciales se quedan en el navegador y las instrucciones del servidor prohíben al modelo pedirte usuario o clave.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Un adaptador por cadena, sin fingir cobertura.&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Errores con siguiente paso.&lt;/strong&gt; Cada error lleva categoría, mensaje y un campo &lt;code&gt;action&lt;/code&gt; (reiniciar sesión, reintentar…) y se devuelve con &lt;code&gt;isError&lt;/code&gt;, así el modelo lo ve como resultado y puede actuar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;stdio bien hecho.&lt;/strong&gt; Nada que no sea JSON-RPC en &lt;code&gt;stdout&lt;/code&gt;; los avisos van a &lt;code&gt;stderr&lt;/code&gt;, como pide la especificación.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por qué es local (y cuándo deja de bastar)
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lo que probamos (y lo que no)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;npm ci --ignore-scripts&lt;/code&gt; y &lt;code&gt;npm run build&lt;/code&gt;: sin errores.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm test&lt;/code&gt;: 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 con &lt;code&gt;Date.now()&lt;/code&gt;. No indican un fallo con la web real.&lt;/li&gt;
&lt;li&gt;Un cliente MCP mínimo recibió las 14 tools y los 5 prompts; &lt;code&gt;get_cart&lt;/code&gt; sin sesión devolvió las instrucciones sin consultar ningún carro.&lt;/li&gt;
&lt;li&gt;No probamos tiendas, compras ni sesiones.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lo que mejoraríamos
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Pasar un reloj fijo a esos dos tests para que no dependan del día.&lt;/li&gt;
&lt;li&gt;Documentar que &lt;code&gt;executed: true&lt;/code&gt; solo indica que la tool normalizó el JSON recibido, no que el carro haya cambiado.&lt;/li&gt;
&lt;li&gt;Documentar con qué versiones del protocolo se ha probado (usa el SDK v1, hasta &lt;code&gt;2025-11-25&lt;/code&gt;) y planificar la migración a MCP 2026-07-28.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;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 &lt;strong&gt;&lt;a href="https://desarrollomcp.com/blog/analizamos-mcp-supermercados-cl?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=caso-supermercados" rel="noopener noreferrer"&gt;DesarrolloMCP: Servidor MCP local, analizamos mcp-supermercados-cl&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Si estás aprendiendo MCP en español, el &lt;a href="https://desarrollomcp.com/?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=caso-supermercados" rel="noopener noreferrer"&gt;curso de DesarrolloMCP&lt;/a&gt; empieza gratis, actualizado a la especificación 2026-07-28.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>opensource</category>
      <category>spanish</category>
    </item>
  </channel>
</rss>
