# Funplay Godot MCP

Connects an AI client to an open Godot project so it can create scenes and scripts, build UI, and test the game in the editor.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 45
- Author: FunplayAI
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/FunplayAI/funplay-godot-mcp
- Updated: 2026-10-10
- HTML: https://affpapa.org/en/nevibecode/mcp/funplay-godot-mcp

## What it does

The server gives an AI client access to tools in the running Godot editor. An agent can create scenes, generate scripts, assemble UI, configure animation and camera controls, simulate input, and inspect gameplay in play mode. It supports GDScript projects as well as Godot .NET projects using C#.

Add the addon to your project, enable it in Godot’s plugin settings, then start the server from the Funplay MCP dock. The dock can write client configuration for you; manual setup can use the `funplay-godot-mcp` package through `npx`. Requests to the local server need the project auth token. Because authenticated clients can access tools such as `execute_code`, keep the server running only for trusted local clients and leave safety checks enabled unless you mean to override them.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `FUNPLAY_GODOT_MCP_URL`, `GODOT_MCP_URL`, `FUNPLAY_GODOT_MCP_TOKEN`, `GODOT_MCP_TOKEN` — keys and tokens: ask the human for the values, never commit them or put them in shared files.
- Works with: Godot

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env FUNPLAY_GODOT_MCP_URL=<FUNPLAY_GODOT_MCP_URL> --env GODOT_MCP_URL=<GODOT_MCP_URL> --env FUNPLAY_GODOT_MCP_TOKEN=<FUNPLAY_GODOT_MCP_TOKEN> --env GODOT_MCP_TOKEN=<GODOT_MCP_TOKEN> --transport stdio funplay-godot-mcp -- npx -y funplay-godot-mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add funplay-godot-mcp --env FUNPLAY_GODOT_MCP_URL=<FUNPLAY_GODOT_MCP_URL> --env GODOT_MCP_URL=<GODOT_MCP_URL> --env FUNPLAY_GODOT_MCP_TOKEN=<FUNPLAY_GODOT_MCP_TOKEN> --env GODOT_MCP_TOKEN=<GODOT_MCP_TOKEN> -- npx -y funplay-godot-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "funplay-godot-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "funplay-godot-mcp"
            ],
            "env": {
                "FUNPLAY_GODOT_MCP_URL": "<FUNPLAY_GODOT_MCP_URL>",
                "GODOT_MCP_URL": "<GODOT_MCP_URL>",
                "FUNPLAY_GODOT_MCP_TOKEN": "<FUNPLAY_GODOT_MCP_TOKEN>",
                "GODOT_MCP_TOKEN": "<GODOT_MCP_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "funplay-godot-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "funplay-godot-mcp"
            ],
            "env": {
                "FUNPLAY_GODOT_MCP_URL": "<FUNPLAY_GODOT_MCP_URL>",
                "GODOT_MCP_URL": "<GODOT_MCP_URL>",
                "FUNPLAY_GODOT_MCP_TOKEN": "<FUNPLAY_GODOT_MCP_TOKEN>",
                "GODOT_MCP_TOKEN": "<GODOT_MCP_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e FUNPLAY_GODOT_MCP_URL=<FUNPLAY_GODOT_MCP_URL> -e GODOT_MCP_URL=<GODOT_MCP_URL> -e FUNPLAY_GODOT_MCP_TOKEN=<FUNPLAY_GODOT_MCP_TOKEN> -e GODOT_MCP_TOKEN=<GODOT_MCP_TOKEN> funplay-godot-mcp npx -y funplay-godot-mcp
```
Replace <…> with your own values

## When to use it
- build a scene structure from a game description
- generate scripts for a Godot project
- assemble a UI tree and connect its signals
- test gameplay and simulate input
- configure animation and camera controls

## Example prompts
- Create a player scene and movement script for my Godot project.
- Build a HUD with health and ammo indicators, then connect its signals.
- Run the game, test input, and report the open scene state.

## Similar
- [Pascal 3D Editor](https://affpapa.org/en/nevibecode/mcp/pascal-3d-editor.md) — MCP server · ★ 25085
- [Unity-MCP](https://affpapa.org/en/nevibecode/mcp/unity-mcp.md) — MCP server · ★ 4523
- [mcp](https://affpapa.org/en/nevibecode/mcp/sceneview-mcp.md) — MCP server · ★ 1348
- [Gearboy MCP Server](https://affpapa.org/en/nevibecode/mcp/gearboy-mcp-server.md) — MCP server · ★ 1219
- [ChiR24-unreal_mcp_server](https://affpapa.org/en/nevibecode/mcp/chir24-unreal-mcp-server.md) — MCP server · ★ 975
- [Nova3D](https://affpapa.org/en/nevibecode/mcp/nova3d.md) — MCP server · ★ 733

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
