Funplay Unreal MCP — Unreal Editor MCP server: what it does
Connects an AI client to a running Unreal Editor, so the assistant can place actors, build levels and Blueprints, and send back screenshots. Handy when you would rather describe a scene than drag it together.
claude mcp add --env FUNPLAY_UNREAL_MCP_URL=<FUNPLAY_UNREAL_MCP_URL> --env UNREAL_MCP_URL=<UNREAL_MCP_URL> --env FUNPLAY_UNREAL_MCP_TOKEN=<FUNPLAY_UNREAL_MCP_TOKEN> --env UNREAL_MCP_TOKEN=<UNREAL_MCP_TOKEN> --transport stdio funplay-unreal-mcp -- npx -y funplay-unreal-mcpWhat Funplay Unreal MCP does
Two pieces make it work. A pure-Python plugin sits inside the editor — nothing to compile — living in Plugins/FunplayMCP/ and pulling in the engine's Python Editor Script Plugin. A small Node.js bridge, funplay-unreal-mcp, is what your client actually talks to: Claude, Codex, Cursor, Copilot, Windsurf, Cline, Zed or Gemini CLI.
The workhorse is execute_python, which runs a snippet inside the editor. Alongside it, search_api, describe_class and inspect_object read the docs shipped with the unreal module, so the assistant works from the real API rather than guessing at it. The default core profile exposes 32 tools; full opens up 97. Resources such as unreal://project/context and prompt templates like level_review come with it.
The server binds http://127.0.0.1:8765/ and falls back to a free port if that one is taken. Its auth token lives in <YourProject>/Saved/FunplayMCP/funplay_mcp_settings.json; POST requests without it are rejected. Editor only — packaged games don't carry the server. Safety checks for execute_python are on by default, and safety_checks=false overrides them for a single call.
What it helps with
- lay out actors and lighting from a written scene description
- build a level and a Blueprint without dragging nodes by hand
- grab a Play-In-Editor screenshot and hand it to the assistant
- run arbitrary Python in the editor when no dedicated tool fits
- check the real signature of an
unrealclass instead of guessing
Example prompts for the agent
- Call
get_project_infoand tell me which project is open. - Find the API class for static meshes and describe its methods.
How to install Funplay Unreal MCP
Platform CLI
claude mcp add --env FUNPLAY_UNREAL_MCP_URL=<FUNPLAY_UNREAL_MCP_URL> --env UNREAL_MCP_URL=<UNREAL_MCP_URL> --env FUNPLAY_UNREAL_MCP_TOKEN=<FUNPLAY_UNREAL_MCP_TOKEN> --env UNREAL_MCP_TOKEN=<UNREAL_MCP_TOKEN> --transport stdio funplay-unreal-mcp -- npx -y funplay-unreal-mcpReplace <…> with your own values
Platform CLI
codex mcp add funplay-unreal-mcp --env FUNPLAY_UNREAL_MCP_URL=<FUNPLAY_UNREAL_MCP_URL> --env UNREAL_MCP_URL=<UNREAL_MCP_URL> --env FUNPLAY_UNREAL_MCP_TOKEN=<FUNPLAY_UNREAL_MCP_TOKEN> --env UNREAL_MCP_TOKEN=<UNREAL_MCP_TOKEN> -- npx -y funplay-unreal-mcpReplace <…> with your own values
Config file
{
"mcpServers": {
"funplay-unreal-mcp": {
"command": "npx",
"args": [
"-y",
"funplay-unreal-mcp"
],
"env": {
"FUNPLAY_UNREAL_MCP_URL": "<FUNPLAY_UNREAL_MCP_URL>",
"UNREAL_MCP_URL": "<UNREAL_MCP_URL>",
"FUNPLAY_UNREAL_MCP_TOKEN": "<FUNPLAY_UNREAL_MCP_TOKEN>",
"UNREAL_MCP_TOKEN": "<UNREAL_MCP_TOKEN>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"funplay-unreal-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"funplay-unreal-mcp"
],
"env": {
"FUNPLAY_UNREAL_MCP_URL": "<FUNPLAY_UNREAL_MCP_URL>",
"UNREAL_MCP_URL": "<UNREAL_MCP_URL>",
"FUNPLAY_UNREAL_MCP_TOKEN": "<FUNPLAY_UNREAL_MCP_TOKEN>",
"UNREAL_MCP_TOKEN": "<UNREAL_MCP_TOKEN>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e FUNPLAY_UNREAL_MCP_URL=<FUNPLAY_UNREAL_MCP_URL> -e UNREAL_MCP_URL=<UNREAL_MCP_URL> -e FUNPLAY_UNREAL_MCP_TOKEN=<FUNPLAY_UNREAL_MCP_TOKEN> -e UNREAL_MCP_TOKEN=<UNREAL_MCP_TOKEN> funplay-unreal-mcp npx -y funplay-unreal-mcpReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Funplay Unreal MCP
How do I install Funplay Unreal MCP in Claude Code?
Copy the FunplayMCP/ folder into your project's Plugins/ directory and enable the plugin under Edit → Plugins. Then run `claude mcp add funplay-unreal-mcp -e FUNPLAY_UNREAL_MCP_TOKEN=<FUNPLAY_UNREAL_MCP_TOKEN> -e UNREAL_MCP_TOKEN=<UNREAL_MCP_TOKEN> -- npx -y funplay-unreal-mcp`. Pull the token and endpoint from Tools → Funplay MCP → Log Endpoint + Token.
What does Funplay Unreal MCP do?
It gives an AI assistant access to a live Unreal Editor over MCP: spawning actors, building levels and Blueprints, importing assets, driving Play-In-Editor, capturing screenshots. execute_python is the main execution path.
Does the server ship inside a packaged game?
No. It runs in the editor only, binds to 127.0.0.1, and rejects requests that arrive without the project's auth token.