Después de un tiempo desconectado de las novedades en IA, al reconectarme me encontré con un nuevo mundo de funcionalidades y términos que había pasado por alto, en parte debido a la abusiva publicidad que está recibiendo.
Uno de los nuevos términos que he escuchado ha sido MCP. Lleva en mi mente un tiempo, se que no es algo nuevo y con la llegada de los «Conectores» a Le Chat de Mistral me he parado a ver de que sirve.
Según la web del proyecto, MCP viene de Model Context Protocol y permite añadir contexto a los grandes modelos de lenguaje, lo comparan con un puerto USB, en el cual se conectar cualquier tipo de dispositivo. En resumen, es una forma de decirle al LLM de que dispone de una serie de herramientas que puede utilizar para hacer tareas especificas, solicitar información, ejecutar programas externos etc…
Al ser un estándar abierto, cualquiera pueda hacer integraciones de una forma rápida y compatible con la mayoría de LLM. Los más importantes ya lo incorporan como ChatGPT, Mistral, Claude Desktop, Docker Desktop… aquí puedes consultar cuales lo soportan.
Con esta información en cuenta, me puse a mirar que podría integrar y que datos obtener. Hay una comunidad muy grande alrededor de los servidores MCP, esta web https://mcpservers.org/ lista algunos de los que hay disponibles. No esperaba que hubiera tantos, la mayoría que necesites o puedas querer probablemente estén creados.
Probando los servidores MCP de Nextcloud y Hass
Lo primero que estuve pensando es integrar la nube que tengo privada. Al igual que hace Google con Gemini, que cruza datos entre los servicios de Drive, Photos, Calendario, Contactos, Google Home… Quería hacer lo mismo con mi nextcloud y homeassistant. Encontré estas dos integraciones: nextcloud-mcp-server y hass-mcp.
Solo requieren que le pases por variable de entorno la URL del servicio y el token para iniciar sesión, ya con eso puedes para hacer algunas pruebas. Por el lado del cliente LLM (Mistral en mi caso) debes de indicar la dirección donde se encuentra el servidor y automágicamente funciona todo a la primera.
Nota: Es muy importante que si expones este tipo de servicio a internet lo protejas debidamente con token de autenticación. Estas integraciones no lo tiene implementando y es necesario modificar el código.
He hecho algunas consultas rebuscadas indicando nombres inexactos de donde estaba el contenido. Lo ha resuelto bastante bien aunque me hubiera gustado que no necesitara interacción por mi parte.

Al indicarle el nombre incorrecto, se ha percatado de que estaba en ingles, por lo que ha preguntado si debía de utilizar la carpeta Notes. Muy acertado por su parte, aunque podría haber entrado directamente en la carpeta.
Una vez dentro, se ha encontrado la carpeta Recetas y la ha usado como debe. En este caso ha sido un poco más autónoma.

Y ya tenemos la clasificación a expensas de que ha encontrado uno con el nombre de la receta mal escrito. En la continuación del chat, ha sabido que el nombre es Crepes, lo ha corregido y lo ha puesto bien aunque ha cometido algunos errores por el camino: El contenido del fichero no es el mismo que el de la receta.
Me he puesto a investigar y el servidor MCP no permite renombrar (contribución lista :D) y es por ello que lo ha intentado de otra manera. Ha borrado el antiguo fichero y lo ha creado con el nombre correcto, pero como no lo ha abierto previamente ha puesto lo que ha querido.
Otra prueba que he hecho ha sido con la integración de Hass la cual esta menos pulida, no he conseguido hacer algunas de las operaciones más básicas.
Conclusión
Aquí llegamos a la conclusión de que no nos podemos fiar al 100% de la IA y debemos de seguir verificando cada cosa que hace, no vaya a ser que nos la lie. En Mistral, para cada consulta al MCP pide verificación manual, de esta manera podemos ver que esta haciendo y en el caso de que se revele en nuestra contra (intentado hacer un rm -r /), podemos decirle que por ahí no.
Los LLM requieren alguna mejora pero las integraciones MCP deberán de contener la mayor parte de funcionalidades, en caso contrario no sabrán como resolver el problema. Considero que la IA es como una persona, la cual por si sola es muy capaz, pero sin tener a mano las mejores herramientas (en este caso los MCP) se seguirá equivocando en sus tareas más cotidianas.
Deja una respuesta