MCP, IA, BIM e IFC sin atajos. Haz que la IA entienda tus IFC

IFC Addict8,319 words

Full Transcript

Estamos de vuelta. A ver que coloco esto ahí. Muy buenas. E después de este parón navideño, vamos a arrancar de nuevo con estos directos semanales. Vamos a ver qué tal qué tal se este este año. Mm, bueno, espero que todos hayan tenido unas buenas fiestes, que hayan disfrutado, que lo hayan pasado muy bien y todo eso, bla, bla, bla. Así que hm hoy inteligente actividad. Qué blanco estoy. A ver si bajo un poquito a ver intensidad más o menos. Mm. decía, "Hoy vamos a ver qué qué es eso de los MCPs." En realidad ya lo hemos visto porque aquí en el canal los más veteranos igual recuerdan en en marzo en marzo del año pasado en hablé de de los MCPs vinculados a a Blender. En aquel momento todavía no había vinculación con bonsai, con lo cual pues nos tocaba eh podíamos ayudarnos de la herramienta para modelar para digamos todo lo que tuviera que ver con con controlar eh Blender, pero no podíamos todavía meternos a manejar Bonsai en por distintas razones, fundamentalmente porque eh Bonsai no sabía como o el MCP no sabía cómo hablar con Bonsai, con lo cual pues nos quedábamos hablando con Blender, modelábamos de este Blender eh a través del MCP y después pues en Blender aprovechando bonsai hacíamos la clasificación de elementos y ya incorporábamos esa información a nuestros módulos IFC, pero no dejaba de ser un poquito un poquito trampa porque en el fondo lo que estábamos haciendo era gestionar Blender con con un MCP y a partir de ahí generar la información con eh geométrica que vinculábamos en bonsai, pero no había posibilidad de gestionar propiedades, de interactuar con con los elementos con los elementos IFC, ni ni mucha de la de las tareas que bueno, que parece ser que ahora podríamos podríamos ejecutar. Y digo, parece ser porque de hecho todavía no he eh instalado esta esta versión de de los NCP de Blender. He tratado de jugar un poco con ellos, pero se me ha comido el tiempo por completo, con lo cual directamente lo vamos a ver en directo, por lo menos lo que son los primeros pasos. Conste que, como digo, ya habíamos hablado de esto y en realidad si vuelvo al al tema es porque hacia hacia noviembre del año pasado, hacia hacia noviembre del 25 en el canal de IFCA de WhatsApp eh volvió a surgir el tema. volvió a surgir el tema. Hm. Fundamentalmente porque Sergio Peral, un compañero, compartió eh los avances que que estaban haciendo precisamente en en la generación de un MCP para interactuar con con Bonsai, en el fondo orientado directamente a IFC y a partir de ahí pues surgieron ciertas confusiones, ciertos debates que que bueno que yo creo que se quedaron más o menos aclarados, pero tomé cuenta de de ello para hacer precisamente esta este episodio, esta sesión, este directo y tratar de de aclarar ahí, bueno, pues aclararé en este en esta ocasión algunos de los de los entiendo que errores de concepto a veces pues nos dejamos llevar por las expectativas excesivamente altas o nos dejamos llevar por la por la emoción de todo aquello que desconocemos y nos imaginamos más que que sabemos qué es lo que podemos hacer con una herramienta y con otra. Y y en concreto a mí me surgió, digamos, se me encendió la chispa cuando vi que la discusión entraba eh una cierta confusión entre lo que suponía el consumo de tokens en un LLM, lo que lo que suponía el consumo de de APIs por parte del propio LLM a través del MCP. Y bueno, que había ciertos conceptos que no acababan de quedar claros. Hm. El primero de ellos, primer quizá el concepto más complejo de de separar o o quizá el el el la confusión que que más me me llevó a pensar en este en esta sesión fue el hecho de que e se confundía de alguna forma el MCP, que es el model context protocol con directamente con el modelo de de asumiendo que era el modelo el MCP, el que razonaba o el que decidía, cuando en realidad lo único que hace un MCP es orquestar, eh poner orden, eh interactuar entre nosotros y la y la herramienta, en realidad entre la herramienta que vayamos a usar con un MCP y la herramienta de inteligencia artificial que estemos utilizando, el el la interfaz al modelo de inteligencia artificial. Habitualmente la interfaz modelo de inteligencia artificial que utiliza eh un MCP en aquel momento y y mucho antes también era e cloth la herramienta de Antropic, una herramienta que que bueno que no deja de ser pues un chat como como puede ser CHG GPT o como puede ser Rock, como puede ser Gemini que se dotaba precisamente Santropic qui crea el estándar MCP se dotaba de de una interfaz para comunicarse con terceras herramientas. A día de hoy ya puede pueden utilizarse los MCPs con más modelos de de lenguaje. En concreto, eh bueno, tengo pendiente probar cómo funciona con con la herramienta de Google, con Gemini, eh para interactuar con con el sistema operativo, con la línea de comando, pero bueno, que sepamos que ya se pueden hacer más eh usos con con distintos e modelos de lenguaje de este tipo de herramientas. Entonces, como digo, el uno de los malentendidos así más críticos quizá fuese el confundir eso, el MCP con el modelo de inteligencia artificial. Y a raíz de eso, pues surgía el cómo era o cómo se gestionaba los el consumo de tokens. saben que el token es la la moneda de cambio, el el el contador, la unidad de consumo de de un de un LM, de un modelo de lenguaje y se planteaba si el el MCP consumía o no los tokens y si consumía, cuáles consumía, entonces digamos que no quedaba claro o por lo menos había cierta cierto debate al respecto. En este caso, de lo que se trataba era de entender que el MCP es una herramienta que ponemos en medio de la de la de la del modelo de inteligencia artificial y la aplicación que sea que vayamos a utilizar. En nuestro caso está en medio de eh Blender, Bonsai en este caso y eh Cloud o la herramienta de inteligencia artificial que utilicemos en en su momento. De hecho, eh bueno, había más alguna cuestión más, quizá alguna menor, la típica que hay siempre de bueno, es que un MCP lo puede ejecutar todo, ¿no? un MCP puede ejecutar aquello para lo que está construido y en concreto está construido siempre para ejecutar llamadas a una determinada herramienta. Quiero decir, un MCP que funciona con Revit por qué, de hecho, no funciona con con bonsai porque aunque funcione con la misma inteligencia artificial, aunque funcione llamando a la misma inteligencia artificial, aunque haga las mismas llamadas a a Cloud, en este caso, a la al LLM de Antropic, no acaba de conectar con los puntos de Revit que necesita, porque hay hay varios temas en esta cuestión y es que h como digo, El MCP lo que sirve es de conexión entre nuestro modelo de lenguaje y la aplicación, pero a la aplicación tiene que saber a dónde llamar, porque una de las cosas que hace un un MCP es, por ejemplo, exponer e las capacidades de la herramienta con la que va a trabajar. tal manera que pues yo puedo decir, "Oye, eh, con Bonsai lo único que voy a hacer desde el MCP o a través del MCP es eh crear geometría." Y si yo tengo un server de MCP, un servidor MCP que lo único que hace o lo único para lo que está preparado es para generar geometría, da igual las preguntas que le haga, solo puede generar esa geometría. Entonces, entendamos que las capacidades de la herramienta las define o qué es lo que podemos hacer con la herramienta lo define el servidor MCP y este es el que traduce aquello que que le preguntamos a nuestro a nuestro LLM eh de forma que lo pueda entender la la herramienta que estamos utilizando o de forma que podamos llegar hasta la herramienta que estamos utilizando. Concreto, vamos a ver el el mensaje de compartida y así ya empezó a compartir pantalla. A ver qué me situ. Tengo comprar un acces de esos todos chulos que veo en las en el tema. Eh, a ver, aquí este fue el mensaje que que lanzó, bueno, o al que lanzaba Sergio Operal en su en su momento, eh, anunciándonos MCP, bueno, MCP for IFC, el MCP para IFC, un proyecto, un un entorno de trabajo eh que habían, bueno, que había generado junto con su compañero Tobías eh para es este la la página la que hacían mención, es un un entorno open source o un entorno de trabajo open source para generar diseño BIM, para editar modelos BIM y para preguntar directamente a esos modelos BIM en formato IFC. Bueno, pueden acceder directamente a cualquiera de los de los perfiles de nuestros compañeros, incluso, bueno, pues a la publicación en no sé cómo la tienen en este momento, a la publicación, ¿dónde está? Bueno, no recuerdo aquí, si no recuerdo mal, este es el correo completo. Bueno, eh me da un poco porque igual si tiene interés por leerse la el paper. Ah, está aquí, hombre. En el paper se explica, bueno, pues cuál es la base de trabajo, cuál es la una cuestión que se planteaba, que era cuál es la precisión de respuesta de de estas herramientas, de esta en concreto que estaba estaba trabajando. Y bueno, distintas distintas opciones con las que con las que se trabajaba. Y dentro de esto, pues por supuesto el el acceso al código del MCP en concreto. En este caso el código es, a ver si lo tengo bien organizado, este es IFC Bonsai MCP. Esta es la herramienta que eh disponibilizaba que que ponían a nuestra disposición desde desde el bueno, desde el grupo de investigación que se hizo cargo del del de generar este código y de desarrollar todo un entorno, digamos, teórico alrededor del mismo. Y pues de alguna forma nos indican pues cómo podemos instalarlo, cómo podemos utilizarlo, cuáles son las capacidades que tiene y demás. ¿Qué pasa? que realmente no es el único. Pensemos que un un MCP no es este otra cosa que un punto intermedio que transmite las instrucciones que le damos a nuestra inteligencia artificial, a nuestra herramienta, la que sea con la que estemos trabajando. Y de lo que se trata es de generar o de de identificar cuáles son las capacidades que queremos tener dentro de la de la herramienta y cuáles son las capacidades con las que vamos a a trabajar. Este caso, hombre, sí puedo decir que yo creo que es de los más de los más completos, pero a poco que busquemos en en GitHub eh MCP Bonsai, pues vemos que nos aparecen, a ver, dos cuatro. En este caso yo había localizado eh cinco más, además del de eh nuestro compañero operar. eh estos cinco con distintas, por así decirlo, con distintas capacidades. Vamos a decir que efectivamente el el eh bueno, distintas capacidades y distintos enfoques. El este IFC for one perdón, MCP for for IFC tiene más un carácter demostrativo y educativo que que digamos que operativo en el sentido de que está pensado más para probar, para aprender que para realmente para ponerlo en en producción. A fin de cuentas también tiene, por supuesto, su enfoque productivo, pero no deja de ser la, digamos, el resultado de una investigación académica. Teníamos otros, por ejemplo, a verengo este el eh este SSN SSun. Este, el de SSan, ¿vale? Efectivamente, este lo que nos permitía era e bueno, así como el anterior, este primero, el MC MCP eh forc un MCP genérico que nos permite gran cantidad de gran cantidad de de interacción con con Bonsai. En el caso de del MCP de Simpson San, es un MCP más enfocado a a la a la consulta de los IFCs aprovechando bonsai. Hi varias diferencias más. Bueno, el hecho de que aunque casi siempre los MCPs están procesados, no, programados con con Python, fíjense que en este caso, a ver, en este caso es esto, no sé, en este caso es es TypeScript, es es JavaScript, eh, en el caso de de Peral era eh Python. Casi siempre van a ser Python y no es una casualidad. Veremos muy rápidamente por qué, pero también los hay con Node y son pues de hecho muy muy sencillos. Bueno, muy sencillos, son relativamente sencillos de instalar y cada uno, como digo, con su enfoque más específico. En este caso, el de SSunsan es un enfoque de consulta, una herramienta que podemos utilizar básicamente o que podemos utilizar fundamentalmente para hacer consultas en eh nuestros archivos IFC utilizando bonsai. el de Carlos Galisteo, también compañero aquí en creo que no recuerdo si estaba en el canal, pero bueno, en todo caso sí tenemos contacto eh en LinkedIn, bueno, eh puedo decir que que es un un Aquí ya tiene una serie de herramientas específicas, de hecho no recuerdo si ponía no las tiene aquí. Tendríamos que irnos al a la herramienta concreta. A ver, eh, ah, no recuerdo cómo las tenía. En este caso, hm, Carlos planteaba la herramienta como una herramienta e más, ¿cómo decirlo?, más modular en la que poder meter eh ir añadiendo eh capacidades a al MCP para que nos fuese dando más y más información. Sí, es cierto que en este caso eh esas ese añadido de de herramientas todavía creo yo, todavía no está no está planteado. En este caso, el hm si no recuerdo mal está más enfocado a una herramienta concreta de georreferenciación, pero bueno, más alternativas para ver cómo funciona, cómo trabajar con un con un MCP dentro de bonsai. Eh, de nuevo en Python y decía que no es una casualidad porque a ver si lo tengo aquí. No sé si por aquí viene. A ver. No, en este caso no lo está utilizando, pero en el caso de de nuestro compañero Sergio, no sé si lo dice aquí en algún sitio. Vale, no, no lo dice, pero vamos un momento al MCP. Un segundo. Aquí en el servidor está programado con Fast MCP. Fast MCP es una librería de de Python que nuestro compañero Andrés Corval nos mostró en su momento. No recuerdo si mostró aquí, ¿vale? No, no recuerdo dónde lo mostró, pero bueno. Andrés Corval, eh, acompañado también en el canal de de IFC Adic nos hablaba de de Fast MCP como la navaja suiza para crear de forma relativamente sencilla, muchas comillas sobre sencilla, para crear un servidor MCP rápidamente eh utilizando Python. Por eso casi siempre nos los vamos a encontrar con Python. El de Tiago en este caso es con Python. eh compañero portugués o brasileiro, no tengo no tengo claro, pero que también tiene eh su este MCP destinado a Bonsai. En el caso de Tiago e tiene una integración explícita con con este con Cloud, digamos que tiene está muy muy dependiente de de Cloud y de hecho, bueno, pues es es probablemente una herramienta más experimental que que otra cosa. Hay también que son, en este caso era eh JD Rodríguez, J Rodríguez, tengo mis notas que lo que hacía una exploración general del concepto, que es un MCP muy básico, pero que entiendo que él utilizaba como herramienta para eh bueno, como herramienta conceptual para para empezar a a a explorar en este caso MCP. Eh, curiosamente con con un con una capacidad que es la de la de trabajar con archivos BC3, que los veremos en en su momento. Entiendo que con la intención de eh facilitar de alguna manera el uso de presupuestos y mediciones formato BC3 dentro de los de IFC. Hm. Y por último el este último que tengo aquí, que este no recuerdo de quién era, eh, ah, no recuerdo, no sé cómo se llama este. Eh, bueno, este está fundamental también, de nuevo, es un un MCP que parece más un primer una primera aproximación, un un experimento porque todavía es bastante limitado. En fin, digamos que hay distintas aproximaciones, distintas opciones y probablemente la más avanzada y la más completa, pues quizás sea la de la que efectivamente en su momento nos mostraba e nuestro compañero Sergio. M cómo cómo conectar, bueno, antes de verlo, cómo conectarlo, entender que es claramente un MCP. A ver que tengo por aquí en el guion algunas notas. Ta ta ta. Vale, e por decirlo muy muy suavemente o muy muy rápidamente, eh, un MCP no es un plugin, un MCP no es una API, no es una herramienta mágica, ¿no? CP es una forma de conectar nuestra aplicación, la que sea, este caso Bonai, con un eh modelo de lenguaje, con una inteligencia artificial como puede ser pues eso, un Cloud, un CH GPT, un Gemini, un Grock, cualquiera de estas. Un ECP no hace absolutamente nada por sí mismo, nada. eh necesita eh obligatoriamente contar con un punto de de entrada de datos que es el la inteligencia artificial que estamos usando. Podría ser, como digo, un cloud cualquiera actualmente. De hecho, creo que he instalado la CL. Sí, lo tengo. He instalado la la aplicación de escritorio y es con la aplicación de escritorio. Bueno, miren si la instalado, que la acabo de de actualizar hace momento. E decía, es a través de la de la aplicación de escritorio que vamos a a trabajar. De hecho, no va a trabajar con ¿Por qué comenzar? A ver, ah, un segundo que tengo que actualizar aquí toda la información. A ver que sí, segundo que me autentizque. Vale. Eh, bueno, pues con esta misma. A ver, hombre, continuamos y debería estar. Vale, pues como decía, e el MCP por sí solo no va a resolver nada. Vamos a necesitar una herramienta eh de inteligencia artificial. En este caso yo voy a necesitar de cloud eh digamos como como interfaz. Voy a necesitar del MCP como traductor y voy a necesitar de una herramienta dentro del o añadida a la aplicación que yo estoy utilizando para recibir las instrucciones que que envíe la la inteligencia artificial. El MCP lo que va a hacer es decirle a mi herramienta de inteligencia artificial qué cosas puede hacer la aplicación con la que estoy trabajando, porque no tendría ningún sentido tener un MCP genérico en el que mi herramienta de inteligencia artificial, esta de aquí de preguntarle pues o tratar de crear un una hoja de cálculo, por ejemplo, en en un en un programa como Blender. No digo que no se puede, que si hay ciertas posibilidades, pero digamos que no tendrían mucho sentido o por por ponerlo más ridículo todavía, no tendría ningún sentido que que el MCP se conectase con con un Excel y yo le pudiera pedir que me generase un modelo 3D, porque esa capacidad no la tiene la herramienta, con lo cual no puede e la herramienta de inteligencia artificial interactuar en esa línea en ese sentido con con la inteligencia con con el con el software que quiero que quiero gestionar. Entonces, podemos verlo de alguna forma como eh la el añadido, el el ni siquiera el plugin, la el traductor que hace que yo pueda gestionar, que pueda actuar con la herramienta que quiera ciertas limitaciones desde eh una interfaz de inteligencia artificial y eh con lenguaje natural y aprovechando, por supuesto, todas las capacidades que tenga ese RAM. Voy a dejar esto por aquí un segundito, close y vamos a ver algunas cosillas que que tiene esto. E claro, yo digo que que necesitamos el MCP, pero el MCP no es una única herramienta. MCP está formado por varias herramientas que funcionan, como digo, como intermediario. Eh, lo primero que necesita un contexto contexto que que tengo que darle desde dentro del MCP. Eh, vamos a cerrar todos estos. Y vamos a centrarnos, ¿vale? No se ha cerrado todos. Vamos a centrarnos en el de en el en el en el que dio lugar a toda esta a todo este tema. Eh, como decía, bueno, no sé exactamente dónde lo tiene, pero supongo que aquí yo necesito tener una serie de posibilidades. Aquí tengo para ejecutar dentro de de Blender. En este caso, pues tengo la posibilidad de ejecutar código en Blender, la posibilidad de listar comandos de Blender, la posibilidad de borrar, actualizar, crear distintos estilos dentro de Blender y dentro de dentro de donde estaba. Esto es como Blender en genérico y por algún sitio aquí tengo y aquí tengo la API de IFC Open Share. Esto es todo lo que puede hacer IFC Openell y las instrucciones para para hacerlo. Esto, por más que lo veamos así como me pongo de este otro lado, por más que lo veamos como como un listado de texto, pues más o menos eh complejo y y grande, en realidad lo que estamos viendo aquí es API FC Open Shell, Open Shell tox. Eh, es esto lo que yo estoy viendo. Ah, if reflá esta. Esta parece que sí. Efectivamente, era esta. Mm. la la la API en la que me va a decir qué es lo que yo puedo hacer. Aquí tengo con IFC Openell. Con IFC Openell puedo hacer, bueno, puedo tener un montón de herramientas que me permitan trabajar y aquí me va describiendo cómo puedo desde desde la programación, cómo puedo llamar a IFC Openell para gestionar un archivo IFC. Bueno, pues todo esto que son las instrucciones de cómo ejecutarlo se las pasamos se les pasa al a la al MCP en forma de en este caso en forma de texto, un texto eh codificado como Markdown para que pueda entenderlo de de una forma más cómoda. Y con ese con esa información es con la que va a empezar a traducir. Cuando yo le pida generar un muro, por ejemplo, lo que va a hacer es buscar en la API de IFC Open Shell cómo se genera un muro. Y entonces, en este caso, pues no sé por dónde lo dirá, es igual por la geometría. Eh, ta ta igual me para crear un elemento. Bueno, de hecho le puedo preguntar directamente al MCP, al perdón, a la a la API, a la cloud, eh, cómo puedo crear un muro en un archivo IFC utilizando IFC Open Share. Lo que estoy haciendo aquí es directamente pedirle a Cloud que haga eh que me explique cuál es el código que utilizaría para crear ese ese elemento. No sé si me lo genera. De momento no dice que no. Y esto mismo es lo que va a hacer eh cuando aquí estamos. Efectivamente, dice, mira, tienes que importar IFC la librería, tienes que importar una parte específica de la librería y a partir de ahí tienes que pues en algún sitio tendrá por aquí cómo crear una una entidad en el en el epa, cómo crear una entidad, eh, bueno, toda la todo el código que tiene que utilizar para crear esa esa entidad. Bien, lo que hace el MCP es decirle, "Mira, eh, en realidad no tienes que devolverme esto, lo que tienes es que ejecutarlo directamente en la herramienta, en este caso en Bonsai, que es la que tiene IFC Openell. Tal modo que es relativamente cómodo el trabajar con los archivos desde una aplicación como esta. Vamos directos al al grano. ¿Cómo instalo esto? Bueno, todas las las herramientas, todos los bueno, estaba diciendo antes, perdón, los componentes, tengo el servidor, tengo el contexto, tengo esas capacidades que expongo, digamos, esas todo lo que puedo hacer. ¿Dónde estaba? Aquí aquí. ¿Dónde estábamos? Esta es la instalación directamente aquí la lista de de herramientas que tengo. La lista de herramientas que tengo es la captura de, bueno, herramientas de de análisis muy básicas para capturar las eh capturas de pantalla. En realidad lo que hace es llamar a Blender, que tiene una herramienta interna de captura de pantalla. Y bueno, pues con eso lo que me devuelve es, sin yo tener que saber cuál es la herramienta que el Blender utiliza para hacer la captura de pantalla, me la devuelve. Bueno, hay una serie de eh herramientas, recuerd, fíjense, create world. E podemos crear un un un muro ifc, como dice aquí, con todo el control, de tal forma que yo le puedo pedir crea un muro y él ya sabe, el MCP ya sabe cuando yo le digo crea un muro, ya sabe cómo decirle a Bonsai que cree ese muro. En fin, pueden ver todas las herramientas que tienen y probablemente podríamos empezar a meterle algunas más. Mm. Este serían las herramientas expuestas, pero hay más componentes. Uno de ellos es la interfaz de comunicación con la IA, porque en realidad aunque yo me estoy comunicando con la IA a través de esta aplicación, digamos que el modelo de lenguaje está por debajo, está detrás. Yo podía no tener que utilizar esta herramienta para trabajar con con la guía, pero necesito siempre de alguna forma comunicarme con con esta herramienta, con lo cual, bueno, pues lo hago, esta interfaz de comunicación con la guía es esta que que están viendo aquí en este caso porque utilizo cloth y lo fundamental, veamos que tengo por un lado la por otro lado el MCP, lo fundamental es que tenga también una eh lo que se llama una herramienta anfitriona, una herramienta que recibe las instrucciones, una herramienta que es el software real sobre el que opera el MCP. En este caso, Blender podría ser mi herramienta anfitriona, pero podría utilizar un MCP para Revit en el que la herramienta anfitriona sería Revit y yo estaría utilizando un un una interfaz como esta para con un MCP por el medio, eh MCP comunicarme con mi con mi herramienta cloud y ya está. O sea, no no es no es mágico, eh, no automatiza por su cuenta. Lo que sirve es para interactuar, para e trabajar con sistemas más complejos como puede ser pues en este caso la API de Bonsai de una forma bastante más sencilla, siempre claro, dentro del marco de herramientas que me que me permite en la práctica. El funcionamiento es pues digo, la IA no accede al software. La IA lo que hace es procesar las instrucciones que yo le doy, confirmar si hay herramientas que pueden dar respuesta a esas instrucciones que yo doy y si las hay pedirle al MCP que actúe eh interpretando esa petición y ejecutando la la eh herramienta más e probable para cada caso. De tal modo que si yo le pido que cree un muro o que fabrique un muro o que construya un muro o que ejecute un muro, pues en el fondo va a llegar todo a create world porque el la inteligencia artificial se encargará de gestionar la parte de de de texto hablado de de texto natural que yo le facilito y e identificar dentro de todo el listado de herramientas que tiene cuál sería la más adecuada. De hecho, podemos hacer una una prueba al respecto. Si yo tomo la tabla de herramientas, se la doy al al aquí a cl. A ver, eh, vamos a hacer una nueva conversación con este. A ver, quiero que me digas cuál es la herramienta más adecuada. para crear un muro en bonsai, teniendo en cuenta este distador. A ver qué tal lo resuelve, porque la verdad que no sé cuál sería la opción que me que me dé. Y lo tengo. Bueno, a ver, estará fácil porque eh teníamos lo de create world, pero a ver con alguna un poco más compleja. Eh, si quiero eh voy a pedirle en vez de que liste las entidades IFC que me diga todos los elementos IFC cuál sería la masa adecuada para conocer todas las clases o todos los elementos para conocer la el tipo IFC de todos los elementos. de un modelo. En este caso, yo estoy simplemente seleccionando la herramienta de un listado. En el fondo es lo que hace el MCP. Va a recibirnos instrucciones, va a seleccionar ifview. Anda, lo que lo que va a hacer es seleccionar de distintas de herramientas que le presenta el MCP, cuál es la más probable que que se que se use para una determinada petición. En este caso, yo quería que me diese aquí, ¿cuál era? Eh, list entities. A ver si si quiero solo listar las entidades, los elementos a lo mejor no es para esto. Get selectedcote. Vale, bueno, aquí estamos. lista eh lista las clases de entidades IFC válidas disponibles. Bueno, pues eh digamos que queda claro que la herramienta el el la inteligencia artificial va a tomar mi mi entrada de datos, va a tomar mi conversación, va a buscar dentro de un catálogo de opciones que tiene disponible y averiguar cuál es la que tiene más posibilidades de ser la que yo estoy buscando. A partir de ahí, el MCP se encarga de gestionar con la herramienta, gestionar con con el con Blender cuáles son las herramientas que cómo va a ejecutar esa esa búsqueda de elementos. Em, ¿por qué puede tener sentido? Yo cada vez creo que menos para modelar las cosas como son y cada vez más para determinados tipos de modelado, en el sentido de que eh no tiene ningún o por lo menos para mí, no tiene ningún sentido que yo explique cómo quiero que haga un muro, porque la digamos lo específico que tengo que ser cuando le defino cómo quiero que haga el muro en por medio de texto realmente no compensa a la hora de ejecutar. salvo que no tengan ni idea de cómo se modela con con bonsai, pero bueno, eh entendido que unos mínimos tengo, el hecho de escribirle las instrucciones va a ser bastante más lento que el modelar el muro. ¿Qué pasa? que si ese muro en realidad va a ser pues una de una geometría específica o va a ser de una complejidad elevada o va a ser una figura del tipo que sea más compleja de modelar pero fácil de de describiremos pues quiero un fachada con forma de pongan lo que les dé la gana pues a lo mejor es mucho más fácil pedirle la fachada con forma de lo que sea al MCP y que el MCP se comunique con la herramienta y que gestione la herramienta para llevar a cabo esa fachada que no eh ponerme yo a dibujarla. Pero en general, yo personalmente todavía veo cierta distancia para las tareas más cotidianas. No quiere decir que, por supuesto, no pueda ser utilizable en tareas bastante más avanzadas o en tareas repetitivas. Oye, quiero que e para todos los elementos que cumplan estas condiciones eh cambies estos datos. para ese tipo de información, creo que es bastante bastante útil, como decía, en la parte práctica, ¿cómo se gestiona esto? ¿Cómo se instala? ¿Cómo funciona? ¿Cómo cómo llegamos aquí? Bueno, e para empezar no son especialmente si alguien está esperando el e descarga esto y dale a instalar hm por ahí no va no va. Eh, casi todos, por no decir todos los los MCPs tienen unos un proceso de instalación más o menos similar. Todos, evidentemente, nos lo van a ir eh dejando claro. Eh, todos tienen una serie de prerrequisitos importantísimos. Si yo no tengo Blender, evidentemente, o en este caso no tengo bonsai, Blender con bonsai, pues no tiene ningún sentido porque mi MCP necesita bonsai para ejecutarse. Si no tengo Python, si no tengo en este caso el lenguaje Python, que es el que el que va a utilizar este esta herramienta, tampoco me valdría. Digamos que yo de momento voy cubriendo porque eh Bonsai lo tengo, Python lo tengo instalado, puedo comprobarlo. Eh, simplemente escribiendo Python, perdón, eh, en este caso es Python 3. Veo que tengo Python 313, el que me pide es 310 o mayor. Bueno, pues fantástico. Me sirve en el caso de que sea con Typesc, pues probablemente necesitaría eh Node, creo que es como un menos V, un men V sin más, sí, node- V. Yo tengo la versión 24, pues tendría que ver cuál es la que tengo. Eh, cuestión más menos habitual, necesito para el caso de Python que tenga instalado el UV Package Manager. Eh, bueno, en mi caso yo creo que lo tengo instalado. A ver, sí, efectivamente lo tengo. Tengo instalado. Vamos a ver la versión 09. Bueno, pues no sé si es la la que pide, pero vemos que ya cumplo esta, cumplo esta, cumplo esta y cloth ya hemos visto que lo tengo instalado, con lo cual puedo empezar a a construir, a instalar mi MCP. Vamos a a dejar el la terminal por aquí cerca porque en algún momento la voy a la voy a necesitar. Mm, primer paso, clonar el el repositorio de GitHub de mi de del que quiero sacar. la el MCP. En este caso, lo que quiero es eh descargarme todo este código para instalarlo. La forma más rápida efectivamente es el git clone repositorio y con esto ya tendría el repositorio eh hecho. Tal que eh git clone y le tengo que decir cuál es el repositorio que que quiero eh copiar, que quiero hacer en este caso. Eh, todo esto, nombre del repositorio IFC Bonsai MCP, pues este es el que el que quiero, como digo, a ver dónde estamos. Aquí yo podría decirle directamente esto. Ojo por si tengo dudas de si esta es la información que tengo que meter. GitHub me ayuda. Me dice aquí, "Oye, ¿cómo quieres clonarlo?" Eh, pues en este caso lo quiero con https. Le digo que clone directamente esto. ¿Y qué pasa? Que claro, esto exige que tenga Git instalado, pero como digo, sería el que más fácilmente me podría entregar el el el MCP. Se lo doy. Busca el el eh repositorio. Clona los datos. No recuerdo cuánto ocupaba esto. Espero que poco porque si no e sí va rápido. Eh, y me voy descargando el repositorio. Me voy descargando exactamente lo que tengo aquí cargado, lo que tengo aquí en en la página. Hombre, una forma digamos más friendly sería, voy a dejarlo por aquí al lado mientras descarga, decir, "Oye, en vez de descargármelo eh con Git, que no lo necesito más que para descargármelo, voy a descargarme el ZIP, el el archivo e comprimido con todo el con todo el repositorio. Como ven aquí ya ya he acabado de cargarlo. ¿Y dónde lo ha metido? Ah, que lo he metido en el directo. Bueno, voy a cambiarlo de sitio un segundo que no me he dado cuenta que estaba directamente en mi directorio R. ¿Y dónde lo he metido? M, IFC Bonsai MCP. Voy a llamarle gitc. Git bonsai MCP. es este archivo. Epa, no quiero hacer esto, quiero hacer esto. Este es el archivo que, bueno, este es el el repositorio que me he descargado, que he con eh que he sincronizado, que he clonado. Y aquí ven pues toda la información que coincide plenamente con Blender Adon, contributing, docs, o sea, toda la información que tengo aquí me la he traído, me la he traído con el Git Clone. No es necesario tener el git clone instalado, de hecho, eh creo que ya he descargado el el zip. A ver, sí, ha descargado el zip. Si yo lo que hago es voy a traérmelo desde aquí un segundo. Si yo me traigo el zip para aquí y lo descomprimo, verán que tengo exactamente lo mismo. Con lo cual, perdón, aquí tengo exactamente la misma información y no necesito tener Git para trabajar con ello. Con lo cual yo, salvo que vayan a utilizar Git para otras cosas, que no nos vamos a meter hoy en ellas, yo diría que simplemente nos descarguemos el el zip, lo descomprimamos y ya tenemos el lado está papelera y ya tenemos nuestra base para trabajar con el MCP, digamos, en en el equipo. Siguientes pasos. Una vez que tenemos instalado, me toca instalar las dependencias. Las dependencias es todas las herramientas que no son que no se han descargado directamente, pero que necesita el la el el MCP para ejecutarse. En este caso, bueno, es un paso a paso bastante sencillo de llevar adelante. PIP es una herramienta de Python, por supuesto tienen que tener instalado Python, tien que tener instalado el gestor de paquetes de Python, que es pip y tratar de instalar UV. Como les dije, en mi caso UV está instalado, con lo cual oca no necesito hacer mucho más. Eh, cerré el terminal. van a tener que trabajar con el terminal en más de una ocasión, con lo cual ya les pido que vayan teniendo paciencia y por lo menos un poquito de que le pierdan e miedo a trabajar con con la con la terminal, aunque sea la de la de Windows. Como decía, en mi caso UV lo tengo instalado. Voy a cambiar el desktop y aquí tengo, vale, CD y CC. Aquí tengo toda la información, esta información de la carpeta y lo que me toca ahora es VSNY. Vs lo que hace es cargar todas esas dependencias, todas esas herramientas que necesito para ejecutar el MCP y que no tengo porque también instaladas en mi equipo, pues las instalo directamente con simplemente VV sync. en en Node sería con eh npm install o bueno, cada herramienta va a tener sus propias instrucciones, pero lo cierto es que coinciden todas ellas en que necesitan pues en este caso todas estas herramientas, ojo que hay unas cuantas, son herramientas que va a necesitar mi en este caso mi MCP para funcionar, para ejecutarse. No instaladas. Estas no tiene ningún ningún trabajo esto, o sea, simplemente hay un listado de herramientas que necesita la el proyecto y las instala. Instalado eso, nos toca ya ahora sí instalar los paquetes de Blender. En este caso, pues es que ya no me voy ni a molestar en hacerlo. Voy a copiarlo directamente. Copio las instrucciones. Lo que estoy haciendo realmente es ejecutar un instalador que tengo aquí, eh, si no recuerdo mal, en scripts. tu. Aquí está el Blender Packages. Bueno, para el que tenga un poco de idea de Python, verá que no es especialmente complejo, pero tiene, digamos que lo que va a hacer es instalándonos distintas herramientas en la en el en el equipo. Eh, de hecho no fui a donde tenía es scripts install blender. scripts. Instal, ojo con esto. Install Blender Packages. Instal Blender Packages es esta sí, efectivamente. Vale. Y nos instala, como digo, los scripts, los paquetes de Python necesarios en en Blender. Ojo con esto porque esto sí puede darnos algún problemilla. Tenemos que ver que las librerías las va a instalar para para Python, perdón, para para el Python que viene en Blender. Blender tiene un un intérprete de Python propio y va a trabajar con va a trabajar con él. Acabo de darme cuenta que no he prestado más atención al chat. Vale, no veo. Bueno, Javier Vallejos ha hecho una pregunta, pero probablemente la pueda responder más adelante. Como decía, algo de de conocimiento de de lo que tenemos entre manos nos tocaría. En todo caso, si seguimos el paso a paso, tampoco debería dar problemas. En mi caso, en concreto, Numpi me va a dar problemas casi seguro porque es eh una librería numérica de cálculo numérico que digamos que tiene ciertas eh diferencias en Windows y en y en Mac y sobre todo en la instalación de Mac de de Blender, con lo cual igual cuando le dé a instalar me da me dé algún problemillo. Vamos a ejecutar eh Python. Bueno, la primera que ya yo tengo instalado Python 3 y me toca ejecutar con Python 3. Eh, bueno, veo que es un sigue paso a paso. En este caso, claro, he encontrado que yo en mi equipo tengo varias aplicaciones de de Blender instaladas. Eh, pues hombre, por si falla algo, casi voy a instalarlo en la versión 453 que no me duele que se pierda. Lo instalo en la dos, me dice todos los paquetes que necesita. En este caso va a instalar IFC Open 07. Me llama la atención que instale el 07 cuando yo el que tengo ya es el 8.4, pero bueno, ahí va. Vale, ya instalado. No un pie. Vale. Ah, no. Bien. Lo que ha hecho ha sido una comprobación. Eh, IFC of Pensell ha comprobado que tengo el 84. Trimes, no sé cuál qué librería es, ha comprobado que tengo la 410 en vez de la 324. Digamos que ha comprobado que yo tengo algunas que ya estaban estaban ahí. Vale, pues seguimos adelante. Eh, a ver. Seguimos adelante. Lo que ha hecho ahora ha sido, como decía, instalar los paquetes que Blender necesita. Y ahora necesitaré eh crear un adon, crear un plugin para Blender. Necesito decirle a Blender que digamos que ahora lo que he hecho ha sido e crear el entorno de trabajo y lo que voy a hacer ahora es crear un plugin como puede ser bonsai para ejecutar como parte de de mi de mi MCP porque recuerden necesitamos una parte de servidor que interactúa entre los dos piezas y una parte dentro de la aplicación que le dice a la aplicación de lo que escucha del MCP que es lo que tiene que que ejecutar. ¿Vale? Pues en este caso lo que tengo que hacer simplemente es también crear el el ADOM. Vamos a ver, realmente es copiar y pegar. En mi caso, cambio el Python por Python 3 porque yo lo tengo así en el en mi equipo, pero no tiene mucho más. E vale, ya ha creado el el adon. De hecho, supongo que aquí en algún sitio, aquí lo tengo. Blenderadon. ha generado ya el el adom, el el plugin que yo necesito en en Blender y lo que me dice es, oye, las instrucciones para para hacerlo tampoco son muy diferentes de cualquier otro otro plugin en Python, perdón, en Blender. Me vengo a editar preferencias e adons y aquí creo recordar que instalar desde disco y al instalar desde disco le digo en el desktop quiero instalar este ad instalo. Aparentemente todo bien. Aquí ven que no hay ningún error y lo tengo activado sin más. De hecho, sin más, no. En algún sitio creo que debería aparecer aquí. Puede ser. Aquí está. Blender MCP. Blender MCP que me da los datos de ese MCP. Todavía no lo voy a arrancar. Aquí podría conectarlo, pero todavía no lo voy a arrancar. Este puerto puedo cambiarlo, pero en principio vamos a dejar el que está por defecto porque es en el que se espera la conexión. No lo voy a arrancar porque me falta un paso importante y es que ahora necesito eh configurar cloud para que ejecute ese ese esa conexión para que cloud sepa que existe mi MCP. En este caso, la configuración es muy inmediata también, eh, si no recuerdo mal, configuración desarrollo. A ver, configuración, ajustes aquí y en ajustes desarrollador. Ah, bueno, ya tenía el fase, ya tenía el el este, lo diré el MCP de Blender funcionando. Voy a tirar este porque no quiero que se confunda. Y voy a editar la configuración para que me va a abrir un archivo para añadir, en este caso, eh, ¿dónde estábamos? Vale, esta parte que es la configuración de eh mi MCP. Ahora me vengo aquí y le digo, este es un MCP que utiliza el navegador y este es el MCP que va a utilizar Python. En este caso, tengo que quitarle todo esto. Un segundo. Así. Y con esto ya tendría guardos y más. Cierro. Creo que tengo que resetearlo. A ver. A ver si tengo que resetarlo. No sé. M. Sí, porque aquí me aparece. Vale, pues CL salgo. Eh, algo, algo falló. Vale, fantástico. Y ahora, ¿dónde lo tenía? Aquí. ¿Qué ha fallado? Pues ha fallado que esto que se cerraba aquí en realidad tengo que eliminar. Como tengo otro, lo que tengo es que añadirle mi MCP Blender. Esto de aquí, eh, sí, esto de aquí tengo que añadírselo, como aquí. Blender es el, a ver, tengo este que es el bronzer y lo tengo ahí y este que es, Vale, tengo los dos instalad y si no me equivoco borrando esto, ya tenerlo a ver por contarlo muy rápido, aquí supone que no tengo ningún MCP, ningún servidor de MCP activo, con lo cual que lo que digamos me permitía era decir, "Oye, arrancas como si no tuvieses nada, pero como en mi caso ya tenía algo, pues lo que tengo es que incorporarlo al resto. Veo que me falta una llave aquí. Vale, ahora sí debería tenerlo bien. Guardamos. Eh, no, esto no. De hecho, esto no sé por qué. Ah, vale. Fuera. ¿Y si arranco close de nuevo? ¿Cómo que no? Pues línea 12, columna 5. Línea 12, columna 5. Que lo he hecho bien, pero Ah, vamos a ver. Línea 12, columna 5 es esta. Yo juraría que esto está bien. No, no está bien. Claro que no, eh. Ah, bueno, sí. Este cierra aquí, este cierra aquí. Este empieza aquí. Comando npx igual, en este caso Python. Fíjense que el el MCP lo que va a hacer es llamar Python, va a llamarlo con una serie de argumentos. En este caso debería estar funcionando exactamente igual. No sé, no está. Vale, no está por esto. Me sobraba ahí una coma. Mm. Está. Vamos a ver si está todo bien. Yo creo que ahora sí. Vamos allá. Por tercera vez, eh, el clos, ejecutamos de nuevo. Y ahora sí, no parece que ponga ningún problema. De hecho, eh, fíjense que desconectado. Bueno, da igual que está desconectado, lógicamente, porque aquí todavía no le he dicho que conecta, etc. Ahora sí que ha conectado. Cerramos. Y aquí debería decirme en algún sitio cuáles son. Ah, bueno, reiniciar. Arranqué el MC, el MCP y ahora arranco cloud y a ver si ya no me da ningún error. Parece que no. Parece que sí. Hm. Blender server desconectado. Ah, bueno, tengo el eh eh pues no sé por qué no tiene desconectado por Y el de Blender, ¿por qué no? Bueno, tendré que ver por qué por qué o por qué no. Eh, la cuestión es que ahora me tocaría ya así empezar a decirle a la herramienta cómo tengo que comunicarme con Blender. En este caso, eh, claro, no va a funcionar directamente. ¿Y por qué file? Vamos a probar un segundito en el terminal a ver cuál es el error que da en este caso. Ah, vale, ya sé cuál es el recuerdan que he estado cambiando Python por Python 3 varias veces, pues probablemente ese sea el problema. El comando que está ejecutando es Python cuando el comando que necesito es Python 3. Vamos a volver a reiniciar clot de nuevo y a ver si pues no. Eh, vale, le echaré un vistazo con más calma, pero básicamente el proceso de instalación está concluido y una vez que está concluido, eh, tendría que haberle eh completado las base de conocimiento para que sepa exactamente de qué estamos de qué estamos hablando y demás, pero una vez que que esto arranca, ya tendríamos que tener, lo tengo, a ver, un segundo, el servidor funcionando. Y con el servidor funcionando, ya puedo empezar a a darle órdenes directamente al al NCP, perdón, al a cloud para que actúe sobre eh Blender, en este caso, sobre Blender, sobre Bonsai. Voy a analizar con más calma qué es lo que lo que ha podido fallar y en probablemente en la semana que viene o directamente en el canal les comento cuál sería el siguiente paso. En todo caso, encantado de volver a estar por aquí y lo que sí, bueno, para el que haya llegado hasta aquí, recuerden que el día 15 empieza un año de IFC y si quieren participar, pues les tocará estar la lista de espera. Eh, en este caso, a ver si me sale ifcad.com/lista. Si se apuntan aquí, van a poder tener hasta el día 15 por 52 € el un año IFC. Sin más, se anotan y eh enseguida, pues eso, en en una semana empezarán a recibir las los envíos. Muchísimas gracias a los que ya están a los que ya están ahí. e encantado con la con la recepción que ha tenido. Y recuerden, a partir del día 15 eh duplica el precio para los que no hayan estado atentos o realmente para los que no hayan estado como han estado algunos de ustedes casi un año o más de un año alguno esperando a que a que arrancase. Nos vemos en la en la próxima semana. Sé que tengo para la próxima semana anotado el tema, pero no recuerdo cuál era. Hm. M. Oh, qué rabia. Sé que lo tengo porque lo hemos lo hemos comentado en el canal también. Nos vemos en en una semana. Muchísimas gracias por su atención y bueno, si quieren estar atentos al al contenido del canal, pues me piden acceso o si no directamente en ifcadictic.com/boletín se pueden suscribir para recibir las las noticias, pero eso ya será mañana por la mañana. Muchísimas gracias. M.

Need a transcript for another video?

Get free YouTube transcripts with timestamps, translation, and download options.

Transcript content is sourced from YouTube's auto-generated captions or AI transcription. All video content belongs to the original creators. Terms of Service · DMCA Contact

MCP, IA, BIM e IFC sin atajos. Haz que la IA entienda tus...