MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

Control Unreal Engine from AI assistants (Claude, Cursor, Windsurf) via Model Context Protocol. 88 tools - blueprints, materials, Niagara, animation, audio, and more.

Created 5/20/2026
Updated about 7 hours ago
Repository documentation and setup instructions

Unreal MCP

License: MIT Unreal Engine Python Tools

Control Unreal Engine from AI assistants via the Model Context Protocol

Unreal MCP lets AI assistants (Claude Code, Cursor, Windsurf, Claude Desktop) control the Unreal Editor through natural language. 88 tools across 10 categories - from spawning actors to editing blueprint graphs to wiring materials.

What Can It Do?

| Category | Tools | Highlights | |----------|-------|------------| | Actor Management | 9 | Spawn, delete, transform, inspect, find actors | | Blueprint Development | 7 | Create blueprints, add components, set properties, compile | | Blueprint Graph Editing | 16 | Add nodes, variables, events, connections, control flow | | Materials & Inspection | 20 | Create/wire materials, inspect assets, Nanite control | | Niagara VFX | 30+ | Full system/emitter/renderer/module control | | UMG Widgets | 6 | Create widget blueprints, buttons, text blocks, bindings | | Animation | 7 | Inspect sequences, montages, skeleton bone hierarchy | | Audio | 6 | Inspect sound waves, cues, attenuation, play sounds | | DataTables | 4 | List, inspect, export DataTable rows as JSON | | Level & World | 6 | Level info, world settings, streaming, actor summaries |

Plus run_python_in_unreal - execute arbitrary Python inside the editor for anything the tools don't cover.

Architecture

AI Assistant (Claude, Cursor, etc.)
    |
    | MCP Protocol (JSON-RPC over stdio)
    v
Python MCP Server (FastMCP)
    |
    | TCP (port 55557, newline-delimited JSON)
    v
C++ Plugin (UnrealMCP) ──> Unreal Editor APIs

Two implementation layers:

  • C++ command handlers - native performance for blueprint graphs, materials, Niagara, actors
  • Python bridge tools - use run_python_in_unreal for inspection and query tools (no C++ rebuild needed)

Quick Start

Prerequisites

  • Unreal Engine 5.5+ (tested on 5.7)
  • Python 3.12+
  • uv (Python package manager)

1. Set Up the Plugin

Option A: Use the sample project

cd MCPGameProject
# Right-click .uproject → Generate Visual Studio project files
# Open .sln → Build (Development Editor)

Option B: Add to your project

# Copy MCPGameProject/Plugins/UnrealMCP to YourProject/Plugins/
# Regenerate project files and build

2. Configure Your MCP Client

Add to your MCP client config (.mcp.json, claude_desktop_config.json, etc.):

{
  "mcpServers": {
    "unreal": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/unreal-mcp/Python",
        "run", "unreal_mcp_server.py"
      ]
    }
  }
}

Config file locations:

| Client | Location | |--------|----------| | Claude Code | .mcp.json in project root | | Claude Desktop | ~/.config/claude-desktop/mcp.json | | Cursor | .cursor/mcp.json in project root | | Windsurf | ~/.config/windsurf/mcp.json |

3. Open Unreal Editor and Connect

  1. Open your project in Unreal Editor (the C++ plugin starts the TCP server automatically on port 55557)
  2. Enable the MCP server in your AI assistant
  3. Try: "List all actors in the current level"

Project Structure

unreal-mcp/
├── MCPGameProject/
│   └── Plugins/UnrealMCP/     # C++ plugin (TCP server + command handlers)
│       └── Source/UnrealMCP/
│           ├── Private/Commands/  # Handler classes (Editor, Blueprint, Material, etc.)
│           └── Public/            # Headers
├── Python/
│   ├── unreal_mcp_server.py   # MCP server entry point
│   ├── connection_holder.py   # Thread-safe connection management
│   └── tools/                 # Tool modules
│       ├── editor_tools.py    # Actor management, console, Python execution
│       ├── blueprint_tools.py # Blueprint creation and components
│       ├── node_tools.py      # Blueprint graph editing
│       ├── inspection_tools.py# Asset inspection, materials, Nanite
│       ├── umg_tools.py       # UMG widget blueprints
│       ├── animation_tools.py # Animation and skeleton inspection
│       ├── audio_tools.py     # Audio asset inspection
│       ├── datatable_tools.py # DataTable inspection and export
│       ├── level_tools.py     # Level and world queries
│       └── project_tools.py   # Input mappings, project settings
├── Docs/Tools/                # Per-category tool documentation
└── scripts/                   # Example scripts

Adding Custom Tools

The fastest way to add tools is the Python bridge pattern - no C++ rebuild needed:

# In Python/tools/my_tools.py
from connection_holder import async_tool, get_unreal_connection

def register_my_tools(mcp):
    @async_tool(mcp)
    def my_custom_tool(ctx, asset_path: str) -> dict:
        """My tool description."""
        unreal = get_unreal_connection()
        code = f"""
import unreal, json
asset = unreal.EditorAssetLibrary.load_asset('{asset_path}')
print(json.dumps({{"name": asset.get_name()}}))
"""
        response = unreal.send_command("run_python_in_unreal", {"code": code})
        output = response.get("result", {}).get("output", "").strip()
        return {"success": True, "result": json.loads(output)}

Register it in unreal_mcp_server.py:

from tools.my_tools import register_my_tools
register_my_tools(mcp)

For performance-critical tools, add a C++ command handler in Plugins/UnrealMCP/Source/UnrealMCP/Private/Commands/.

Documentation

See Docs/Tools/README.md for the full tool reference with parameters and examples.

Support the Project

If you find Unreal MCP useful, consider supporting its development:

Ko-fi

Credits

Bojan Spasojevic (@voodoofox) - Material editing, Niagara VFX, blueprint graph editing, animation/audio/datatable/level tools, parallel MCP support, stability rewrite.

Based on chongdashu/unreal-mcp by Chong-U Lim (MIT).

License

MIT - see LICENSE.

Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/voodoofox/unreal-mcp
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "voodoofox-unreal-mcp": { "command": "git", "args": [ "clone", "https://github.com/voodoofox/unreal-mcp" ] } } }