Disfruta conmigo de Linux y del Open Source. Aquí encontrarás como sacarle el máximo partido a tu entorno de escritorio Linux, hasta como montar un servidor web, un WordPress, un proxy inverso, una base de datos o cualquier otro servicio que puedas imaginar. Y todo ello, lo puedes montar en una Raspberry Pi, en un VPS, en tu propio ordenador o en cualquier servidor. Vamos, cualquier cosa que quieras hacer con Linux, seguro, seguro, que la encontrarás aquí.
ATA 799 Rompe la caja de cristal de tu IA. Conéctala a la VIDA
En el episodio anterior te estuve hablando de tres pilares fundamentales que cambian por completo las reglas del juego cuando queremos ir un paso más allá de los modelos de lenguaje convencionales: el RAG (la memoria), las habilidades y las herramientas. Hoy no nos vamos a quedar en las nubes de la teoría. Hoy nos arremangamos y vamos directos al turrón con un ejemplo totalmente práctico, porque al final lo que queremos es ver cómo se hace, cómo se lleva a cabo en nuestro propio servidor y cómo podemos empezar a sacarle partido a estas tecnologías desde ya.
¿Por qué Rust es el rey del cacharreo con MCPs?
Si buscas tutoriales en la red, verás que la inmensa mayoría de servidores MCP se desarrollan en Python. No me malinterpretes, Python es fantástico para escribir código rápido, pero en el mundo de los microservicios autohospedados y los contenedores tiene ciertos inconvenientes difíciles de ignorar. Python tarda más en arrancar y consume una cantidad considerable de memoria RAM por el simple hecho de existir.
Por este motivo decidí programar todos mis MCPs utilizando Rust. Rust nos compila un binario nativo, limpio y directo. No hay intérpretes pesados de por medio. La latencia de respuesta es prácticamente cero, el consumo de memoria es insignificante y se ejecuta a una velocidad de vértigo. Además, gracias a editores modernos equipados con IA como OpenCode, una vez que logras pulir y estructurar tu primer MCP en Rust (por ejemplo, el del tiempo), crear el siguiente es sencillísimo. Solo tienes que proporcionarle a tu herramienta de código la estructura de tu primer desarrollo y pedirle que adapte esa misma lógica para conectar cualquier otra API o base de datos que necesites. ¡Es una delicia ver cómo escala el sistema!
Bajo el capó: APIs públicas, Docker y Quadlets
Para hacer realidad este MCP meteorológico, he combinado el poder de dos APIs públicas muy conocidas:
- Nominatim (OpenStreetMap): Como las APIs del tiempo necesitan coordenadas geográficas (latitud y longitud), Nominatim se encarga de traducir textos legibles como "Valencia" o "Tokio" en datos numéricos de localización.
- Open-Meteo: Recibe las coordenadas enviadas por el MCP y devuelve la previsión meteorológica actual, horaria o diaria sin necesidad de usar claves de API complejas ni registros restrictivos.
Todo este flujo de datos se empaqueta de forma elegante en un contenedor de Docker y se gestiona mediante un Quadlet de Podman para garantizar que se inicie de forma nativa e integrada con el sistema operativo de nuestro servidor.
Y más adelante nos sumergiremos en el fascinante universo del RAG local.
Capítulos del episodio:
- 00:00:00 Introducción y repaso del episodio anterior
- 00:00:43 El problema de los modelos estáticos de IA
- 00:01:29 El ejemplo práctico: Preguntando el tiempo
- 00:03:20 Ahorro extremo de tokens con MCP
- 00:04:49 Taller de IA agéntica y automatización con Slimbook
- 00:06:22 Cacharreando con DeepSeek V4 Flash en OpenCode
- 00:07:33 ¿Qué es y cómo funciona un MCP?
- 00:09:13 Por qué desarrollo mis MCPs en Rust (y no en Python)
- 00:11:13 Limpieza de datos y gestión de errores
- 00:12:40 Cómo conectar un MCP a Open Web UI paso a paso
- 00:14:18 Probando la previsión meteorológica en vivo
- 00:15:37 El motor bajo el capó: Open-Meteo, Nominatim y Docker
- 00:17:25 Codegraph: Analizando código para ahorrar tokens
- 00:18:22 Próximo episodio: Guardar tareas persistentes con MCP To Do
- 00:19:48 Otros MCPs listos para el taller de IA
- 00:21:22 El futuro del podcast: RAG local, notas y más cacharreo
- 00:22:50 Despedida, enlaces de interés y cierre
Más información, enlaces y notas en https://atareao.es/podcast/799🌐 Aquí lo puedes encontrar todo 👉 https://atareao.es✈️ Telegram (el grupo) 👉 https://t.me/atareao_con_linux✈️ Telegram (el canal) 👉 https://t.me/canal_atareao🦣 Mastodon 👉 https://mastodon.social/@atareao🐦 Twitter 👉 https://twitter.com/atareao🐙 GitHub 👉 https://github.com/atareao