MCP (Model Context Protocol) server that gives AI coding agents complete autonomous control over an Unreal Engine 5.7 project. Single Go binary, zero external dependencies.
mcp-unreal is an MCP project maintained in the remiphilippe/mcp-unreal repository. The maintainer describes its purpose as “MCP (Model Context Protocol) server that gives AI coding agents complete autonomous control over an Unreal Engine 5.7 project. Single Go binary, zero external dependencies”. Read the project documentation for the complete scope.
The project provides a local client configuration using /path/to/mcp-unreal. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.
The example declares MCP_UNREAL_PROJECT. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| build_project | Build the UE project via UnrealEditor-Cmd / UBT. Returns structured JSON with error count and error details. |
| cook_project | Cook (package) content for a target platform using RunUAT. Supports iterative cooks. |
| generate_project_files | Regenerate IDE project files (.xcworkspace / .sln) after adding or removing C++ modules. |
| project_ops | Read and modify the .uproject file: get project info, list/enable/disable plugins, add modules, set target platforms. |
| config_ops | Read and write UE project .ini config files (DefaultEngine.ini, DefaultGame.ini, etc.): get, set, delete keys, list sections. |
| run_tests | Run headless automation tests (-nullrhi) with per-test pass/fail results and failure details. |
| run_visual_tests | Run automation tests with GPU rendering enabled (no -nullrhi) for visual/rendering tests. |
| list_tests | List available automation test names matching a filter pattern. |
| get_test_log | Read raw UE log files with line limits, offsets, and keyword filtering. |
| get_level_actors | List all actors in the current level with class, path, location, rotation, scale. |
| spawn_actor | Spawn an actor by class name at a given location/rotation/scale. |
| delete_actors | Delete one or more actors by object path or display name. |
| move_actor | Set location, rotation, and/or scale of an actor via RC API function calls (K2_SetActorLocation, K2_SetActorRotation, SetActorScale3D). |
| get_property | Read a property value from an actor via the Remote Control API. |
| set_property | Set a property value on an actor via the Remote Control API. |
| call_function | Call a function on an object via the Remote Control API. |
| blueprint_query | Query Blueprint structure: list all BPs, inspect a BP's variables/functions/graphs, get graph nodes and connections. |
| blueprint_modify | Modify Blueprints: create, add/remove variables, add/remove functions, add/delete nodes, connect/disconnect pins, set pin values, compile. |
| anim_blueprint_query | Query AnimBP state machines and states: list state machines, inspect states/transitions/blend spaces. |
| anim_blueprint_modify | Modify AnimBPs: add/remove states, add/remove transitions, set blend spaces, set state animations, set transition rules, add notify states. |
| search_assets | Search assets by class, path, name, or tag. Returns paginated results. |
| get_asset_info | Get detailed asset info including dependencies and referencers. |
| material_ops | Material operations: create, create_instance, set_parameter, set_texture, get_parameters, list_parameters. |
| character_config | Character configuration: get_config, set_movement, set_capsule, set_mesh, set_camera, get_movement_modes. |
| input_ops | Enhanced Input operations: list_actions, list_contexts, add_action, remove_action, add_context, bind_action, unbind_action, get_bindings. |
| pcg_ops | PCG graph operations: list_components, get_graph, execute, set_parameter, add_node, connect_nodes, get_results. |
| gas_ops | GAS operations: list_abilities, grant_ability, activate, get_attributes, set_attribute, apply_effect, remove_effect, list_active_effects. |
| niagara_ops | Niagara operations: spawn_system, set_parameter, get_parameter, activate, deactivate, list_emitters, set_emitter_enabled, get_system_info. |
| procedural_mesh | Create and modify ProceduralMeshComponent geometry: create_section, update_section, clear, set_material. |
| realtime_mesh | Create and modify RealtimeMeshComponent geometry (requires RMC plugin): create_lod, create_section_group, create_section, update_mesh_data… |
| level_ops | Level management: get_current, list_levels, load_level, save_level, new_level, add_sublevel, remove_sublevel, set_streaming_method. |
| run_console_command | Execute an Unreal console command in the editor. |
| get_output_log | Read the editor output log with optional category and verbosity filtering. |
| capture_viewport | Capture a screenshot of the active viewport. Returns MCP ImageContent (viewable by the LLM) or saves to file. Set include_ui=true to capture with Slate/UMG… |
| execute_script | Execute a Python script in the editor's Python environment. |
| live_compile | Trigger Live Coding (hot reload) compilation without restarting the editor. |
| pie_control | Control Play In Editor (PIE) sessions: start, stop, or check status. Supports map override and Simulate In Editor mode. Start/stop are async — use status to… |
| player_control | Control player pawn and editor viewport camera. Operations: get_info (player state), teleport (move pawn), set_rotation (set view direction), set_view_target… |
| get_actor_components | Get the full component hierarchy for an actor, including types, visibility, mesh references, and transforms. |
| ism_ops | Manage ISM/HISM components: create, add/remove/update instances, set materials, get instance counts. |
| texture_ops | Import images as texture assets, query texture info, assign textures to material parameters, list textures. |
| data_asset_ops | Manage DataTables: list, read rows, add/update/delete rows, create tables, import from CSV. |
| fab_ops | Manage Fab marketplace asset cache: list downloaded assets, import into project, clear cache. |
| subsystem_query | List active UE subsystems by type (world, game_instance, engine, editor, local_player). |
| ui_query | Introspect Slate and UMG widget hierarchy: tree, find by class, get details, list bindings. |
| network_debug | Introspect active HTTP requests, WebSocket connections, and recent request/response logs. |
| status | Check server health, UE installation path, project info, and editor connectivity. |
| lookup_docs | Search UE 5.7 API docs, RealtimeMesh docs, and project docs by natural language query. |
| lookup_class | Get structured class reference (inheritance, properties, functions) for a specific UE class. |
{
"mcpServers": {
"mcp-unreal": {
"type": "stdio",
"command": "/path/to/mcp-unreal",
"env": {
"MCP_UNREAL_PROJECT": "/path/to/MyProject/MyProject.uproject"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| MCP_UNREAL_PROJECT | Declared in the maintainer’s client configuration. | Check documentation |
Enables AI agents to interact with Minecraft using the Model Context Protocol via Mineflayer.
Automates Unity workflows and manipulates assets using local large language models via Ollama.
Analyze chess positions and get professional evaluations using Stockfish within Claude.
Facilitates a trivia game where AI models generate content and manage gameplay through the Model Context Protocol.
Building a daily briefing for a human is mostly about sourcing the parts you can't write personally — the joke, the history snippet, the puzzle, the
Daily content for AI agents. History, chess, investing, wrongology, more. 10 channels. Free trial.