Bevy BRP MCP
Controla, inspecciona y muta aplicaciones Bevy con asistentes de codificación de IA a través del Protocolo Remoto Bevy (BRP).
Documentación
⚠️ ARCHIVADO - ¡Este repositorio ha sido movido!
Este repositorio está archivado y ya no se mantiene.
El desarrollo se ha movido al espacio de trabajo unificado en: https://github.com/natepiano/bevy_brp
El crate
bevy_brp_mcpahora se mantiene como parte del espacio de trabajo en: https://github.com/natepiano/bevy_brp/tree/main/mcp
Para usuarios:
- Actualiza tus dependencias para usar el crate desde la nueva ubicación
- Toda la funcionalidad existente se ha conservado
- El crate todavía se publica en crates.io como
bevy_brp_mcp
Para contribuyentes:
- Por favor, envía todos los problemas y PRs al nuevo repositorio: https://github.com/natepiano/bevy_brp
- El historial de Git se ha conservado mediante fusión de subárboles
El README original continúa:
Acerca de
Un servidor de Model Context Protocol (MCP) que permite a los asistentes de codificación de IA controlar el lanzamiento, inspeccionar y mutar aplicaciones Bevy a través del Bevy Remote Protocol (BRP). Esta herramienta cierra la brecha entre los agentes de codificación y Bevy al proporcionar una integración completa de BRP como servidor MCP.
Compatibilidad con Bevy
| bevy | bevy_brp_mcp |
|---|---|
| 0.16 | 0.1 |
El crate bevy_brp_mcp sigue la numeración de versiones de Bevy y publica nuevas versiones para cada lanzamiento de Bevy.
Características
Operaciones básicas de BRP
- Gestión de entidades: Crear, destruir, consultar y modificar entidades
- Operaciones de componentes: Obtener, insertar, eliminar y mutar componentes en entidades
- Gestión de recursos: Acceder y modificar recursos globales
- Sistema de consultas: Consulta avanzada de entidades con filtros
- Operaciones de jerarquía: Relaciones de entidades padre-hijo
Descubrimiento y gestión de aplicaciones
- Descubrimiento de aplicaciones: Encuentra y lista aplicaciones Bevy en tu espacio de trabajo
- Estado de compilación: Comprueba qué aplicaciones están compiladas y listas para ejecutarse
- Gestión de lanzamiento: Inicia aplicaciones con carga de activos y registro adecuados
- Soporte de ejemplos: Descubre y ejecuta ejemplos de Bevy desde tus proyectos
Monitoreo en tiempo real
- Observación de componentes: Monitorea cambios de componentes en entidades específicas
- Gestión de registros: Registro centralizado para todas las aplicaciones lanzadas
- Estado del proceso: Comprueba si las aplicaciones se están ejecutando con BRP habilitado
Integración mejorada de BRP
requiere bevy_brp_extras
- Descubrimiento de formato: Obtén los formatos JSON correctos para operaciones BRP (a través de bevy_brp_extras)
- Captura de pantalla: Toma capturas de pantalla de aplicaciones Bevy en ejecución
- Entrada de teclado: Envía entrada de teclado a aplicaciones Bevy para pruebas y automatización
- Descubrimiento de códigos de teclas: Lista todos los códigos de teclas de teclado disponibles para operaciones de entrada
- Apagado elegante: Terminación limpia de la aplicación
Primeros pasos
primero, instala vía cargo:
cargo install bevy_brp_mcp
configura tu servidor mcp - para claude code esto estaría en el archivo ~/.claude.json.
"mcpServers": {
"brp": {
"type": "stdio",
"command": "bevy_brp_mcp",
"args": [],
"env": {}
}
},
¡eso es todo!
Uso
Con asistentes de codificación de IA
bevy_brp_mcp está diseñado para usarse con asistentes de codificación de IA que soporten MCP (como Claude). El servidor MCP proporciona herramientas que permiten a la IA:
- Descubrir y lanzar tus aplicaciones Bevy - con registros almacenados en tu directorio temporal para que el asistente de codificación pueda acceder a ellos.
- Inspeccionar y modificar componentes de entidades en tiempo real
- Monitorear el estado de la aplicación y depurar problemas
- Tomar capturas de pantalla y gestionar el ciclo de vida de la aplicación (requiere
bevy_brp_extras)
Configurando tu aplicación Bevy
Para una funcionalidad completa, tu aplicación Bevy debe incluir soporte BRP:
use bevy::prelude::*;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(bevy::remote::RemotePlugin::default()) // Enable BRP
.run();
}
Para características mejoradas como capturas de pantalla y descubrimiento de formato, agrega también bevy_brp_extras:
use bevy::prelude::*;
use bevy_brp_extras::BrpExtrasPlugin;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(BrpExtrasPlugin) // Enhanced BRP features
.run();
}
En cualquier caso, deberás asegurarte de habilitar la característica "bevy_remote" de bevy.
Integración con bevy_brp_extras
Este crate está diseñado para funcionar sin problemas con bevy_brp_extras. Cuando ambos se usan juntos:
- Agrega
BrpExtrasPlugina tu aplicación Bevy para características BRP mejoradas - Usa
bevy_brp_mcpcon tu asistente de codificación de IA - Métodos adicionales como captura de pantalla, apagado y descubrimiento de formato estarán disponibles automáticamente
- Obtén formatos JSON adecuados para operaciones BRP complejas. La característica brp_extras/discover_format es especialmente útil. El valor devuelto por bevy/registry/schema no te dice exactamente qué se espera en las llamadas brp spawn/insert/mutate. Como resultado, tu agente de codificación recurrirá a prueba y error para resolverlo, pero no es 100% confiable.
Si tienes bevy_brp_extras instalado, puede obtener la información de tipo directamente de la aplicación en ejecución y proporcionarla si se consulta a través de brp_extras/discover_format - o la proporcionará en el mensaje de error si tu agente de codificación intenta una llamada y falla.
Flujo de trabajo de ejemplo
- Descubrimiento: Usa
list_bevy_appspara encontrar aplicaciones disponibles - Lanzamiento: Usa
launch_bevy_apppara iniciar tu juego con registro adecuado - Inspección: Usa
bevy_querypara encontrar entidades de interés - Monitoreo: Usa
brp_get_watchpara observar cambios de entidades en tiempo real - Modificación: Usa
bevy_mutate_componentpara ajustar propiedades de entidades - Depuración: Usa
read_logpara examinar la salida de la aplicación - Captura: Usa
brp_extras_screenshotpara documentar el estado actual - Interacción: Usa
brp_extras_send_keyspara enviar entrada de teclado para pruebas
Registro
Todas las aplicaciones lanzadas crean archivos de registro detallados en /tmp/ con nombres como:
bevy_brp_mcp_myapp_1234567890.log(registros de aplicación)bevy_brp_mcp_watch_123_get_456_1234567890.log(registros de monitoreo)
Usa las herramientas de gestión de registros para ver y limpiar estos archivos.
Licencia
Con doble licencia bajo cualquiera de:
- Licencia MIT (LICENSE-MIT o http://opensource.org/licenses/MIT)
- Licencia Apache, Versión 2.0 (LICENSE-APACHE o http://www.apache.org/licenses/LICENSE-2.0)
a tu elección.