About enginegate
enginegate is an MCP gateway for agents working with a running Unreal Editor. It provides one tool to search, inspect, execute, and configure editor capabilities, forwarding calls to the editor's local MCP endpoint.
Key features
- 01Search editor capabilities in plain language
- 02Read capability contracts
- 03Execute editor capabilities
- 04Configure enabled capability groups
- 05Forward calls to the editor MCP endpoint
Use cases
- 01Find an editor capability for a task
- 02Review a capability's contract before use
- 03Run an Unreal Editor action through MCP
- 04Configure available capability groups
MCP support
Exposes one unreal tool to MCP clients and forwards its operations to a running Unreal Editor's local MCP endpoint. The editor must be running with that endpoint available.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
1Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| tool | string | No | Internal tool name, e.g. control_actor. Required for describe and execute (unless capability is given). |
| query | string | No | Plain-words capability search, e.g. 'spawn actor'. Required for search. |
| action | string | No | Action within the tool, e.g. spawn. Required for execute (unless capability is given). |
| params | object | No | Parameters for the capability being executed. |
| consent | string | No | Consent grant returned by describe for destructive capabilities; required to execute those. |
| operation | enum | Yes | The gateway operation to perform.search | describe | execute | configure |
| capability | string | No | Capability id such as control_actor.spawn; an alternative to tool+action for execute. |
Details
From the project READMEenginegate
enginegate gives an agent a single doorway into a running Unreal
Editor. Instead of a long list of editor tools, it exposes one
gateway tool, unreal, with four operations: search the editor's
capabilities in plain words, read one capability's contract before
using it, execute a capability, and configure which capability
groups are enabled.
Every call is forwarded to the editor's own local MCP endpoint, so enginegate only works while an editor with that endpoint is running. When it is not, calls come back as errors carrying the underlying connection problem — enginegate never invents an editor result.
Install
npx @reneturcios/enginegate call '{"operation":"search","query":"spawn actor"}'
Or run the container image:
docker run -i ghcr.io/cloudcorprecords/enginegate
The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Configuration
| Environment variable | Meaning |
|---|---|
UNREAL_MCP_URL | The editor's MCP endpoint. Default: http://127.0.0.1:3000/mcp |
MCP_AUTOMATION_CAPABILITY_TOKEN | When set, sent on every forwarded call as the X-MCP-Capability-Token header. |
CLI
# Search capabilities in plain words
enginegate call '{"operation":"search","query":"spawn actor"}'
# Read one internal tool's contract
enginegate call '{"operation":"describe","tool":"control_actor"}'
# Execute a capability by tool + action, or by capability id
enginegate call '{"operation":"execute","tool":"control_actor","action":"spawn","params":{"class":"PointLight"}}'
enginegate call '{"operation":"execute","capability":"control_actor.spawn","params":{"class":"PointLight"}}'
# Configure capability groups
enginegate call '{"operation":"configure","tool":"control_actor","params":{"enabled":true}}'
enginegate --version
Exit codes: 0 on success, 1 when a call fails validation or the
editor cannot be reached or returns an error, 2 for usage errors.
Argument requirements are checked before anything is forwarded, and the error names the missing field:
searchrequiresquerydescriberequirestoolexecuterequirestool+action, orcapabilityconfigurerequirestoolorparams
MCP server
One bin serves both faces. The mcp subcommand starts a stdio MCP
server:
npx -y @reneturcios/enginegate mcp
MCP client configuration:
{
"mcpServers": {
"enginegate": {
"command": "npx",
"args": ["-y", "@reneturcios/enginegate", "mcp"]
}
}
}
Tools
| Tool | Input | What it does |
|---|---|---|
unreal | operation (required; one of search, describe, execute, configure), plus per-operation fields: query, tool, action, capability, params, consent | Forwards the call to the running editor's gateway. describe returns a capability's contract — including a consent grant for destructive capabilities, which must be passed back as consent to execute them. |
Forwarded calls are JSON-RPC tools/call requests for the tool name
unreal. The editor endpoint may answer with a plain JSON body or a
server-sent-events stream; both are parsed, and the editor's own
result text (and error flag) is what the caller receives.
Development
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network
npm run dev # run the CLI from source via tsx
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.