Skip to content
VS Code

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

Godot MCP in other clients