bevy_brp_mcp
Un servidor MCP para asistentes de codificación de IA que permite controlar, inspeccionar y modificar aplicaciones Bevy utilizando el Bevy Remote Protocol (BRP).
Documentación
⚠️ ARCHIVADO - ¡Este repositorio ha sido movido!
Este repositorio está archivado y ya no se mantiene.
El desarrollo se ha trasladado 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:
- Actualice sus 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 contribuidores:
- Por favor, envíe 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
README original a continuación:
Acerca de
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de codificación con IA controlar el lanzamiento, inspeccionar y mutar aplicaciones Bevy mediante el Protocolo Remoto de Bevy (BRP). Esta herramienta une la brecha entre los agentes de codificación y Bevy al proporcionar una integración integral de BRP como servidor MCP.
Compatibilidad con Bevy
| bevy | bevy_brp_mcp |
|---|---|
| 0.16 | 0.1 |
El crate bevy_brp_mcp sigue el esquema de versiones de Bevy y publica nuevas versiones para cada lanzamiento de Bevy.
Características
Operaciones BRP Principales
- 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 padre-hijo de entidades
Descubrimiento y Gestión de Aplicaciones
- Descubrimiento de Aplicaciones: Encontrar y listar aplicaciones Bevy en su espacio de trabajo
- Estado de Compilación: Verificar qué aplicaciones están compiladas y listas para ejecutarse
- Gestión de Lanzamiento: Iniciar aplicaciones con carga de recursos y registro adecuados
- Soporte de Ejemplos: Descubrir y ejecutar ejemplos de Bevy desde sus proyectos
Monitoreo en Tiempo Real
- Observación de Componentes: Monitorear cambios de componentes en entidades específicas
- Gestión de Registros: Registro centralizado para todas las aplicaciones lanzadas
- Estado del Proceso: Verificar si las aplicaciones están ejecutándose con BRP habilitado
Integración BRP Mejorada
requiere bevy_brp_extras
- Descubrimiento de Formatos: Obtener formatos JSON correctos para operaciones BRP (a través de bevy_brp_extras)
- Captura de Pantalla: Tomar capturas de pantalla de aplicaciones Bevy en ejecución
- Entrada de Teclado: Enviar entrada de teclado a aplicaciones Bevy para pruebas y automatización
- Descubrimiento de Códigos de Tecla: Listar todos los códigos de tecla de teclado disponibles para operaciones de entrada
- Apagado Elegante: Terminación limpia de aplicaciones
Comenzando
primero, instale vía cargo:
cargo install bevy_brp_mcp
configure su 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 con IA
bevy_brp_mcp está diseñado para usarse con asistentes de codificación con IA que soporten MCP (como Claude). El servidor MCP proporciona herramientas que permiten a la IA:
- Descubrir y lanzar sus aplicaciones Bevy - con registros almacenados en su 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 Su Aplicación Bevy
Para funcionalidad completa, su 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 formatos, agregue 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, necesitará asegurarse 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:
- Agregue
BrpExtrasPlugina su aplicación Bevy para características BRP mejoradas - Use
bevy_brp_mcpcon su asistente de codificación con IA - Métodos adicionales como captura de pantalla, apagado y descubrimiento de formatos estarán automáticamente disponibles
- Obtenga 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 le dice exactamente qué espera la llamada brp spawn/insert/mutate. Como resultado, su agente de codificación se involucrará en prueba y error para resolverlo, pero no es 100% confiable.
Si tiene 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 su agente de codificación intenta una llamada y falla.
Flujo de Trabajo de Ejemplo
- Descubrimiento: Use
list_bevy_appspara encontrar aplicaciones disponibles - Lanzamiento: Use
launch_bevy_apppara iniciar su juego con registro adecuado - Inspección: Use
bevy_querypara encontrar entidades de interés - Monitoreo: Use
brp_get_watchpara observar cambios de entidades en tiempo real - Modificación: Use
bevy_mutate_componentpara ajustar propiedades de entidades - Depuración: Use
read_logpara examinar la salida de la aplicación - Captura: Use
brp_extras_screenshotpara documentar el estado actual - Interacción: Use
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)
Use las herramientas de gestión de registros para ver y limpiar estos archivos.
Licencia
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 su opción.