bevy_brp_mcp
Um servidor MCP para assistentes de codificação de IA controlarem, inspecionarem e modificarem aplicações Bevy usando o Bevy Remote Protocol (BRP).
Documentação
⚠️ ARQUIVADO - Este repositório foi movido!
Este repositório está arquivado e não é mais mantido.
O desenvolvimento foi movido para o workspace unificado em: https://github.com/natepiano/bevy_brp
O crate
bevy_brp_mcpagora é mantido como parte do workspace em: https://github.com/natepiano/bevy_brp/tree/main/mcp
Para usuários:
- Atualize suas dependências para usar o crate a partir do novo local
- Toda a funcionalidade existente foi preservada
- O crate ainda é publicado no crates.io como
bevy_brp_mcp
Para contribuidores:
- Por favor, envie todas as issues e PRs para o novo repositório: https://github.com/natepiano/bevy_brp
- O histórico do Git foi preservado via merge de subárvore
README original segue abaixo:
Sobre
Um servidor Model Context Protocol (MCP) que permite que assistentes de codificação com IA controlem a inicialização, inspecionem e modifiquem aplicações Bevy através do Bevy Remote Protocol (BRP). Esta ferramenta preenche a lacuna entre agentes de codificação e Bevy, fornecendo integração abrangente com BRP como um servidor MCP.
Compatibilidade com Bevy
| bevy | bevy_brp_mcp |
|---|---|
| 0.16 | 0.1 |
O crate bevy_brp_mcp segue a numeração de versões do Bevy e lança novas versões para cada lançamento do Bevy.
Recursos
Operações BRP Principais
- Gerenciamento de Entidades: Criar, destruir, consultar e modificar entidades
- Operações de Componentes: Obter, inserir, remover e modificar componentes em entidades
- Gerenciamento de Recursos: Acessar e modificar recursos globais
- Sistema de Consulta: Consulta avançada de entidades com filtros
- Operações de Hierarquia: Relacionamentos pai-filho de entidades
Descoberta e Gerenciamento de Aplicações
- Descoberta de Apps: Encontrar e listar aplicações Bevy no seu workspace
- Status de Build: Verificar quais apps estão compilados e prontos para executar
- Gerenciamento de Inicialização: Iniciar apps com carregamento adequado de assets e logging
- Suporte a Exemplos: Descobrir e executar exemplos Bevy dos seus projetos
Monitoramento em Tempo Real
- Observação de Componentes: Monitorar mudanças de componentes em entidades específicas
- Gerenciamento de Logs: Logging centralizado para todas as aplicações iniciadas
- Status do Processo: Verificar se os apps estão rodando com BRP habilitado
Integração BRP Aprimorada
requer bevy_brp_extras
- Descoberta de Formatos: Obter formatos JSON corretos para operações BRP (via bevy_brp_extras)
- Captura de Screenshots: Tirar screenshots de aplicações Bevy em execução
- Entrada de Teclado: Enviar entrada de teclado para aplicações Bevy para testes e automação
- Descoberta de Códigos de Tecla: Listar todos os códigos de tecla disponíveis para operações de entrada
- Desligamento Gracioso: Encerramento limpo da aplicação
Começando
primeiro, instale via cargo:
cargo install bevy_brp_mcp
configure seu servidor mcp - para claude code isso seria no arquivo ~/.claude.json.
"mcpServers": {
"brp": {
"type": "stdio",
"command": "bevy_brp_mcp",
"args": [],
"env": {}
}
},
é isso!
Uso
Com Assistentes de Codificação com IA
bevy_brp_mcp é projetado para ser usado com assistentes de codificação com IA que suportam MCP (como Claude). O servidor MCP fornece ferramentas que permitem que a IA:
- Descubra e inicie suas aplicações Bevy - com logs armazenados no seu diretório temp para que possam ser acessados pelo assistente de codificação.
- Inspecione e modifique componentes de entidades em tempo real
- Monitore o estado da aplicação e depure problemas
- Tire screenshots e gerencie o ciclo de vida da aplicação (requer
bevy_brp_extras)
Configurando Sua Aplicação Bevy
Para funcionalidade completa, sua aplicação Bevy deve incluir suporte a BRP:
use bevy::prelude::*;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(bevy::remote::RemotePlugin::default()) // Enable BRP
.run();
}
Para recursos aprimorados como screenshots e descoberta de formatos, adicione também 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();
}
Em ambos os casos, você precisará garantir que o recurso "bevy_remote" do bevy esteja habilitado.
Integração com bevy_brp_extras
Este crate é projetado para funcionar perfeitamente com bevy_brp_extras. Quando ambos são usados juntos:
- Adicione
BrpExtrasPluginà sua aplicação Bevy para recursos BRP aprimorados - Use
bevy_brp_mcpcom seu assistente de codificação com IA - Métodos adicionais como screenshot, shutdown e descoberta de formatos estarão automaticamente disponíveis
- Obtenha formatos JSON adequados para operações BRP complexas. O recurso brp_extras/discover_format é especialmente útil. O valor retornado de bevy/registry/schema não informa exatamente o que é esperado pelas chamadas brp spawn/insert/mutate. Como resultado, seu agente de codificação tentará por tentativa e erro para descobrir, mas não é 100% confiável.
Se você tiver bevy_brp_extras instalado, ele pode obter as informações de tipo diretamente da aplicação em execução e fornecê-las se consultado via brp_extras/discover_format - ou as fornecerá na mensagem de erro se seu agente de codificação tentar uma chamada e falhar.
Fluxo de Trabalho de Exemplo
- Descoberta: Use
list_bevy_appspara encontrar aplicações disponíveis - Inicialização: Use
launch_bevy_apppara iniciar seu jogo com logging adequado - Inspeção: Use
bevy_querypara encontrar entidades de interesse - Monitoramento: Use
brp_get_watchpara observar mudanças de entidades em tempo real - Modificação: Use
bevy_mutate_componentpara ajustar propriedades de entidades - Depuração: Use
read_logpara examinar a saída da aplicação - Captura: Use
brp_extras_screenshotpara documentar o estado atual - Interação: Use
brp_extras_send_keyspara enviar entrada de teclado para testes
Logging
Todas as aplicações iniciadas criam arquivos de log detalhados em /tmp/ com nomes como:
bevy_brp_mcp_myapp_1234567890.log(logs da aplicação)bevy_brp_mcp_watch_123_get_456_1234567890.log(logs de monitoramento)
Use as ferramentas de gerenciamento de logs para visualizar e limpar esses arquivos.
Licença
Dual-licenciado sob:
- Licença MIT (LICENSE-MIT ou http://opensource.org/licenses/MIT)
- Apache License, Versão 2.0 (LICENSE-APACHE ou http://www.apache.org/licenses/LICENSE-2.0)
à sua escolha.