MCP Unreal Server
Facilitates executing Python code remotely within Unreal Engine instances, supporting multiple execution modes including file execution and statement evaluation.
Enables remote Python code execution in Unreal Engine environments, supporting both attended and unattended execution modes, file execution, and statement evaluation through an automatic node discovery system.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Unreal Serverexecute Python code on node UE5_Editor_01: print('Hello from Unreal')"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Unreal Server
A server implementation for interacting with Unreal Engine instances through remote Python execution.
Features
🚀 Unreal Instance Management
Automatic discovery of Unreal nodes via multicast
Real-time node status monitoring
Resource listing through LSP-compatible clients
💻 Remote Execution
Execute Python code in Unreal Engine environments
Support for both attended and unattended execution modes
File execution and statement evaluation modes
📊 Logging & Monitoring
Detailed logging to file (
mcp_unreal.log)Console logging with different verbosity levels
Node connection health monitoring
Related MCP server: UE-MCP
Installation
# Clone repository
git clone https://github.com/your-org/mcp-unreal-server.git
cd mcp-unreal-server
# Install dependencies
pip install -r requirements.txtConfiguration
Network Settings
Configure multicast parameters in RemoteExecutionConfig:
# Default multicast settings (modify in server.py)
config.multicast_group_endpoint = ("239.0.0.1", 6766)Logging
Modify logging configuration in server.py:
# Adjust log levels
file_handler.setLevel(logging.DEBUG) # File logging
console_handler.setLevel(logging.INFO) # Console loggingUsage
Starting the Server
python -m src.mcp_server_unreal.serverSupported Tools
Connect to Unreal Instance
{
"host": "239.0.0.1",
"port": 6766
}Execute Python Code
{
"node_id": "<unreal-node-id>",
"code": "print('Hello Unreal')",
"unattended": true
}API Documentation
Resource Format
types.Resource(
uri="unreal://<node_id>",
name=f"Unreal Instance: {node_id}",
description="Unreal Engine instance",
mimeType="application/x-unreal"
)Execution Modes
Mode | Description |
MODE_EXEC_FILE | Execute Python file |
MODE_EXEC_STATEMENT | Execute Python statement |
MODE_EVAL_STATEMENT | Evaluate Python expression |
Troubleshooting
Common Issues:
No nodes discovered: Verify Unreal instances are running with MCP plugin
Execution timeout: Check firewall settings for multicast traffic
Connection drops: Monitor
mcp_unreal.logfor node status changes
License
Apache-2.0 License
Available Tools
1 toolexecute-pythonC
在Unreal中执行Python代码
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| unattended | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| result | No | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe important behavioral aspects: whether this executes synchronously or asynchronously, what permissions are required, how errors are handled, whether it's safe for production use, or what the 'unattended' parameter actually means behaviorally. The description is minimal and lacks critical operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single phrase that directly states the core function. There's zero wasted language, and it's perfectly front-loaded with the essential information. For its length, it's maximally efficient, though this conciseness comes at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a code execution tool with no annotations, 2 parameters (one with unclear purpose), and an output schema exists, the description is insufficient. While the output schema may describe return values, the description doesn't address safety concerns, execution context, error handling, or parameter meanings. For a potentially powerful/dangerous operation like code execution, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but doesn't. It mentions no parameters at all, leaving both 'code' and 'unattended' completely unexplained. The description doesn't clarify what format the Python code should be in, what execution environment is used, or what 'unattended' mode entails. This is inadequate for a tool with 2 parameters and 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('执行Python代码' - execute Python code) and the context ('在Unreal中' - in Unreal). It specifies both verb and resource, though it doesn't need to distinguish from siblings since none exist. The purpose is unambiguous but could be more specific about what kind of Python execution this enables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites, limitations, or typical use cases. With no sibling tools, differentiation isn't needed, but basic usage context would help the agent understand appropriate scenarios for this operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool has a clear, distinct purpose of executing Python code within Unreal.
With only one tool, naming consistency is inherently perfect. The tool name 'execute-python' follows a clear verb_noun pattern, and there are no other tools to create inconsistency.
A single tool is too few for a server named 'MCP Unreal Server', which suggests a broader scope related to Unreal Engine. This minimal toolset feels thin and inadequate for typical Unreal automation or interaction tasks.
The tool surface is severely incomplete for an Unreal server. It only provides Python execution, lacking essential operations like asset management, level editing, blueprint interaction, or any other common Unreal Engine workflows, leaving significant gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Hosted MCP server for task-first delegation to remote workstations and workers.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA server that enables control of Unreal Engine 5.5+ using natural language commands, allowing users to create Blueprints, manipulate actors, work with nodes, manage project settings, and create UMG widgets through the Model Context Protocol.5MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Unreal Editor 5 through the Python remote execution protocol. It allows for managing the editor lifecycle, configuring project settings, and executing Python scripts directly within the Unreal Engine environment.MIT
- AlicenseBqualityCmaintenanceAn MCP server that gives AI agents broad control over Unreal Engine 5.7, enabling actor/asset/level management, Blueprint and material creation, screenshots, automation, and arbitrary editor Python execution.35MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI clients to control Unreal Engine 5 editor for automated Blueprint authoring, level inspection, actor spawning, and other editor workflows via a local Python MCP server and UE plugin.3AGPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/radial-hks/MCP-Unreal-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server