---
name: Godot MCP Toolset Expansion Plan
overview: Implement 14 new MCP tools to complete the core Godot development workflow, covering node manipulation, scripting, signals, and resource management. These tools will run in headless mode.
todos:
  - id: phase_1
    content: "Phase 1: Implement Core Scene Manipulation tools (set_property, delete, instance, rename, move, duplicate, group)"
    status: completed
  - id: phase_2
    content: "Phase 2: Implement Scripting & Resource tools (create_script, list_scripts, detach_script, list_resources)"
    status: completed
  - id: phase_3
    content: "Phase 3: Implement Signal System tools (list_signals, list_connections, disconnect)"
    status: completed
  - id: phase_4
    content: "Phase 4: Update Documentation and Run Full Test Suite"
    status: completed
isProject: false
---

# Godot MCP Toolset Expansion Plan

This plan aims to implement 14 missing tools identified as critical for a complete Godot development workflow via MCP. All tools have been verified as feasible in Godot's headless mode.

## Phase 1: Core Scene Manipulation (scene_ops.gd)

Enable full control over the scene graph structure and node properties.

### New Tools

- `set_node_property`: Modify values of existing nodes.
- `delete_node`: Remove nodes from the scene.
- `instance_scene`: Instantiate a `.tscn` file as a child node (composition).
- `rename_node`: Rename a node.
- `move_node`: Reparent a node to a different parent.
- `duplicate_node`: Duplicate a node hierarchy.
- `add_to_group`: Add a node to a group.

### Implementation Steps

1. **Update `godot_mcp/server.py**`: Add Python wrappers for all 7 tools.
2. **Update `godot_mcp/scripts/godot_operations.gd**`: Add routing for these operations.
3. **Update `godot_mcp/scripts/ops/scene_ops.gd**`: Implement the GDScript logic.
  - Ensure `owner` is correctly set for new/moved nodes to persist in `.tscn`.
4. **Test**: Create `tests/test_scene_manipulation.py`.

## Phase 2: Scripting & Resources (script_ops.gd, project_ops.gd)

Enable creating logic and managing script files.

### New Tools

- `create_script`: Create a new `.gd` file with optional content.
- `list_scripts`: List all `.gd` files in the project.
- `detach_script`: Remove a script from a node.
- `list_resources`: List all resource files (images, audio, etc.) in the project.

### Implementation Steps

1. **Update `godot_mcp/server.py**`: Add Python wrappers.
2. **Update `godot_mcp/scripts/godot_operations.gd**`: Add routing.
3. **Update `godot_mcp/scripts/ops/script_ops.gd**`: Implement script tools.
4. **Update `godot_mcp/scripts/ops/project_ops.gd**`: Implement `list_resources`.
5. **Test**: Create `tests/test_scripting_resources.py`.

## Phase 3: Signal System (signal_ops.gd)

Enable full introspection and management of signal connections.

### New Tools

- `list_node_signals`: List all signals defined for a specific node/class.
- `list_signal_connections`: List existing connections in the scene.
- `disconnect_signal`: Remove a signal connection.

### Implementation Steps

1. **Update `godot_mcp/server.py**`: Add Python wrappers.
2. **Update `godot_mcp/scripts/godot_operations.gd**`: Add routing.
3. **Update `godot_mcp/scripts/ops/signal_ops.gd**`: Implement signal logic.
4. **Test**: Create `tests/test_signal_system.py`.

## Phase 4: Documentation & Final Verification

1. **Update `CLAUDE.md**`: Register all new tools in the capability matrix.
2. **Run All Tests**: Ensure no regressions in existing tools.

