La fascinación de Microsoft con los agentes de IA como herramienta para desarrolladores continúa con Wassette, un nuevo lanzamiento de código abierto de su equipo de tiempo de actividad de Azure Core. Instruido en óxido y diseñado para alojar piezas de funcionalidad escritas como componentes de WebAssembly, es un primer paso para ofrecer una funcionalidad personalizable y compuesta que puede implementarse como una herramienta para un agente local, en este caso, el agente de copilot de GitHub que se ejecuta en el código Visual Studio o cualquier otro agente de protocolo del contexto modelo. Wassette es, en el fondo, relativamente simple. Carga y ejecuta componentes, los sencillos los sand por el tiempo de ejecución de Wasmtime familiar y proporciona una interfaz MCP al traducir sus interfaces a la funcionalidad MCP. Usando Wassette y una combinación de sus propios componentes de WebAssemble de webs y públicos, puede ensamblar rápidamente una biblioteca de herramientas seguras adaptadas a un proyecto específico. Trabajar con Wassette en VS Code Comenzar es bastante simple. Aunque tuve problemas para ejecutar la versión ARM de Wassette tanto en Windows como en Linux, la versión X64 funcionó la primera vez. Los usuarios de Windows pueden instalar usando Winget. Los usuarios de Linux pueden usar curl y un script de instalación. Otras opciones incluyen soporte de cerveza casera o uso de NIX para configurar un caparazón de desarrollo con Wassette. Surgía un problema menor: una detección de virus falsas positivas en el defensor de Windows significaba que tenía que deshabilitar temporalmente mis herramientas antivirus para completar la instalación basada en el ala. Hay un problema relacionado de GitHub que señala que el equipo de desarrollo está trabajando para registrar la firma de Wassette para evitar esto en el futuro. Una vez instalado, debe registrar el servidor Wassette MCP con su herramienta de desarrollador. Microsoft proporciona instrucciones para Visual Studio Code, Cursor, Claude Code y Gemini CLI. Encontré que el script que la documentación sugirió para el código VS falló, y tuve que instalar MCP manualmente utilizando la herramienta integrada en la interfaz de usuario de GitHub Copilot Agent de VS Code. Esto requirió tener que reinstalar cada vez que reinicié el código. Esperemos que una versión actualizada de la herramienta Wassette solucione esto. No es un factor decisivo, pero es un poco incómodo recargarlo repetidamente. Cuando el servidor Wassette MCP se ejecuta dentro del agente de copilot github, puede comenzar a usarlo. Aparecerá como otra herramienta junto con otros servidores registrados. Debe tener en cuenta que si tiene más de 128 herramientas registradas en Copilot GitHub, puede ser lento para seleccionar la herramienta adecuada para su mensaje. La documentación proporciona un enlace a un cliente de tiempo básico que extiende la funcionalidad de copiloto de GitHub base. Desde la interfaz de usuario de chat de copilot github, pude cargar esto desde un registro de OCI remoto. El agente seleccionó el servidor Wassette MCP y cargó el componente WebAssembly. Luego podría usarlo para obtener la hora actual, una característica que el agente base no pudo ofrecer. Un servidor MCP extensible y seguro que obtiene el tiempo puede parecer una característica relativamente trivial para agregar al agente de copilot de GitHub, pero es solo un ejemplo de lo que puede hacer con Wassette. Esta es una plataforma extensible; Si una función no está disponible, puede escribir rápidamente la suya y agregarla. La ventaja adicional de ejecutar en una caja de arena websembly reduce el riesgo al aislar módulos entre sí y del sistema operativo y el IDE. Gran parte del modelo de seguridad proviene de Wasmtime, ya que se basa en un modelo de menos privilegio. Un componente cargado en Wassette debe tener permisos explícitos para los servicios que necesita, y utiliza la interfaz de chat de agente para solicitarlos según sea necesario. Por ejemplo, un componente que necesita acceso a la red solicitará permiso para cada dominio específico al que se conecta. Esto asegura que un módulo que obtenga el tiempo desde el bloqueo de su PC no envíe sus claves de aplicación a un dominio nefasto. Si solicita permisos de red cuando no los espera o para un dominio que no solicitó, puede usar el agente para bloquearlo. Microsoft ha proporcionado un conjunto de herramientas de muestra para mostrar lo que se puede hacer con Wassette. Todos son componentes de WebAssembly, escritos en una selección de diferentes idiomas. Estos incluyen Python, JavaScript, Rust y Go. Si hay soporte de WASMTIME para un idioma, puede construir un componente con él, listo para usar en Wassette. Agregar características con los componentes de WebAssembly Es importante comprender que no necesita hacer nada con un componente de WebAssembly para usarlo con Wassette. Anteriormente describí el protocolo del contexto del modelo como un equivalente moderno de herramientas como el lenguaje de definición de interfaz de Corba, ya que toma API y otras interfaces y las envuelve en una descripción lista para agentes con una forma común de enviar y recibir información. Wassette hace esto aprovechando una de las características clave de los componentes de WebAssembly: el hecho de que exponen funciones como interfaces de la biblioteca fuertemente tipadas. Wassette puede usar cualquier componente existente (y futuro), dándole acceso eventual a un ecosistema más amplio que agregará flexibilidad a sus agentes. La clave de este enfoque es cómo los componentes de WebSembly interactúan con el marco WASMTIME, utilizando los tipos de interfaz WebAssembly. Esto expone funciones e interfaces tipificadas, lo que le brinda acceso limitado y controlado al componente. Si un componente requiere una cadena, solo aceptará una cadena. También puede tener múltiples componentes escritos en diferentes idiomas, todos compilados a WASM y en ejecución en el mismo host Wassette. No necesita aprender nada nuevo para crear una interfaz de componente. Se implementan utilizando el modelo de interfaz estándar en el lenguaje que elija antes de compilar a WASM y almacenar en un registro de OCI. Las interfaces pueden admitir múltiples operaciones, y la Alianza ByTecode proporciona herramientas para ayudar a construir componentes en su repositorio de GitHub. No es difícil escribir componentes de WebAssembly, y una vez que comience a aprovechar WASI, puede construir el sistema de archivos local y las características de la red, que se pueden controlar utilizando el marco de permisos WASMTIME a través de WASSETTE. Si necesita agregar una función a un agente para proporcionar una base más profunda en los datos reales, esta es una de las formas más eficientes y directas de exponerla a través de MCP de forma segura. ¿Qué sigue para Wassette? Este es un lanzamiento inicial y obviamente faltan las características. Quizás lo más importante es la falta de una función de descubrimiento, tanto para los registros de OCI como para los componentes de WebAssembly almacenados en ellos. Por ahora, si necesita un componente específico, necesita el URI OCI correcto. Como Wassette es un proyecto de código abierto, puede involucrarse en su desarrollo en GitHub. Con Wassette inicialmente apuntando a agentes centrados en el desarrollador, no hay una razón real por la que no puede ser parte de ninguna plataforma de agente que use MCP. Puede usarlo en una plataforma de servicio al cliente, con componentes que extienden su plataforma CRM a otras aplicaciones o en cualquier lugar que necesite funcionalidad que no proporcione los servidores Core MCP que está utilizando. Es especialmente útil cuando esas funciones requeridas son pequeñas y no requieren mucho código, pero aún así deben estar seguros con el acceso estrechamente controlado a los recursos. Es interesante ver una herramienta como esta temprano en la vida de los agentes modernos de IA. La combinación de código modular descubierta que se ejecuta en su contexto local, junto con la capacidad de agregar rápidamente nuevas extensiones, me recuerda el trabajo que se realizó en marcos de agentes en desarrollo como Kaleida en la década de 1990. Hoy, podemos construirlos en una plataforma con una caja de arena local y no necesitamos aprender un idioma completamente nuevo. Con Wassette podemos desarrollar e implementar las características que necesitamos ver en un servidor MCP, instalándolas solo cuando sea necesario.