Godot MCP Unified
Enables complete natural language control of Godot Engine 4.5+ with 76 tools for managing scripts, scenes, nodes, animations, physics, tilemaps, audio, shaders, navigation, particles, UI, lighting, assets, and exports. Integrates with Claude Desktop, VS Code, and Ollama for AI-assisted game development.
README
Godot MCP Unified - Architecture IA + Godot
Documentation pour mon futur moi - Configuration complete pour coder en langage naturel dans Godot
Architecture Globale
+------------------+
| Claude Code |
| (VS Code) |
+--------+---------+
|
v
+----------------+ +--------+---------+ +------------------+
| Claude Desktop |->| |<-| ollmcp (Ollama) |
| (Anthropic) | | godot-mcp-unified| | qwen2.5-coder:7b |
+----------------+ | (ce serveur) | +------------------+
+--------+---------+
|
v
+--------+---------+
| Godot Engine |
| 4.5.1 |
+------------------+
Ce que ce serveur permet de faire
TOUT faire dans Godot en langage naturel (76 outils) :
| Fonctionnalite | Description | Exemple |
|---|---|---|
| Scripts CRUD | Creer/lire/modifier/supprimer des scripts GDScript | "Cree un script de mouvement pour le joueur" |
| Scenes | Creer et modifier des scenes .tscn | "Cree une scene Player avec CharacterBody2D" |
| Nodes | Ajouter/modifier/supprimer des nodes | "Ajoute un Sprite2D au Player" |
| Animation | AnimationPlayer, tracks, keyframes | "Cree une animation de marche avec 4 frames" |
| Physics | Collision shapes, rigidbody, layers | "Configure la physique du joueur" |
| TileMap | TileSet, TileMapLayer, placement tuiles | "Cree une tilemap avec les tuiles de terrain" |
| Audio | Bus audio, players, effets | "Ajoute un reverb au bus Master" |
| Shaders | Creer shaders et materials | "Cree un shader de dissolution" |
| Navigation | Regions et navmesh | "Configure la navigation pour l'IA" |
| Particles | GPU particles et materials | "Ajoute des particules de feu" |
| UI | Containers et controls | "Cree un menu principal" |
| Lighting | Lumieres 2D/3D et environment | "Configure l'eclairage du niveau" |
| Assets | Import, liste, reimport | "Importe les textures du dossier assets" |
| Export | Presets, export projet/PCK | "Liste les presets d'export" |
| Batch | Operations en sequence | "Execute ces 5 operations d'affilee" |
| Debug | Stream temps reel WebSocket | "Demarre le stream debug sur port 9999" |
| UID | Gestion des identifiants Godot 4.4+ | "Mets a jour les references UID" |
| 3D | Export MeshLibrary pour GridMap | "Exporte les meshes en MeshLibrary" |
Installation (deja fait)
Prerequis installes
- Node.js (pour le serveur MCP)
- Godot 4.5.1 :
C:\Dev\Godot_v4.5.1-stable_win64.exe\Godot_v4.5.1-stable_win64_console.exe - uv (gestionnaire Python moderne)
- ollmcp (bridge Ollama <-> MCP)
Ce serveur
cd C:\Dev\godot-mcp-unified
npm install
npm run build
Configuration
Claude Desktop (C:\Users\pierr\AppData\Roaming\Claude\claude_desktop_config.json)
{
"mcpServers": {
"godot": {
"command": "node",
"args": ["C:\\Dev\\godot-mcp-unified\\build\\index.js"],
"env": {
"GODOT_PATH": "C:\\Dev\\Godot_v4.5.1-stable_win64.exe\\Godot_v4.5.1-stable_win64_console.exe"
}
}
}
}
VS Code / Claude Code (.vscode/mcp.json dans ton projet Godot)
{
"servers": {
"godot": {
"command": "node",
"args": ["C:\\Dev\\godot-mcp-unified\\build\\index.js"],
"env": {
"GODOT_PATH": "C:\\Dev\\Godot_v4.5.1-stable_win64.exe\\Godot_v4.5.1-stable_win64_console.exe"
}
}
}
}
Ollama (via ollmcp)
# Lancer le bridge
ollmcp --model qwen2.5-coder:7b C:\Dev\godot-mcp-unified\build\index.js
# Ou via ollama-gateway (port 3010)
Modeles Ollama disponibles
| Modele | Taille | Usage |
|---|---|---|
qwen2.5-coder:7b |
4.7 GB | Principal pour GDScript - 88.4% HumanEval |
mistral:latest |
4.4 GB | Narration pour jdvlh-ia-game |
gemma2-chess:latest |
5.4 GB | Expert FFE pour chess-app |
qwen2.5-chess:latest |
4.7 GB | Tool calling pour chess-app |
llama3.2-chess:latest |
2.0 GB | Tool calling leger pour chess-app |
deepseek-chess:latest |
8.9 GB | Architecture pour chess-app |
Note: Les modeles -chess ne sont PAS pour jouer aux echecs mais des assistants personnalises pour le developpement de chess-app avec system prompts FFE.
API Reference (76 outils disponibles)
Gestion de projet (12 outils)
launch_editor- Ouvrir l'editeur Godotrun_project- Lancer un projetstop_project- Arreter le projetget_debug_output- Recuperer la sortie consolelist_projects- Lister les projets dans un dossierget_project_info- Info sur un projetget_godot_version- Version de Godotget_project_settings- Lire les settings du projetset_project_setting- Modifier un settingget_input_map- Lire la map des inputsadd_input_action- Ajouter une action inputvalidate_project- Valider la structure projet
Gestion des scenes (10 outils)
create_scene- Creer une nouvelle sceneadd_node- Ajouter un nodeedit_node- Modifier les proprietes d'un noderemove_node- Supprimer un noderename_node- Renommer un nodemove_node- Deplacer un node (reparent)duplicate_node- Dupliquer un nodeload_sprite- Charger une texturesave_scene- Sauvegarder une sceneget_scene_tree- Obtenir l'arbre de scene
Scripts GDScript (6 outils)
list_scripts- Lister tous les .gd du projetread_script- Lire le contenu d'un scriptwrite_script- Creer/modifier un scriptattach_script- Attacher script a un nodedetach_script- Detacher script d'un nodeget_script_errors- Erreurs de compilation
Animation (4 outils)
create_animation_player- Creer AnimationPlayeradd_animation- Ajouter animationadd_animation_track- Ajouter track (value, position, rotation, etc.)set_keyframe- Definir keyframe avec transition/easing
Physics (3 outils)
create_collision_shape- Creer CollisionShape2D/3Dsetup_rigidbody- Configurer RigidBody (masse, gravite)configure_physics_layers- Nommer layers physique 2D/3D
TileMap (4 outils)
create_tileset- Creer TileSet avec tile sizecreate_tilemap_layer- Creer TileMapLayerset_tile- Placer une tuilepaint_tiles- Peindre tuiles en batch
Audio (3 outils)
create_audio_bus- Creer bus audiosetup_audio_player- Configurer AudioStreamPlayeradd_audio_effect- Ajouter effet (reverb, delay, eq)
Shader (2 outils)
create_shader- Creer fichier .gdshadercreate_shader_material- Creer ShaderMaterial
Navigation (2 outils)
create_navigation_region- Creer NavigationRegion2D/3Dbake_navigation_mesh- Cuire navmesh
Particles (2 outils)
create_gpu_particles- Creer GPUParticles2D/3Dcreate_particle_material- Creer ParticleProcessMaterial
UI (2 outils)
create_ui_container- Creer Container (VBox, HBox, Grid, etc.)create_control- Creer Control (Button, Label, etc.)
Lighting (2 outils)
create_light- Creer Light2D/3D (Directional, Omni, Spot)setup_environment- Configurer Environment (fog, glow, SSAO)
Assets (3 outils)
list_assets- Lister assets (images, audio, modeles)import_asset- Importer fichier externereimport_assets- Forcer reimport
Export (3 outils)
export_project- Exporter le projetexport_pack- Exporter PCK seullist_export_presets- Lister presets export
Batch Operations (1 outil)
batch_operations- Executer plusieurs outils MCP en sequence
Debug Stream (3 outils)
start_debug_stream- Demarrer serveur WebSocket debugstop_debug_stream- Arreter serveur WebSocketget_debug_stream_status- Statut du serveur
UID (Godot 4.4+)
get_uid- Obtenir l'UID d'un fichierupdate_project_uids- Mettre a jour les references
3D
export_mesh_library- Exporter en MeshLibrary
Exemples d'utilisation
Creer un personnage joueur
"Cree une scene Player.tscn avec un CharacterBody2D comme root,
ajoute un Sprite2D nomme 'Sprite' et un CollisionShape2D nomme 'Collision'"
Debugger un projet
"Lance mon projet Godot et montre-moi les erreurs dans la console"
Modifier une scene existante
"Dans la scene Player.tscn, change la position du Sprite a (100, 50)
et sa scale a 2x"
Structure des projets Godot
C:\Dev\
├── jdvlh-godot-client\ <- Projet principal (pas de remote git configure!)
│ ├── project.godot
│ ├── .vscode\mcp.json <- Config MCP pour ce projet
│ └── addons\godot_mcp\ <- Plugin MCP copie
│
├── jdvlh-godot\ <- Projet vide (a garder pour tests)
│
└── GodotDynamicDialog\ <- Fork de dynamic-dialog
Origine du code
Ce serveur unifie les fonctionnalites de 3 projets open-source :
| Projet | Fonctionnalites | Repo |
|---|---|---|
| ee0pdt/Godot-MCP | Scripts CRUD | https://github.com/ee0pdt/Godot-MCP |
| bradypp/godot-mcp | Base principale - Scenes, nodes, UID, 3D | https://github.com/bradypp/godot-mcp |
| Coding-Solo/godot-mcp | Launch, run, debug | https://github.com/Coding-Solo/godot-mcp |
Note: GDAI MCP existe mais est payant ($19).
Specs machine
- CPU: Ryzen 5 5600H
- RAM: 16 GB
- GPU: AMD Radeon (integre) - pas de CUDA
- Quantization optimale: Q4_K_M (sweet spot qualite/performance)
Troubleshooting
Le serveur ne demarre pas
cd C:\Dev\godot-mcp-unified
npm run build
Godot non trouve
Verifier que GODOT_PATH pointe vers le bon executable (version console pour voir les logs).
Claude Desktop ne voit pas les outils
Redemarrer Claude Desktop apres modification de la config.
Commandes utiles
# Rebuild le serveur
cd C:\Dev\godot-mcp-unified && npm run build
# Tester avec l'inspecteur MCP
npm run inspector
# Lister les modeles Ollama
ollama list
# Supprimer un modele Ollama
ollama rm nom_modele
TODO
- [ ] Configurer git remote pour jdvlh-godot-client
- [ ] Nettoyer les modeles Ollama redondants (qwen2.5, gemma2, llama3.2, deepseek-coder-v2)
- [ ] Tester l'integration complete avec un nouveau projet
Derniere mise a jour: Decembre 2024 godot-mcp-unified v0.8.0 - 76 outils
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。