/ docs / README.pt-br.md
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.