Reachy Mini integra herramientas MCP remotas | Keryc
Reachy Mini ahora puede usar herramientas remotas publicadas como Spaces MCP en Hugging Face para buscar en la web o consultar el clima. ¿Suena técnico? Lo es un poco, pero la idea central es sencilla: agregar capacidades que no necesitan estar en tu computador ni tocar el código del robot.
Qué es una "herramienta" para Reachy Mini
Cuando hablas con Reachy Mini no solo obtienes voz: obtienes un sistema que puede usar acciones y consultas para enriquecer la conversación. Una herramienta es cualquier capacidad que el modelo puede invocar durante el diálogo: mover la cabeza, reproducir una emoción, mirar con la cámara o hacer una búsqueda web.
Cada herramienta tiene un nombre y una descripción. El modelo decide cuándo es útil y la llama; luego usa el resultado para responder. Hasta ahora todas las herramientas eran locales en Python y relacionadas con la parte física del robot. Eso funciona para mover hardware, pero es incómodo para cosas como buscar en la web o consultar el clima.
Nuevas herramientas remotas (MCP)
Reachy Mini añade un tercer tipo de herramientas: las remotas MCP. Son ideales para capacidades sin estado que quieras publicar, actualizar o compartir aparte de la app.
Ventajas clave:
Puedes publicar una herramienta como un Space público con el endpoint estándar /gradio_api/mcp/ y cualquiera podrá instalarla.
No se descarga código arbitrario dentro de la app: la app llama al endpoint del Space.
Las herramientas remotas conviven con las herramientas integradas y las locales personalizadas, y se habilitan por perfil.
Ejemplo práctico: instalar y activar el buscador y el clima canary
Luego puedes preguntarle cosas como: "What's the weather in Paris today?" y Reachy Mini usará la herramienta remota de clima para responder.
Cómo controlas qué puede usar el robot: perfiles y tools.txt
Las herramientas solo son invocables si aparecen en el archivo tools.txt del perfil activo. Un perfil es una carpeta con por lo menos instructions.txt y tools.txt. Por defecto el perfil activo es default, salvo que hayas definido REACHY_MINI_CUSTOM_PROFILE.
Ejemplo de profiles/default/tools.txt que habilita todo el set integrado:
dance
stop_dance
play_emotion
stop_emotion
camera
idle_do_nothing
head_tracking
move_head
Para activar una herramienta remota, el comando tool-spaces add valida el Space en el Hub, consulta su endpoint MCP, descubre las herramientas disponibles y, por defecto, añade sus IDs al tools.txt del perfil activo. Usa --install-only si quieres que se instale sin habilitarla.
Los espacios instalados se registran en installed_tool_spaces.json (ruta distinta en modo gestionado vs terminal). Cada Space recibe un alias local con guiones y puntos reemplazados por guiones bajos, por ejemplo:
Esto evita colisiones con las herramientas integradas y permite tener varias fuentes.
Además, el registro exige que Tool.name sea único en todo el conjunto. Si hay conflicto, la app falla pronto para evitar ambigüedad.
Canary, orquestación y prompts (sí, los prompts importan)
Para probar la característica se crearon dos perfiles canary:
canary_web_search añade web search además de herramientas expresivas.
canary_web_search_weather añade web search y clima.
La forma en que el modelo llama a herramientas remotas depende tanto del plumbing como del prompt. Por ejemplo, ante la pregunta:
"Should I bring a jacket in Bordeaux today, and is there anything major happening downtown tonight?"
hay al menos tres estrategias: llamar clima primero, llamada de búsqueda primero, o ambas en paralelo. Los prompts canary incluyen reglas que favorecen llamadas paralelas y establecen cómo combinar resultados en una sola respuesta breve y hablada.
Puntos técnicos importantes:
Los prompts pueden incentivar llamadas paralelas, pero no garantizan orquestación determinista. Si necesitas un orden estricto o ejecución concurrente garantizada, mueve esa lógica a código, no al prompt.
Solo se admiten Spaces que se comporten como servidores MCP (endpoint /gradio_api/mcp/). Si la detección falla, la instalación falla.
Límites y compatibilidad
Tabla rápida de soporte actual:
Capacidad
Soportado
Instalar por slug (Spaces MCP público)
✅
Múltiples Spaces en un perfil
✅
Habilitar por perfil vía tools.txt
✅
IDs namespaciados remotos
✅
Registro agnóstico al backend (OpenAI, Gemini, Hugging Face)
✅
Sin descarga de código arbitrario en la app
✅
Spaces privados o autenticados
❌
Spaces no basados en Gradio
❌
URLs MCP arbitrarias o servidores MCP no-Hugging Face
❌
Orquestación paralela garantizada
❌
Si planeas publicar una herramienta, hazla stateless para que funcione bien por red y configura el endpoint MCP estándar. Etiquetas recomendadas para que otros te encuentren: reachy-mini-tool y mcp.
Qué cambia para desarrolladores y proyectos
Puedes iterar herramientas de búsqueda, clima o lookup sin tocar la app local. Eso acelera pruebas y despliegues.
Mantienes un núcleo de confianza pequeño (las herramientas físicas siguen locales) y expandes capacidades con fuentes remotas.
Debes pensar en idempotencia y latencia: las llamadas remotas añaden tiempo, y los prompts deben estar diseñados para fusionar resultados de forma natural.
¿Y si quieres control más fino? Pasa la orquestación sensible a tu código: implementa un orchestrator que llame a los MCP endpoints en el orden o la concurrencia que necesites.
El equipo ya dejó dos canary Spaces públicos para arrancar: un buscador web y una herramienta de clima. Son ejemplos pequeños pero suficientes para validar todo el flujo: instalación, descubrimiento, habilitación por perfil y llamadas en tiempo real desde el backend.
Reachy Mini suma flexibilidad sin abrir la caja del robot a código externo, y al mismo tiempo invita a la comunidad a publicar herramientas útiles. ¿Qué herramienta te gustaría construir y compartir?