Unreal-mcp/CLAUDE.md
StillHammer ee2092dada Implement complete Python MCP server with 12 tools and blueprint-workflow skill
- Add MCP server with real Unreal Remote Execution Protocol (UDP 6766 + TCP 6776)
- Implement 12 MCP tools: project intelligence, scene manipulation, debug/profiling, blueprint ops
- Add enhanced .uasset parser with UE4/UE5 support
- Create /blueprint-workflow skill (analyze, bp-to-cpp, cpp-to-bp, transform, optimize)
- Include 21 passing tests
- Add complete user documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 18:59:43 +07:00

3.5 KiB

Unreal MCP Server - Dev Guide

MCP server Python pour Unreal Engine : Runtime + Project Intelligence


Architecture

┌─────────────────────────────────┐
│   UNREAL MCP SERVER (Python)   │
├─────────────────────────────────┤
│  MCP Tools (12)                 │
│  └── Remote Execution Protocol  │
├─────────────────────────────────┤
│  Fallback (éditeur fermé)       │
│  └── .uasset parser + scan      │
└─────────────────────────────────┘

User's CLAUDE.md → Expertise Unreal C++ (PAS NOUS!)
Skills           → /blueprint-workflow
MCP Tools        → get_spawnable_classes(), spawn_actor(), debug...

Structure

src/unreal_mcp/
├── server.py                   # MCP entry point
├── tools/
│   ├── project.py              # get_spawnable_classes, get_project_assets, scan_cpp_classes
│   ├── scene.py                # spawn_actor, get_scene_hierarchy, modify_actor_transform
│   ├── debug.py                # get_console_logs, analyze_crash_dump, profile_blueprint
│   └── blueprint.py            # read_blueprint, create_blueprint_from_cpp, execute_python_script
├── core/
│   ├── unreal_connection.py    # Remote Execution Protocol (UDP+TCP)
│   └── uasset_parser.py        # Parse .uasset (fallback)
└── utils/
    ├── config.py               # Settings (pydantic-settings)
    ├── logger.py
    └── validation.py

skills/
└── blueprint-workflow/
    ├── skill.yaml              # 5 commands: analyze, bp-to-cpp, cpp-to-bp, transform, optimize
    └── prompt.md

MCP Tools (12)

Category Tools
Project get_spawnable_classes, get_project_assets, scan_cpp_classes
Scene spawn_actor, get_scene_hierarchy, modify_actor_transform
Debug get_console_logs, analyze_crash_dump, profile_blueprint
Blueprint read_blueprint, create_blueprint_from_cpp, execute_python_script

Remote Execution Protocol

UDP Multicast (Node Discovery)

  • Group: 239.0.0.1
  • Port: 6766
  • Messages: ping, pong, open_connection, close_connection

TCP (Commands)

  • Port: 6776
  • Messages: command, command_result
  • Format: 4-byte length prefix + JSON UTF-8
from unreal_mcp.core.unreal_connection import UnrealConnection

with UnrealConnection(project_path=Path("/path/to/project")) as conn:
    result = await conn.execute("print('Hello from Unreal!')")

Env

# Project path (for offline mode)
UE_PROJECT_PATH=/path/to/project

# TCP Command port (default: 6776)
UE_COMMAND_PORT=6776

# UDP Multicast (default: 239.0.0.1:6766)
UE_MULTICAST_GROUP=239.0.0.1
UE_MULTICAST_PORT=6766

# Logging
LOG_LEVEL=INFO

Guidelines

  • Python 3.11+
  • Type hints partout
  • Validation avec Pydantic
  • Graceful fallback si éditeur fermé
  • Return { "success": True/False, "data"/"error": ... }
  • Tests avec pytest (21 tests)

Status

  • Architecture
  • MCP SDK setup
  • 12 tools implémentés
  • Remote Execution Protocol (real)
  • /blueprint-workflow skill
  • Tests (21 passed)
  • Fallback offline mode

Remember: L'expertise Unreal C++ sera dans le CLAUDE.md des users, pas ici.