Skip to content

Blog

Set up Unreal 5.8 MCP with Claude Code or Cursor

Enable Epic's experimental Unreal MCP in Unreal Engine 5.8, connect Claude Code or Cursor, fix common errors, and see what it can and cannot do.

Last updated 11 November 2026

Blog title card reading Set up Unreal 5.8 MCP with Claude Code or Cursor, with the Dola mascot

Published 11 November 2026

Checked on 11 November 2026 against Epic's Unreal MCP documentation and the plugin files in the Unreal Engine 5.8.0 source release. The plugin is marked Experimental, so details can change.

What Epic's Unreal MCP is

Unreal MCP (plugin name ModelContextProtocol) runs an MCP server inside Unreal Editor. An AI client such as Claude Code or Cursor connects to it and calls the editor's tools. The tools come from toolsets registered with Unreal's Toolset Registry, and Epic ships many: actors, Blueprints, Widget Blueprints, materials, MetaSounds, PCG, Niagara, Sequencer, Slate inspection, profiling and automation tests.

Epic marks the plugin Experimental. Expect changes between engine versions.

Enable it, step by step

  1. Open your project in Unreal Engine 5.8. Go to Edit > Plugins and search for Unreal MCP. Epic's page says it is on by default; the 5.8.0 source release marks it off, so check the box yourself.
  2. Search for All Toolsets and tick it to load every default toolset. You can also enable toolset plugins one at a time if you want fewer tools.
  3. Restart the editor.
  4. Open Edit > Editor Preferences > Agentic Workflows > Model Context Protocol. Auto Start Server is on, the port is 8000 and the URL path is /mcp, so the server listens on http://127.0.0.1:8000/mcp.
  5. In the same panel, pick your client under Client Selection (Claude Code is the default) and press Generate Client Config.

Connect Claude Code

For Claude Code, Generate Client Config writes a .mcp.json file: in the project folder on a Launcher (installed) engine, in the engine folder on a source build. On a source build you may need to copy the entry into your project's config. The entry looks like this:

{
  "mcpServers": {
    "unreal-mcp": {
      "type": "http",
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

Start Claude Code from the folder that holds the config, after the editor is open and the server is running. If Claude Code was already open, reconnect it.

Connect Cursor

Epic's page has no ready-made Cursor snippet. Run the console command ModelContextProtocol.GenerateClientConfig Cursor in the editor, copy the entry it prints in the Output Log, and add it where Cursor's own MCP documentation says. The server is the same HTTP endpoint as above.

Transport and safety

  • Streamable HTTP and SSE only. stdio and WebSocket are not supported.
  • The server listens on 127.0.0.1 only, checks the Origin header against an allow list, and has no authentication. Epic advises against exposing it beyond your own machine.
  • Tool calls run one at a time on the game thread, so a long call blocks the next one.

Console commands worth knowing

  • ModelContextProtocol.StartServer [port] and ModelContextProtocol.StopServer
  • ModelContextProtocol.RefreshTools after you add or change tools
  • ModelContextProtocol.GenerateClientConfig with a client name such as ClaudeCode, Cursor, Codex or Gemini
  • -ModelContextProtocolPort=8001 on the command line to pick another port
  • Log LogModelContextProtocol Verbose for more detail in the Output Log

Two editors at once

Generate Client Config only writes one entry, named unreal-mcp. For a second editor, start it on another port (for example 8001) and add a second entry to your client config by hand.

What it can and cannot do

It can:

  • Give your AI client the editor tools from every toolset you enable.
  • Keep the tool list short: with Enable Tool Search on, the client sees a small set of meta-tools (such as list_toolsets and call_tool) and looks the rest up on demand.
  • Take your own C++ functions as tools, marked with the AICallable attribute.

It cannot, according to Epic's page:

  • Serve MCP Resources from the engine toolsets, or MCP Prompts.
  • Offer more than the AIRuntimeCallable tools in a cooked (packaged) game.
  • Pick up a new C++ tool through Live Coding. Restart the editor to add one.

It also does not review or test the changes your client makes. That part is up to you and your client.

Common errors

  • The server does not start: check the Output Log for a port already in use or a missing plugin. Try another port.
  • The client cannot find the server: open the editor first, wait for the server, then launch the client from the folder with the config and reconnect.
  • Tools are missing: enable the toolset plugin, run ModelContextProtocol.RefreshTools, and reconnect the client.
  • Long calls time out: Claude Code stops waiting after about 120 seconds. Split the work into smaller calls.
  • Not sure which editor answered: connect the MCP Inspector (npx @modelcontextprotocol/inspector) to the same URL and read the instance in the initialize result.

Where Dola fits

Dola is not Epic's MCP plugin and does not need it. It is a desktop app plus its own Unreal Editor plugin, joined by a local bridge. Its published plugin builds are for Unreal Engine 5.7 on Windows and Linux, so on a 5.8 project Epic's MCP is an option today.

  • Packaged: install the app, add the plugin to your project, sign in. No client config to write.
  • Review before you keep: each edit waits in a Changes panel. Open the diff in Unreal, then accept it or reject it to restore the old asset.
  • QA by playing: a QA agent reads the graph and plays the change in Play in Editor before it calls the run done.

A real Dola run on 9 November 2026: one prompt, "make BP_Lamp blink", checked in PIE, then held for review.

Dola desktop app: a Blueprint run that made BP_Lamp blink, with the QA agent's PIE check and the pending change in the Changes panel
The run: Director (Sonnet) planned, Blueprint (Haiku) edited, QA (Sonnet) read the graph, played it in PIE, and found 0 compile errors. $2.34 on Auto.
Dola's Changes panel listing BP_Lamp.uasset as edited, with Accept all, Reject all and a button that opens the diff in Unreal
The Changes panel holds the edit for review before you keep it.

Dola's app is also an MCP client for servers you add (Unreal Engine MCP and Dola). The whole run, step by step: see Dola work.

FAQ

More on the Dola blog