uefn-mcp
One PowerShell command on the Windows box that has UEFN. Source: BizaNator/uefn-mcp. Do not add a second MCP server.
-
Run the installer
If the client repo is private, the script uses
ghorgitwith your existing GitHub login. The installer writesCONNECT.mdand does not dump mcpServers JSON unless you pass-VerbosePaste.irm https://uefnmcp.com/install.ps1 | iex
-
Paste this to your agent
One line. The installer writes the full brief to
CONNECT.md(andUEFN-MCP-CONNECT.mdon the island when the project is known). That file tells the agent to ASK THE HUMAN for the folder that contains the.uefnprojectif needed, verify already-written.mcp.json, and runsetup.ps1soContent\Pythonis armed. One server only. A portal key is not required.Read %LOCALAPPDATA%\uefn-mcp\CONNECT.md and configure UEFN-MCP according to those instructions. In every new session, call list_toolsets and enable_toolset(...) for any group the task needs that is not already listed.
-
CONNECT.md
The brief on disk tells the agent to verify already-written
.mcp.json— do not hand-author.HOSTED_MCP_URLdefaults to the hosted grounding endpoint.-VerbosePastestill prints the old mcpServers dump.{ "mcpServers": { "uefn-mcp": { "command": "node", "args": [ "<path printed by the installer>\\index.js", "--stdio" ], "env": { "HOSTED_MCP_URL": "https://uefnmcp.com/mcp", "UEFN_PROJECT_PATH": "<absolute project folder — contains the .uefnproject>", "UEFN_PROJECT_ROOT": "<absolute Content/Verse or Plugins/<Plugin>/Content/Verse>" } } } } -
Toolsets
Setup lists the
verse,scene,sessionanduitoolsets by default (UEFN_MCP_TOOLSETS=verse,scene,session,ui), andrun_editor_pythonis always in core.call_epic_mcpreaches Epic's built-in UEFN MCP, which setup starts automatically. For anything else (audio, materials, fab, performance and more), the agent callslist_toolsets, thenenable_toolset(...)before the task. That repeats in each new session, LAN sessions included. Codex is set toUEFN_MCP_TOOLSETS=allbecause it may not refresh its tool list after a change.
Driving the editor from another machine? See Remote control over LAN or VPN.
Something not connecting? Tell your agent to call get_skill('uefn-mcp-connectivity') first. It explains the three layers (client tools on the editor PC, uefnmcp.com, and Epic's UEFN MCP) and walks a fix for each, with children for install (uefn-mcp-install), Claude and Codex plus panels (uefn-mcp-clients), LAN or Tailscale (uefn-mcp-network), and a relay game-thread timeout (uefn-editor-dialogs).
Agent playbooks: get_skill('uefn-tool-contracts') maps each job to the exact tool (client, cloud, call_epic_mcp, call_unreal_mcp) and lists what can be created today versus the object types that still cannot. get_skill('verse-change-workflow') runs an intent check, a plan, compile_check and a two-part review before code is called done. get_skill('verse-dependency-audit') maps Verse dependencies with the local graph toolset (enable_toolset('graph')) before a delete, move, or rename. get_skill('uefn-performance-audit') measures Memory Calculation. A cook that fails because GameFeatureSet delmargfs is unavailable is the same skill: explain the error and follow the bug report. get_skill('uefn-memory-reduction') is the child for lowering that bar (instanced static meshes, a zone spawner, a building shell, a lazy device editable). A Lore check-in crash or packstore read error is get_skill('uefn-p4').
Hosted grounding signs in via browser OAuth on first use. Portal keys (uefn_sk_*) are optional — CI and overrides only. CI / override keys. Already installed? Update.