Skip to main content

Symbiote Creative Labs Unreal Engine 5 MCP Server

PyPI version Python 3.10+ License: MIT

Attribution

This project is based on chongdashu/unreal-mcp, an MIT-licensed Unreal Engine MCP server. We are not forking, but have built our implementation using the current version as a reference and foundation. All original copyright and license notices from chongdashu/unreal-mcp are retained.

A comprehensive Model Context Protocol (MCP) server for Unreal Engine integration, providing powerful automation tools for Blueprint creation, actor manipulation, UMG widget development, and more.

Differences from [chongdashu/unreal-mcp]

  • Refactored for PyPI packaging and modern Python project structure
  • Enhanced documentation and examples

Features

  • Blueprint Management: Create, compile, and manipulate Blueprint classes
  • Actor Operations: Spawn, delete, and modify actors in your levels
  • UMG Widget Tools: Create and manage UMG Widget Blueprints with ease
  • Node Graph Manipulation: Add and connect Blueprint nodes programmatically
  • Component Management: Add and configure components on Blueprints and actors
  • Project Settings: Manage input mappings and project configurations
  • Viewport Control: Focus viewport, take screenshots, and manage camera positions

Installation

From PyPI

pip install unreal-mcp

From Source

git clone https://github.com/symbiote-labs/Symbiote_UE5.git
cd unreal-mcp
pip install -e .

Quick Start

1. Start the MCP Server

unreal-mcp

Or programmatically:

from unreal_mcp import UnrealMCPServer

server = UnrealMCPServer()
server.run()

2. Configure Unreal Engine

The server connects to Unreal Engine via TCP socket on port 55557. Make sure your Unreal Engine instance is configured to accept MCP connections on this port.

3. Use with MCP Clients

The server implements the Model Context Protocol and can be used with any MCP-compatible client, such as Claude Desktop or other AI assistants.

Available Tools

Blueprint Tools

  • create_blueprint(name, parent_class) - Create new Blueprint classes
  • compile_blueprint(blueprint_name) - Compile Blueprint changes
  • add_component_to_blueprint(blueprint_name, component_type, component_name) - Add components
  • set_blueprint_property(blueprint_name, property_name, property_value) - Set Blueprint properties

Actor Management

  • spawn_actor(name, type, location, rotation, scale) - Create actors in the level
  • delete_actor(name) - Remove actors
  • get_actors_in_level() - List all actors in current level
  • set_actor_transform(name, location, rotation, scale) - Modify actor transforms

UMG Widget Tools

  • create_umg_widget_blueprint(widget_name, parent_class, path) - Create UMG Widget Blueprints
  • add_text_block_to_widget(widget_name, text_block_name, text, position, size) - Add text blocks
  • add_button_to_widget(widget_name, button_name, text, position, size) - Add buttons
  • bind_widget_event(widget_name, widget_component_name, event_name) - Bind widget events

Blueprint Node Management

  • add_blueprint_event_node(blueprint_name, event_type) - Add event nodes
  • add_blueprint_function_node(blueprint_name, target, function_name) - Add function nodes
  • connect_blueprint_nodes(blueprint_name, source_node_id, source_pin, target_node_id, target_pin) - Connect nodes
  • add_blueprint_variable(blueprint_name, variable_name, variable_type) - Add variables

Editor Tools

  • focus_viewport(target, location, distance, orientation) - Focus viewport on objects
  • take_screenshot(filename, show_ui, resolution) - Capture screenshots
  • import_fbx(file_path, output_path) - Import FBX files

Configuration

The server can be configured through environment variables or by modifying the connection settings:

# Default configuration
UNREAL_HOST = "127.0.0.1"
UNREAL_PORT = 55557

Examples

Creating a Simple Actor Blueprint

# Create a new Blueprint
response = create_blueprint("MyActor", "Actor")

# Add a Static Mesh Component
add_component_to_blueprint(
    "MyActor",
    "StaticMeshComponent",
    "MeshComponent",
    location=[0, 0, 0]
)

# Set the static mesh
set_static_mesh_properties(
    "MyActor",
    "MeshComponent",
    "/Engine/BasicShapes/Cube.Cube"
)

# Compile the Blueprint
compile_blueprint("MyActor")

Creating a UMG Widget

# Create a new Widget Blueprint
create_umg_widget_blueprint("MainMenu", "UserWidget", "/Game/UI")

# Add a button
add_button_to_widget(
    "MainMenu",
    "PlayButton",
    "Play Game",
    position=[100, 100],
    size=[200, 50]
)

# Bind the button click event
bind_widget_event("MainMenu", "PlayButton", "OnClicked", "StartGame")

License

This project is licensed under the MIT License - see the LICENSE file for details.

Portions of the code and design are derived from chongdashu/unreal-mcp, also MIT-licensed.

Support

Changelog

v0.1.1

  • Documentation updates

v0.1.0

  • Initial release
  • Blueprint creation and manipulation tools
  • Actor management functionality
  • UMG Widget Blueprint tools
  • Blueprint node graph manipulation
  • Editor tools for viewport and screenshot management
  • Project settings management

Metadata

Release files for symbiote-unreal-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for symbiote-unreal-mcp 0.2.0
File Size Uploaded Provenance Actions
symbiote_unreal_mcp-0.2.0.tar.gz 33.5 kB Without provenance Details for symbiote_unreal_mcp-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for symbiote-unreal-mcp 0.2.0
File Interpreter ABI Platform Actions
symbiote_unreal_mcp-0.2.0-py3-none-any.whl Python 3 none any Details for symbiote_unreal_mcp-0.2.0-py3-none-any.whl

Total release size: 57.5 kB

Release files / symbiote_unreal_mcp-0.2.0.tar.gz

Download URL symbiote_unreal_mcp-0.2.0.tar.gz
Size 33.5 kB
Tags Source
SHA-256 checksum
How to use checksums
651635115416fa7a5f88b9f1a7a354a9b86219533ce3014b9039249fffc0efdf
BLAKE2b-256 checksum
How to use checksums
394ce2a1cc235b7ed72fcb5080f20bcbfeb396f2f1a42b05b204de9d60c2e764
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / symbiote_unreal_mcp-0.2.0-py3-none-any.whl

Download URL symbiote_unreal_mcp-0.2.0-py3-none-any.whl
Size 23.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
39e550281f7714ed43f01473678a1b1444c794204878d6ca8559d71607597a42
BLAKE2b-256 checksum
How to use checksums
e68d8fe015a2ee2f0cf84a658232bca1b3ef21ac53aac5878c3acdcdd03ddd42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Security for symbiote-unreal-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page