Skip to main content
Glama
README.md
# Godot MCP Server

A MCP server for AI assistants (Claude Code, Cursor, Codex etc) to control and access Godot Engine: capturing errors in editor, managing scenes, and remote connections allowing real-time build and debug - synchronized with your Godot editor.

## Setup

### Step 1: Install godot-mcp (one-time)

```bash
git clone https://github.com/LeeSinLiang/godot-mcp.git ~/tools/godot-mcp
cd ~/tools/godot-mcp
npm install
npm run build
npm link
```

### Step 2: Configure your Godot project (per-project)

```bash
cd ~/my-games/your-godot-project
godot-mcp-init
```

The tool will:
1. Ask for your Godot executable path
2. Select which clients to configure (Claude Desktop, Claude Code, Cursor)
3. Create configuration files automatically

**That's it!** Start using AI assistance in Cursor or Claude Code.

## Features

- **Project Management**: Launch editor, run/stop projects, list/inspect Godot projects
- **Scene Editing**: Create scenes, add/configure nodes, load sprites, export mesh libraries
- **Remote Debugging (Recommended)**: Connect to Godot editor's remote debugger, capture real-time output while running in editor
- **Debug Output**: Get print statements, errors, and warnings from running projects
- **Cross-Platform**: Windows, macOS, Linux support

## Available MCP Tools

### Remote Debugging Workflow (Recommended)

Work seamlessly with the Godot editor while AI assists you:

1. **`connect_remote_debugger`** - Connect to Godot editor's remote debugger (default ports 6006/6007)
2. Press **F5** in Godot editor to run your project
3. **`get_remote_debug_output`** - Get real-time print statements, errors, and warnings
4. Make changes with AI assistance and test immediately in the editor

This workflow allows you to:
- Write code in Godot editor with syntax highlighting and autocomplete
- Run and debug with F5 while AI monitors output and suggests fixes
- No blind coding - see exactly what's happening in real-time

## All Available Tools

- **Debug & Remote:** `connect_remote_debugger`, `get_remote_debug_output`, `disconnect_remote_debugger`, `get_debug_output`, `capture_screenshot`
- **Project Management:** `launch_editor`, `run_project`, `stop_project`, `list_projects`, `get_project_info`, `get_godot_version`
- **Scene Editing:** `create_scene`, `add_node`, `load_sprite`, `save_scene`, `export_mesh_library`
- **UID Management (Godot 4.4+):** `get_uid`, `update_project_uids`

## Godot Executable Path Examples

**Windows:** `C:\Program Files\Godot\Godot.exe` or `C:\Downloads\Godot_v4.5.1-stable_win64.exe\Godot_v4.5.1-stable_win64.exe`

**macOS:** `/Applications/Godot.app/Contents/MacOS/Godot`

**Linux:** `/usr/bin/godot` or `/usr/local/bin/godot`

## Troubleshooting

### "Failed to connect tool" or MCP server won't start

**Most common cause:** Wrong Godot executable path in configuration.

**Solution:**
1. Verify your Godot path by running: `"<your-godot-path>" --version`
2. Update the path in your config file:
   - **Claude Code:** Edit `.mcp.json` in your project directory
   - **Cursor:** Edit `.cursor/mcp.json` in your project directory
   - **Claude Desktop:** Check config in `%APPDATA%\Claude\` (Windows) or `~/Library/Application Support/Claude/` (macOS)

3. Restart your IDE/application after updating the config

**Check logs:**
- **Cursor:** Output panel → "MCP Logs" (Ctrl+Shift+U)
- **Claude Code:** Terminal output or MCP logs


### Manual Configuration
If you prefer manual setup, create config files:

**Claude Code** - `.mcp.json` in project directory:
```json
{
  "mcpServers": {
    "godot": {
      "command": "node",
      "args": ["/path/to/godot-mcp/build/index.js"],
      "env": { "GODOT_PATH": "/path/to/godot/executable" }
    }
  }
}
```

**Cursor** - `.cursor/mcp.json` in project directory (same format as above)

**Claude Desktop** - `%APPDATA%\Claude\claude_desktop_config.json` (Windows) or `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):
```json
{
  "mcpServers": {
    "godot": {
      "command": "node",
      "args": ["/path/to/godot-mcp/build/index.js"],
      "env": { "GODOT_PATH": "/path/to/godot/executable" }
    }
  }
}
```

## Development

```bash
npm run build      # Build the project
npm run watch      # Watch mode for development
npm run inspector  # Test with MCP inspector
```

TDQS

A3.5/5.0

Scored across 18 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between get_debug_output and get_remote_debug_output, which could cause confusion as both relate to debug output. Additionally, tools like launch_editor and run_project might be ambiguous in their execution context, but descriptions help clarify their roles.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern throughout, such as add_node, capture_screenshot, and connect_remote_debugger. There are no deviations in naming conventions, making the set predictable and easy to understand.

Tool Count4/5

With 18 tools, the count is slightly high but reasonable for a Godot MCP server covering project management, debugging, and scene operations. It feels comprehensive without being overwhelmingly heavy, though it could be trimmed for tighter focus.

Completeness4/5

The tool surface covers key areas like project handling, debugging, and scene manipulation with minor gaps, such as missing tools for editing node properties or managing resources beyond UIDs. However, core workflows are well-supported, allowing agents to perform essential tasks effectively.

Maintenance

ActivityInactive
ResponsivenessUnresponsive