# coding-solo/godot-mcp architecture

> Architecture diagram of the GitHub repository coding-solo/godot-mcp, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/coding-solo/godot-mcp
- Repository: https://github.com/coding-solo/godot-mcp

## Overview

Godot MCP exposes Godot project and editor operations as tools to an MCP-compatible AI client. The client requests a tool; the server either runs a direct Godot CLI command or delegates complex scene/resource work to the bundled GDScript operations script. Project discovery and analysis, runtime control and diagnostics, scene editing, and UID management are distinct capabilities. The README documents these branches; the sampled TypeScript excerpts do not show every handler implementation or its exact command wiring.

Main entry points: [`src/index.ts`](https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts) (Godot MCP server), [`src/scripts/godot_operations.gd`](https://github.com/coding-solo/godot-mcp/blob/main/src/scripts/godot_operations.gd) (Godot operations)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["MCP interface"]
  node_server["Godot MCP server<br/>[index.ts]"]
end

subgraph group_projects["Project insight"]
  node_project_tools["Project discovery<br/>[index.ts]"]
  node_analysis_tools["Project analysis<br/>[index.ts]"]
end

subgraph group_runtime["Execution and diagnostics"]
  node_runtime_tools["Editor and runtime<br/>[index.ts]"]
  node_debug_tools["Debug output<br/>[index.ts]"]
  node_version_tool["Godot version<br/>[index.ts]"]
end

subgraph group_editing["Project editing"]
  node_scene_tools["Scene management<br/>[index.ts]"]
  node_uid_tools["UID management<br/>[index.ts]"]
  node_operations["Godot operations"]
end

node_client(("AI MCP client"))
node_godot["Godot engine"]
node_project_files[("Godot project files")]

node_client -->|"requests tools"| node_server
node_server -->|"dispatches"| node_project_tools
node_server -->|"dispatches"| node_analysis_tools
node_server -->|"dispatches"| node_runtime_tools
node_server -->|"dispatches"| node_debug_tools
node_server -->|"dispatches"| node_version_tool
node_server -->|"dispatches"| node_scene_tools
node_server -->|"dispatches"| node_uid_tools
node_server -->|"runs CLI commands"| node_godot
node_server -->|"invokes complex operations"| node_operations
node_project_tools -->|"searches"| node_project_files
node_analysis_tools -->|"reads structure"| node_project_files
node_scene_tools -->|"edits resources"| node_project_files
node_uid_tools -->|"reads and updates"| node_project_files
node_operations -->|"runs in engine"| node_godot

click node_server "https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts"
click node_project_tools "https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts"
click node_analysis_tools "https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts"
click node_runtime_tools "https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts"
click node_debug_tools "https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts"
click node_version_tool "https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts"
click node_scene_tools "https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts"
click node_uid_tools "https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts"
click node_operations "https://github.com/coding-solo/godot-mcp/blob/main/src/scripts/godot_operations.gd"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_server,node_client toneBlue
class node_project_tools,node_analysis_tools,node_project_files toneAmber
class node_runtime_tools,node_debug_tools,node_version_tool toneMint
class node_scene_tools,node_uid_tools,node_operations toneRose
class node_godot toneIndigo
```

## Components

### MCP interface

- [Godot MCP server](https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts): `src/index.ts`

### Project insight

- [Project discovery](https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts): `src/index.ts`
- [Project analysis](https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts): `src/index.ts`

### Execution and diagnostics

- [Editor and runtime](https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts): `src/index.ts`
- [Debug output](https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts): `src/index.ts`
- [Godot version](https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts): `src/index.ts`

### Project editing

- [Scene management](https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts): `src/index.ts`
- [UID management](https://github.com/coding-solo/godot-mcp/blob/main/src/index.ts): `src/index.ts`
- [Godot operations](https://github.com/coding-solo/godot-mcp/blob/main/src/scripts/godot_operations.gd): `src/scripts/godot_operations.gd`

### Other components

- **AI MCP client**
- **Godot engine**
- **Godot project files**

## Connections

- AI MCP client → Godot MCP server: requests tools
- Godot MCP server → Project discovery: dispatches
- Godot MCP server → Project analysis: dispatches
- Godot MCP server → Editor and runtime: dispatches
- Godot MCP server → Debug output: dispatches
- Godot MCP server → Godot version: dispatches
- Godot MCP server → Scene management: dispatches
- Godot MCP server → UID management: dispatches
- Godot MCP server → Godot engine: runs CLI commands
- Godot MCP server → Godot operations: invokes complex operations
- Project discovery → Godot project files: searches
- Project analysis → Godot project files: reads structure
- Scene management → Godot project files: edits resources
- UID management → Godot project files: reads and updates
- Godot operations → Godot engine: runs in engine
