unreal-direktor-mcp
v0.1.2
Published
MCP server bridge for Direktor — control Unreal Engine from any AI client
Downloads
0
Maintainers
Readme
unreal-direktor-mcp
A stdio MCP bridge for Direktor — control the Unreal Engine editor from any AI client over the Model Context Protocol.
Direktor is an in-process Unreal Editor plugin that speaks MCP over Streamable HTTP (http://127.0.0.1:13579/mcp). This bridge is the recommended way to connect — a command/stdio MCP server that works on every client, including the many that don't speak Streamable HTTP. Clients that do support a direct HTTP endpoint can skip the bridge and point at the URL instead (see below). The editor is always the source of truth: the tool list is fetched live on every request, with a disk cache used only as a fallback so the client can still start and list tools when the editor isn't running yet.
Requirements
- Node.js 18+ (uses the global
fetchandAbortSignal.timeout) - The Direktor plugin installed and enabled in a running Unreal Editor (5.0–5.8)
Usage
No install needed — run it with npx:
npx unreal-direktor-mcpThen point your AI client's MCP config at it. Example (Claude Desktop / Cursor mcpServers):
{
"mcpServers": {
"direktor": {
"command": "npx",
"args": ["-y", "unreal-direktor-mcp"]
}
}
}If your client supports a direct HTTP MCP endpoint, you can skip this package and point it at http://127.0.0.1:13579/mcp instead.
Configuration
| Env var | Default | Purpose |
|---|---|---|
| DIREKTOR_URL | http://127.0.0.1:13579/mcp | Full MCP endpoint of the running editor |
| DIREKTOR_PORT | 13579 | Port only (used when DIREKTOR_URL is unset) |
| DIREKTOR_CACHE | .direktor-tools-cache.json next to the script | Relocate the tool-list cache (e.g. when the install dir is read-only) |
How it works
The editor is the single source of truth — the cache never shadows live data.
tools/list— fetched live from the editor on every call, so the list is never stale. The on-disk cache is consulted only when the editor is unreachable, purely so a client that starts before the editor still has a list to show.tools/call— forwarded to the editor every time; the cache is never consulted. Returns a clear "Unreal Editor is not running" message if it can't connect, so you can start the editor and retry without restarting your AI client.- Self-heal — if the editor was down and later comes up, the bridge emits
notifications/tools/list_changedso the client re-lists live and drops the cached view automatically.
License
MIT
