README.pt-br.md
1 > **Language:** [English](../README.md) | [日本語](README.ja.md) | Português (BR) | [Español](README.es.md) | [Русский](README.ru.md) | [简体中文](README.zh.md) | [हिन्दी](README.hi.md) 2 3 # Godot MCP Pro 4 5 Servidor MCP (Model Context Protocol) premium para desenvolvimento de jogos Godot com IA. Conecta assistentes de IA como Claude diretamente ao seu editor Godot com **163 ferramentas poderosas**. 6 7 ## Arquitetura 8 9 ``` 10 AI Assistant ←—stdio/MCP—→ Node.js Server ←—WebSocket:6505—→ Godot Editor Plugin 11 ``` 12 13 - **Tempo real**: Conexão WebSocket significa feedback instantâneo, sem polling de arquivos 14 - **Integração com o editor**: Acesso completo à API do editor Godot, sistema UndoRedo e árvore de cenas 15 - **JSON-RPC 2.0**: Protocolo padrão com códigos de erro e sugestões adequados 16 17 ## Início Rápido 18 19 ### 1. Instalar o Plugin do Godot 20 21 Copie a pasta `addons/godot_mcp/` para o diretório `addons/` do seu projeto Godot. 22 23 Ative o plugin: **Projeto → Configurações do Projeto → Plugins → Godot MCP Pro → Ativar** 24 25 ### 2. Instalar o Servidor MCP 26 27 > **Nota**: O diretório `server/` está incluído apenas no **pacote completo** (pago). 28 > Este repositório GitHub contém apenas o **addon (plugin)**. 29 > Adquira o pacote completo em [godot-mcp.abyo.net](https://godot-mcp.abyo.net/) para obter o servidor. 30 31 ```bash 32 cd server 33 npm install 34 npm run build 35 ``` 36 37 ### 3. Configurar o Claude Code 38 39 Adicione ao seu `.mcp.json`: 40 41 ```json 42 { 43 "mcpServers": { 44 "godot-mcp-pro": { 45 "command": "node", 46 "args": ["D:/dev/godot-mcp-pro/server/build/index.js"], 47 "env": { 48 "GODOT_MCP_PORT": "6505" 49 } 50 } 51 } 52 } 53 ``` 54 55 ### 4. Auto-Aprovação de Permissões de Ferramentas (Recomendado) 56 57 O Claude Code pede permissão cada vez que uma ferramenta é chamada. Para pular esses prompts, copie um dos presets de permissão incluídos para as configurações do Claude Code: 58 59 **Opção A: Conservadora** (padrão — bloqueia ferramentas destrutivas) 60 61 ```bash 62 cp settings.local.json ~/.claude/settings.local.json 63 ``` 64 65 Permite 152 de 163 ferramentas automaticamente. As seguintes 11 ferramentas ainda exigirão aprovação manual: 66 67 | Ferramenta Bloqueada | Motivo | 68 |---|---| 69 | `delete_node` | Exclui um nó da cena | 70 | `delete_scene` | Exclui um arquivo de cena do disco | 71 | `remove_animation` | Remove uma animação | 72 | `remove_autoload` | Remove um singleton autoload | 73 | `remove_state_machine_state` | Remove um estado da state machine | 74 | `remove_state_machine_transition` | Remove uma transição da state machine | 75 | `execute_editor_script` | Executa código arbitrário no editor | 76 | `execute_game_script` | Executa código arbitrário no jogo em execução | 77 | `export_project` | Aciona uma exportação do projeto | 78 | `tilemap_clear` | Limpa todas as células de um TileMapLayer | 79 80 **Opção B: Permissiva** (permite tudo, nega comandos perigosos) 81 82 ```bash 83 cp settings.local.permissive.json ~/.claude/settings.local.json 84 ``` 85 86 Permite todas as 163 ferramentas e todos os comandos Bash. Nega explicitamente comandos shell destrutivos (`rm -rf`, `git push --force`, `git reset --hard`, etc.) e as mesmas ferramentas MCP destrutivas listadas acima. 87 88 > **Nota**: Se você já tem um `settings.local.json`, mescle a seção `permissions` manualmente em vez de sobrescrever. 89 90 ### 5. Modo Lite (Opcional) 91 92 Se seu cliente MCP tem limite de ferramentas (ex: Windsurf: 100, Cursor: ~40), use o modo Lite que registra 76 ferramentas principais em vez de 162: 93 94 ```json 95 { 96 "mcpServers": { 97 "godot-mcp-pro": { 98 "command": "node", 99 "args": ["D:/dev/godot-mcp-pro/server/build/index.js", "--lite"] 100 } 101 } 102 } 103 ``` 104 105 O modo Lite inclui: ferramentas de project, scene, node, script, editor, input, runtime e input_map. 106 107 ### 6. Como Usar 108 109 Abra seu projeto Godot com o plugin ativado e use o Claude Code para interagir com o editor. 110 111 ## Todas as 162 Ferramentas 112 113 ### Ferramentas de Projeto (7) 114 | Ferramenta | Descrição | 115 |------|-------------| 116 | `get_project_info` | Metadados do projeto, versão, viewport, autoloads | 117 | `get_filesystem_tree` | Árvore de arquivos recursiva com filtragem | 118 | `search_files` | Busca de arquivos fuzzy/glob | 119 | `get_project_settings` | Ler configurações do project.godot | 120 | `set_project_setting` | Definir configurações via API do editor | 121 | `uid_to_project_path` | Conversão UID → res:// | 122 | `project_path_to_uid` | Conversão res:// → UID | 123 124 ### Ferramentas de Cena (9) 125 | Ferramenta | Descrição | 126 |------|-------------| 127 | `get_scene_tree` | Árvore de cena ao vivo com hierarquia | 128 | `get_scene_file_content` | Conteúdo bruto do arquivo .tscn | 129 | `create_scene` | Criar novos arquivos de cena | 130 | `open_scene` | Abrir cena no editor | 131 | `delete_scene` | Excluir arquivo de cena | 132 | `add_scene_instance` | Instanciar cena como nó filho | 133 | `play_scene` | Executar cena (principal/atual/personalizada) | 134 | `stop_scene` | Parar cena em execução | 135 | `save_scene` | Salvar cena atual no disco | 136 137 ### Ferramentas de Nó (14) 138 | Ferramenta | Descrição | 139 |------|-------------| 140 | `add_node` | Adicionar nó com tipo e propriedades | 141 | `delete_node` | Excluir nó (com suporte a undo) | 142 | `duplicate_node` | Duplicar nó e filhos | 143 | `move_node` | Mover/reparentar nó | 144 | `update_property` | Definir qualquer propriedade (parsing automático de tipo) | 145 | `get_node_properties` | Obter todas as propriedades do nó | 146 | `add_resource` | Adicionar Shape/Material/etc ao nó | 147 | `set_anchor_preset` | Definir preset de âncora do Control | 148 | `rename_node` | Renomear um nó na cena | 149 | `connect_signal` | Conectar sinal entre nós | 150 | `disconnect_signal` | Desconectar conexão de sinal | 151 | `get_node_groups` | Obter grupos aos quais o nó pertence | 152 | `set_node_groups` | Definir associação de grupo do nó | 153 | `find_nodes_in_group` | Encontrar todos os nós em um grupo | 154 155 ### Ferramentas de Script (8) 156 | Ferramenta | Descrição | 157 |------|-------------| 158 | `list_scripts` | Listar todos os scripts com info de classe | 159 | `read_script` | Ler conteúdo do script | 160 | `create_script` | Criar novo script com template | 161 | `edit_script` | Buscar/substituir ou edição completa | 162 | `attach_script` | Anexar script ao nó | 163 | `get_open_scripts` | Listar scripts abertos no editor | 164 | `validate_script` | Validar sintaxe GDScript | 165 | `search_in_files` | Buscar conteúdo em arquivos do projeto | 166 167 ### Ferramentas do Editor (9) 168 | Ferramenta | Descrição | 169 |------|-------------| 170 | `get_editor_errors` | Obter erros e stack traces | 171 | `get_editor_screenshot` | Capturar viewport do editor | 172 | `get_game_screenshot` | Capturar jogo em execução | 173 | `execute_editor_script` | Executar GDScript arbitrário no editor | 174 | `clear_output` | Limpar painel de saída | 175 | `get_signals` | Obter todos os sinais de um nó com conexões | 176 | `reload_plugin` | Recarregar o plugin MCP (reconexão automática) | 177 | `reload_project` | Reescanear sistema de arquivos e recarregar scripts | 178 | `get_output_log` | Obter conteúdo do painel de saída | 179 180 ### Ferramentas de Entrada (7) 181 | Ferramenta | Descrição | 182 |------|-------------| 183 | `simulate_key` | Simular pressionar/soltar tecla do teclado | 184 | `simulate_mouse_click` | Simular clique do mouse na posição | 185 | `simulate_mouse_move` | Simular movimento do mouse | 186 | `simulate_action` | Simular Godot Input Action | 187 | `simulate_sequence` | Sequência de eventos de entrada com delays de frames | 188 | `get_input_actions` | Listar todas as ações de entrada | 189 | `set_input_action` | Criar/modificar ação de entrada | 190 191 ### Ferramentas de Runtime (19) 192 | Ferramenta | Descrição | 193 |------|-------------| 194 | `get_game_scene_tree` | Árvore de cena do jogo em execução | 195 | `get_game_node_properties` | Propriedades de nó no jogo em execução | 196 | `set_game_node_property` | Definir propriedade de nó no jogo em execução | 197 | `execute_game_script` | Executar GDScript no contexto do jogo | 198 | `capture_frames` | Captura de screenshots multi-frame | 199 | `monitor_properties` | Registrar valores de propriedades ao longo do tempo | 200 | `start_recording` | Iniciar gravação de entrada | 201 | `stop_recording` | Parar gravação de entrada | 202 | `replay_recording` | Reproduzir entrada gravada | 203 | `find_nodes_by_script` | Encontrar nós do jogo por script | 204 | `get_autoload` | Obter propriedades do nó autoload | 205 | `batch_get_properties` | Obter propriedades de múltiplos nós em lote | 206 | `find_ui_elements` | Encontrar elementos de UI no jogo | 207 | `click_button_by_text` | Clicar em botão pelo texto | 208 | `wait_for_node` | Aguardar aparecimento de nó | 209 | `find_nearby_nodes` | Encontrar nós próximos a uma posição | 210 | `navigate_to` | Navegar até posição alvo | 211 | `move_to` | Mover personagem até o alvo | 212 213 ### Ferramentas de Animação (6) 214 | Ferramenta | Descrição | 215 |------|-------------| 216 | `list_animations` | Listar todas as animações no AnimationPlayer | 217 | `create_animation` | Criar nova animação | 218 | `add_animation_track` | Adicionar track (value/position/rotation/method/bezier) | 219 | `set_animation_keyframe` | Inserir keyframe na track | 220 | `get_animation_info` | Info detalhada de animação com todas as tracks/keys | 221 | `remove_animation` | Remover uma animação | 222 223 ### Ferramentas de TileMap (6) 224 | Ferramenta | Descrição | 225 |------|-------------| 226 | `tilemap_set_cell` | Definir uma célula de tile | 227 | `tilemap_fill_rect` | Preencher região retangular com tiles | 228 | `tilemap_get_cell` | Obter dados do tile na célula | 229 | `tilemap_clear` | Limpar todas as células | 230 | `tilemap_get_info` | Info do TileMapLayer e fontes do tile set | 231 | `tilemap_get_used_cells` | Lista de células usadas | 232 233 ### Ferramentas de Tema & UI (6) 234 | Ferramenta | Descrição | 235 |------|-------------| 236 | `create_theme` | Criar arquivo de recurso Theme | 237 | `set_theme_color` | Definir override de cor do tema | 238 | `set_theme_constant` | Definir override de constante do tema | 239 | `set_theme_font_size` | Definir override de tamanho de fonte do tema | 240 | `set_theme_stylebox` | Definir override de StyleBoxFlat | 241 | `get_theme_info` | Obter info de overrides do tema | 242 243 ### Ferramentas de Profiling (2) 244 | Ferramenta | Descrição | 245 |------|-------------| 246 | `get_performance_monitors` | Todos os monitores de desempenho (FPS, memória, física, etc.) | 247 | `get_editor_performance` | Resumo rápido de desempenho | 248 249 ### Ferramentas de Batch & Refatoração (8) 250 | Ferramenta | Descrição | 251 |------|-------------| 252 | `find_nodes_by_type` | Encontrar todos os nós de um tipo | 253 | `find_signal_connections` | Encontrar todas as conexões de sinal na cena | 254 | `batch_set_property` | Definir propriedade em todos os nós de um tipo | 255 | `find_node_references` | Buscar padrão em arquivos do projeto | 256 | `get_scene_dependencies` | Obter dependências de recursos | 257 | `cross_scene_set_property` | Definir propriedade em todas as cenas | 258 | `find_script_references` | Encontrar onde script/recurso é usado | 259 | `detect_circular_dependencies` | Encontrar dependências circulares de cena | 260 261 ### Ferramentas de Shader (6) 262 | Ferramenta | Descrição | 263 |------|-------------| 264 | `create_shader` | Criar shader com template | 265 | `read_shader` | Ler arquivo de shader | 266 | `edit_shader` | Editar shader (substituir/buscar-substituir) | 267 | `assign_shader_material` | Atribuir ShaderMaterial ao nó | 268 | `set_shader_param` | Definir parâmetro do shader | 269 | `get_shader_params` | Obter todos os parâmetros do shader | 270 271 ### Ferramentas de Exportação (3) 272 | Ferramenta | Descrição | 273 |------|-------------| 274 | `list_export_presets` | Listar presets de exportação | 275 | `export_project` | Obter comando de exportação para preset | 276 | `get_export_info` | Info do projeto relacionada à exportação | 277 278 ### Ferramentas de Recurso (6) 279 | Ferramenta | Descrição | 280 |------|-------------| 281 | `read_resource` | Ler propriedades de recurso .tres | 282 | `edit_resource` | Editar propriedades de recurso | 283 | `create_resource` | Criar novo recurso .tres | 284 | `get_resource_preview` | Obter miniatura do recurso | 285 | `add_autoload` | Registrar singleton autoload | 286 | `remove_autoload` | Remover singleton autoload | 287 288 ### Ferramentas de Física (6) 289 | Ferramenta | Descrição | 290 |------|-------------| 291 | `setup_physics_body` | Configurar propriedades do corpo físico | 292 | `setup_collision` | Adicionar formas de colisão aos nós | 293 | `set_physics_layers` | Definir camada/máscara de colisão | 294 | `get_physics_layers` | Obter info de camada/máscara de colisão | 295 | `get_collision_info` | Obter detalhes da forma de colisão | 296 | `add_raycast` | Adicionar nó RayCast2D/3D | 297 298 ### Ferramentas de Cena 3D (6) 299 | Ferramenta | Descrição | 300 |------|-------------| 301 | `add_mesh_instance` | Adicionar MeshInstance3D com mesh primitiva | 302 | `setup_camera_3d` | Configurar propriedades da Camera3D | 303 | `setup_lighting` | Adicionar/configurar nós de luz | 304 | `setup_environment` | Configurar WorldEnvironment | 305 | `add_gridmap` | Configurar nó GridMap | 306 | `set_material_3d` | Definir propriedades de StandardMaterial3D | 307 308 ### Ferramentas de Partículas (5) 309 | Ferramenta | Descrição | 310 |------|-------------| 311 | `create_particles` | Criar GPUParticles2D/3D | 312 | `set_particle_material` | Configurar ParticleProcessMaterial | 313 | `set_particle_color_gradient` | Definir gradiente de cor para partículas | 314 | `apply_particle_preset` | Aplicar preset (fire, smoke, sparks, etc.) | 315 | `get_particle_info` | Obter detalhes do sistema de partículas | 316 317 ### Ferramentas de Navegação (6) 318 | Ferramenta | Descrição | 319 |------|-------------| 320 | `setup_navigation_region` | Configurar NavigationRegion | 321 | `setup_navigation_agent` | Configurar NavigationAgent | 322 | `bake_navigation_mesh` | Assar mesh de navegação | 323 | `set_navigation_layers` | Definir camadas de navegação | 324 | `get_navigation_info` | Obter info de configuração de navegação | 325 326 ### Ferramentas de Áudio (6) 327 | Ferramenta | Descrição | 328 |------|-------------| 329 | `add_audio_player` | Adicionar nó AudioStreamPlayer | 330 | `add_audio_bus` | Adicionar bus de áudio | 331 | `add_audio_bus_effect` | Adicionar efeito ao bus de áudio | 332 | `set_audio_bus` | Configurar propriedades do bus de áudio | 333 | `get_audio_bus_layout` | Obter info do layout de bus de áudio | 334 | `get_audio_info` | Obter info de nós relacionados a áudio | 335 336 ### Ferramentas de AnimationTree (4) 337 | Ferramenta | Descrição | 338 |------|-------------| 339 | `create_animation_tree` | Criar AnimationTree | 340 | `get_animation_tree_structure` | Obter estrutura da árvore | 341 | `set_tree_parameter` | Definir parâmetro do AnimationTree | 342 | `add_state_machine_state` | Adicionar estado à state machine | 343 344 ### Ferramentas de State Machine (3) 345 | Ferramenta | Descrição | 346 |------|-------------| 347 | `remove_state_machine_state` | Remover estado da state machine | 348 | `add_state_machine_transition` | Adicionar transição entre estados | 349 | `remove_state_machine_transition` | Remover transição de estado | 350 351 ### Ferramentas de Blend Tree (1) 352 | Ferramenta | Descrição | 353 |------|-------------| 354 | `set_blend_tree_node` | Configurar nós do blend tree | 355 356 ### Ferramentas de Análise & Busca (4) 357 | Ferramenta | Descrição | 358 |------|-------------| 359 | `analyze_scene_complexity` | Analisar desempenho da cena | 360 | `analyze_signal_flow` | Mapear conexões de sinais | 361 | `find_unused_resources` | Encontrar recursos não referenciados | 362 | `get_project_statistics` | Obter estatísticas do projeto | 363 364 ### Ferramentas de Teste & QA (6) 365 | Ferramenta | Descrição | 366 |------|-------------| 367 | `run_test_scenario` | Executar cenário de teste automatizado | 368 | `assert_node_state` | Verificar valores de propriedade de nó | 369 | `assert_screen_text` | Verificar texto na tela | 370 | `compare_screenshots` | Comparar dois screenshots | 371 | `run_stress_test` | Executar teste de estresse de desempenho | 372 | `get_test_report` | Obter relatório de resultados de teste | 373 374 ## Principais Recursos 375 376 - **Integração UndoRedo**: Todas as operações de nó/propriedade suportam Ctrl+Z 377 - **Parsing Inteligente de Tipos**: `"Vector2(100, 200)"`, `"#ff0000"`, `"Color(1,0,0)"` convertidos automaticamente 378 - **Reconexão Automática**: Reconexão com backoff exponencial (1s → 2s → 4s ... → 60s máx) 379 - **Heartbeat**: Ping/pong a cada 10s mantém a conexão ativa 380 - **Erros Úteis**: Respostas de erro incluem sugestões para próximos passos 381 382 ## Comparação com Concorrentes 383 384 ### Contagem de Ferramentas 385 386 | Categoria | Godot MCP Pro | GDAI MCP ($19) | tomyud1 (free) | Dokujaa (free) | Coding-Solo (free) | ee0pdt (free) | bradypp (free) | 387 |----------|:---:|:---:|:---:|:---:|:---:|:---:|:---:| 388 | Project | 7 | 5 | 4 | 0 | 2 | 2 | 2 | 389 | Scene | 9 | 8 | 11 | 9 | 3 | 4 | 5 | 390 | Node | **14** | 8 | 0 | 8 | 2 | 3 | 0 | 391 | Script | **8** | 5 | 6 | 4 | 0 | 5 | 0 | 392 | Editor | **9** | 5 | 1 | 5 | 1 | 3 | 2 | 393 | Input | **7** | 2 | 0 | 0 | 0 | 0 | 0 | 394 | Runtime | **19** | 0 | 0 | 0 | 0 | 0 | 0 | 395 | Animation | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 396 | TileMap | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 397 | Theme/UI | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 398 | Profiling | **2** | 0 | 0 | 0 | 0 | 0 | 0 | 399 | Batch/Refactor | **8** | 0 | 0 | 0 | 0 | 0 | 0 | 400 | Shader | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 401 | Export | **3** | 0 | 0 | 0 | 0 | 0 | 0 | 402 | Resource | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 403 | Physics | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 404 | 3D Scene | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 405 | Particle | **5** | 0 | 0 | 0 | 0 | 0 | 0 | 406 | Navigation | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 407 | Audio | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 408 | AnimationTree | **4** | 0 | 0 | 0 | 0 | 0 | 0 | 409 | State Machine | **3** | 0 | 0 | 0 | 0 | 0 | 0 | 410 | Blend Tree | **1** | 0 | 0 | 0 | 0 | 0 | 0 | 411 | Analysis | **4** | 0 | 0 | 0 | 0 | 0 | 0 | 412 | Testing/QA | **6** | 0 | 0 | 0 | 0 | 0 | 0 | 413 | Asset/AI | 0 | 0 | 1 | 6 | 0 | 0 | 0 | 414 | Material | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 415 | Other | 0 | 0 | 9 | 5 | 5 | 2 | 1 | 416 | **Total** | **162** | ~30 | **32** | **39** | **13** | **19** | **10** | 417 418 ### Matriz de Funcionalidades 419 420 | Funcionalidade | Godot MCP Pro | GDAI MCP ($19) | tomyud1 (free) | Dokujaa (free) | Coding-Solo (free) | 421 |---------|:---:|:---:|:---:|:---:|:---:| 422 | **Conexão** | WebSocket (tempo real) | stdio (Python) | WebSocket | TCP Socket | Headless CLI | 423 | **Undo/Redo** | Sim | Sim | Não | Não | Não | 424 | **JSON-RPC 2.0** | Sim | Customizado | Customizado | Customizado | N/A | 425 | **Reconexão automática** | Sim (backoff exponencial) | N/A | Não | Não | N/A | 426 | **Heartbeat** | Sim (ping/pong 10s) | Não | Não | Não | Não | 427 | **Sugestões de erro** | Sim (dicas contextuais) | Não | Não | Não | Não | 428 | **Captura de tela** | Sim (editor + jogo) | Sim | Não | Não | Não | 429 | **Simulação de entrada** | Sim (tecla/mouse/ação/sequência) | Sim (básico) | Não | Não | Não | 430 | **Inspeção em runtime** | Sim (árvore de cena + propriedades + monitor) | Não | Não | Não | Não | 431 | **Gerenciamento de sinais** | Sim (conectar/desconectar/inspecionar) | Não | Não | Não | Não | 432 | **Visualizador no navegador** | Não | Não | Sim | Não | Não | 433 | **Geração de mesh 3D por IA** | Não | Não | Não | Sim (Meshy API) | Não | 434 435 ### Categorias Exclusivas (Nenhum Concorrente Possui) 436 437 | Categoria | Ferramentas | Por Que Importa | 438 |----------|-------|----------------| 439 | **Animation** | 6 ferramentas | Criar animações, adicionar tracks, definir keyframes — tudo programaticamente | 440 | **TileMap** | 6 ferramentas | Definir células, preencher retângulos, consultar dados de tiles — essencial para level design 2D | 441 | **Theme/UI** | 6 ferramentas | StyleBox, cores, fontes — construir temas de UI sem trabalho manual no editor | 442 | **Profiling** | 2 ferramentas | FPS, memória, draw calls, física — monitoramento de desempenho | 443 | **Batch/Refactor** | 8 ferramentas | Buscar por tipo, alterações de propriedade em lote, atualizações entre cenas, análise de dependências | 444 | **Shader** | 6 ferramentas | Criar/editar shaders, atribuir materiais, definir parâmetros | 445 | **Export** | 3 ferramentas | Listar presets, obter comandos de exportação, verificar templates | 446 | **Physics** | 6 ferramentas | Configurar formas de colisão, corpos, raycasts e gerenciamento de camadas | 447 | **3D Scene** | 6 ferramentas | Adicionar meshes, câmeras, luzes, ambiente, suporte a GridMap | 448 | **Particle** | 5 ferramentas | Criar partículas com materiais customizados, presets e gradientes | 449 | **Navigation** | 6 ferramentas | Configurar regiões de navegação, agentes, pathfinding, baking | 450 | **Audio** | 6 ferramentas | Sistema completo de bus de áudio, efeitos, players, gerenciamento ao vivo | 451 | **AnimationTree** | 4 ferramentas | Construir state machines com transições e blend trees | 452 | **State Machine** | 3 ferramentas | Gerenciamento avançado de state machine para animações complexas | 453 | **Testing/QA** | 6 ferramentas | Testes automatizados, assertions, stress test, comparação de screenshots | 454 | **Runtime** | 19 ferramentas | Inspecionar e controlar o jogo em tempo de execução: inspecionar, gravar, reproduzir, navegar | 455 456 ### Vantagens de Arquitetura 457 458 | Aspecto | Godot MCP Pro | Concorrente Típico | 459 |--------|--------------|-------------------| 460 | **Protocolo** | JSON-RPC 2.0 (padrão, extensível) | JSON customizado ou baseado em CLI | 461 | **Conexão** | WebSocket persistente com heartbeat | Subprocesso por comando ou TCP bruto | 462 | **Confiabilidade** | Reconexão automática com backoff exponencial (1s→60s) | Reconexão manual necessária | 463 | **Segurança de tipos** | Parsing inteligente de tipos (Vector2, Color, Rect2, cores hex) | Apenas strings ou tipos limitados | 464 | **Tratamento de erros** | Erros estruturados com códigos + sugestões | Mensagens de erro genéricas | 465 | **Suporte a Undo** | Todas as mutações passam pelo sistema UndoRedo | Modificações diretas (sem undo) | 466 | **Gerenciamento de porta** | Auto-scan de portas 6505-6509 | Porta fixa, possíveis conflitos | 467 468 ## Licença 469 470 Proprietário — veja [LICENSE](../LICENSE) para detalhes. A compra inclui atualizações vitalícias para v1.x.