Godot MCP for VS Code
io.github.shin2344234/godot-mcp
Edit Godot 4 scenes, nodes and scripts; run, test and debug games live in the editor or headless.
client:VS Code
transport:stdio
runtime:npm
Install Godot MCP in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "godot-project-path",
"description": "GODOT_PROJECT_PATH",
"password": true
},
{
"type": "promptString",
"id": "godot-path",
"description": "GODOT_PATH",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-mode",
"description": "GODOT_MCP_MODE",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-toolsets",
"description": "GODOT_MCP_TOOLSETS",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-read-only",
"description": "GODOT_MCP_READ_ONLY",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-allow-eval",
"description": "GODOT_MCP_ALLOW_EVAL",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-confirm",
"description": "GODOT_MCP_CONFIRM",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-log-level",
"description": "GODOT_MCP_LOG_LEVEL",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-headless-timeout-ms",
"description": "GODOT_MCP_HEADLESS_TIMEOUT_MS",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-bridge-timeout-ms",
"description": "GODOT_MCP_BRIDGE_TIMEOUT_MS",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-lsp-port",
"description": "GODOT_MCP_LSP_PORT",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-lsp-timeout-ms",
"description": "GODOT_MCP_LSP_TIMEOUT_MS",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-lsp-idle-ms",
"description": "GODOT_MCP_LSP_IDLE_MS",
"password": true
},
{
"type": "promptString",
"id": "godot-mcp-cache-dir",
"description": "GODOT_MCP_CACHE_DIR",
"password": true
}
],
"servers": {
"godot-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@shin2344234/godot-mcp"
],
"env": {
"GODOT_PROJECT_PATH": "${input:godot-project-path}",
"GODOT_PATH": "${input:godot-path}",
"GODOT_MCP_MODE": "${input:godot-mcp-mode}",
"GODOT_MCP_TOOLSETS": "${input:godot-mcp-toolsets}",
"GODOT_MCP_READ_ONLY": "${input:godot-mcp-read-only}",
"GODOT_MCP_ALLOW_EVAL": "${input:godot-mcp-allow-eval}",
"GODOT_MCP_CONFIRM": "${input:godot-mcp-confirm}",
"GODOT_MCP_LOG_LEVEL": "${input:godot-mcp-log-level}",
"GODOT_MCP_HEADLESS_TIMEOUT_MS": "${input:godot-mcp-headless-timeout-ms}",
"GODOT_MCP_BRIDGE_TIMEOUT_MS": "${input:godot-mcp-bridge-timeout-ms}",
"GODOT_MCP_LSP_PORT": "${input:godot-mcp-lsp-port}",
"GODOT_MCP_LSP_TIMEOUT_MS": "${input:godot-mcp-lsp-timeout-ms}",
"GODOT_MCP_LSP_IDLE_MS": "${input:godot-mcp-lsp-idle-ms}",
"GODOT_MCP_CACHE_DIR": "${input:godot-mcp-cache-dir}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs