Skip to main content
Glama
ChiR24

Unreal Engine MCP Server

by ChiR24

unreal

Search, describe, execute, or configure Unreal Engine editor operations to automate game development tasks through the Remote Control API.

Instructions

Unreal Engine editor: operation search, describe, execute or configure. The editor has not been reached yet, so this is a placeholder; the full contract replaces it once the editor answers.

Input Schema

NameRequiredDescriptionDefault
operationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changedv0.6.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / action
      Removed value: -{
      -  "description": "Exact action name returned by describe. For configure, this is a manage_tools action.",
      -  "type": "string"
      -}
    • removedInput schema / properties / capability
      Removed value: -{
      -  "description": "Exact canonical capability ID (or declared alias) returned by search, e.g. asset.import. Preferred selector for describe.",
      -  "type": "string"
      -}
    • removedInput schema / properties / consent
      Removed value: -{
      -  "additionalProperties": false,
      -  "description": "Per-call consent grant for a capability whose policy.consent is not 'none'. Bound to one capability and one call; never persisted, inherited or reused. Read the exact grant from describe.consentGrant. Use with execute only.",
      -  "properties": {
      -    "acknowledge": {
      -      "description": "Acknowledgement strength. 'explicit' satisfies an explicit policy; 'elevated' is required by a destructive policy and also satisfies explicit.",
      -      "enum": [
      -        "explicit",
      -        "elevated"
      -      ],
      -      "type": "string"
      -    },
      -    "capability": {
      -      "description": "Exact canonical capability ID this grant authorizes, as returned by describe.",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "capability",
      -    "acknowledge"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / properties / cursor
      Removed value: -{
      -  "description": "Opaque search cursor from a previous response nextCursor. Supersedes offset.",
      -  "type": "string"
      -}
    • removedInput schema / properties / domain
      Removed value: -{
      -  "description": "Capability domain to browse or filter by. Call describe with no selector to list domains.",
      -  "type": "string"
      -}
    • removedInput schema / properties / effect
      Removed value: -{
      -  "description": "Filter search results by declared behavior effect.",
      -  "enum": [
      -    "read",
      -    "write",
      -    "destructive"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / family
      Removed value: -{
      -  "description": "Capability family inside a domain. Call describe with a domain to list its families.",
      -  "type": "string"
      -}
    • removedInput schema / properties / limit
      Removed value: -{
      -  "description": "Maximum search results to return. Defaults to 12.",
      -  "maximum": 25,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedInput schema / properties / maxBytes
      Removed value: -{
      -  "description": "Serialized byte ceiling for a search response. Results are dropped from the end until the response fits.",
      -  "maximum": 262144,
      -  "minimum": 512,
      -  "type": "integer"
      -}
    • removedInput schema / properties / offset
      Removed value: -{
      -  "description": "Zero-based search result offset. Defaults to 0.",
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • removedInput schema / properties / operation / description
      Removed value: -"search finds capabilities. describe returns an exact parent-tool contract. execute runs one validated action. configure manages internal capability availability."
    • removedInput schema / properties / param
      Removed value: -{
      -  "description": "Exact parameter name (tool-union catalog) to inspect. Requires tool and action for full drill-down; resolves the single parameter schema. Use with describe only.",
      -  "type": "string"
      -}
    • removedInput schema / properties / params
      Removed value: -{
      -  "additionalProperties": true,
      -  "description": "Parameters for execute or configure. Keys are the action-specific parameter names returned by describe. Never include action or subAction here.",
      -  "type": "object"
      -}
    • removedInput schema / properties / query
      Removed value: -{
      -  "description": "Search words for tools, categories, descriptions, or actions.",
      -  "type": "string"
      -}
    • removedInput schema / properties / tool
      Removed value: -{
      -  "description": "Exact canonical parent tool name returned by search or describe.",
      -  "type": "string"
      -}
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "properties": {
      -    "action": {
      -      "type": "string"
      -    },
      -    "actionCount": {
      -      "type": "integer"
      -    },
      -    "actionHasMore": {
      -      "type": "boolean"
      -    },
      -    "actionLimit": {
      -      "type": "integer"
      -    },
      -    "actionOffset": {
      -      "type": "integer"
      -    },
      -    "actions": {
      -      "description": "Paginated/filterable action list on tool-only describe.",
      -      "type": "array"
      -    },
      -    "availability": {
      -      "description": "Whether the capability is available, disabled or unavailable, and why."
      -    },
      -    "availableActions": {
      -      "type": "array"
      -    },
      -    "availableParameters": {
      -      "type": "array"
      -    },
      -    "behavior": {
      -      "type": "object"
      -    },
      -    "capabilities": {
      -      "description": "Bounded capability list on a family-level describe.",
      -      "type": "array"
      -    },
      -    "capability": {
      -      "description": "Canonical capability ID this response describes.",
      -      "type": "string"
      -    },
      -    "catalogRevision": {
      -      "description": "Revision of the generated canonical capability catalog this response was served from.",
      -      "type": "string"
      -    },
      -    "consentGrant": {
      -      "description": "Exact consent grant this capability requires, ready to pass back as the execute call's consent sibling. Absent when policy.consent is 'none'.",
      -      "type": "object"
      -    },
      -    "cost": {
      -      "type": "object"
      -    },
      -    "data": {
      -      "description": "Execute payload projected against the capability's declared output schema. Same value as receipt.data, and the same location the native /mcp surface publishes."
      -    },
      -    "deprecation": {
      -      "type": "object"
      -    },
      -    "domain": {
      -      "type": "string"
      -    },
      -    "domains": {
      -      "description": "Bounded domain list on a catalog-level describe.",
      -      "type": "array"
      -    },
      -    "drillDown": {
      -      "description": "Example nextCall payload to drill one level deeper.",
      -      "type": "object"
      -    },
      -    "error": {
      -      "type": "string"
      -    },
      -    "errorCode": {
      -      "type": "string"
      -    },
      -    "families": {
      -      "description": "Bounded family list on a domain-level describe.",
      -      "type": "array"
      -    },
      -    "family": {
      -      "type": "string"
      -    },
      -    "filters": {
      -      "description": "Filters applied to this search.",
      -      "type": "object"
      -    },
      -    "hasMore": {
      -      "type": "boolean"
      -    },
      -    "hashes": {
      -      "description": "Per-record schema and content hashes from the generated catalog.",
      -      "type": "object"
      -    },
      -    "inputSchema": {
      -      "description": "Exact input schema of the described capability. Never a parent-tool union.",
      -      "type": "object"
      -    },
      -    "limit": {
      -      "type": "integer"
      -    },
      -    "maxBytes": {
      -      "type": "integer"
      -    },
      -    "message": {
      -      "type": "string"
      -    },
      -    "migratedFrom": {
      -      "description": "Legacy tool/action pair that resolved to this capability.",
      -      "type": "object"
      -    },
      -    "nextCall": {
      -      "description": "Directly-invokable gateway request for guided self-correction.",
      -      "type": "object"
      -    },
      -    "nextCursor": {
      -      "description": "Cursor to pass back as cursor to continue a search.",
      -      "type": "string"
      -    },
      -    "offset": {
      -      "type": "integer"
      -    },
      -    "operation": {
      -      "type": "string"
      -    },
      -    "outputSchema": {
      -      "description": "Exact output schema of the described capability.",
      -      "type": "object"
      -    },
      -    "outputs": {
      -      "type": "array"
      -    },
      -    "param": {
      -      "type": "string"
      -    },
      -    "parameterCount": {
      -      "type": "integer"
      -    },
      -    "parameterHasMore": {
      -      "type": "boolean"
      -    },
      -    "parameterLimit": {
      -      "type": "integer"
      -    },
      -    "parameterOffset": {
      -      "type": "integer"
      -    },
      -    "parameters": {
      -      "description": "Paginated/filterable compact parameter catalog on tool+action describe.",
      -      "type": "array"
      -    },
      -    "parentTool": {
      -      "description": "Legacy parent tool that dispatches the described capability.",
      -      "type": "string"
      -    },
      -    "perActionSchemas": {
      -      "type": "boolean"
      -    },
      -    "policy": {
      -      "type": "object"
      -    },
      -    "reasons": {
      -      "type": "array"
      -    },
      -    "required": {
      -      "description": "Whether the described param is required.",
      -      "type": "boolean"
      -    },
      -    "resolvedFromAlias": {
      -      "description": "Declared alias that resolved to this capability.",
      -      "type": "string"
      -    },
      -    "result": {},
      -    "results": {
      -      "type": "array"
      -    },
      -    "runnable": {
      -      "description": "False when the capability cannot currently be executed; nextCall then points at the fix.",
      -      "type": "boolean"
      -    },
      -    "schema": {
      -      "description": "Full schema of the single described param.",
      -      "type": "object"
      -    },
      -    "scope": {
      -      "description": "Catalog scope: 'tool' for a tool summary, 'union' for the tool-union parameter catalog.",
      -      "type": "string"
      -    },
      -    "success": {
      -      "type": "boolean"
      -    },
      -    "suggestions": {
      -      "description": "Closest-match names for an invalid tool/action/param call.",
      -      "type": "array"
      -    },
      -    "tool": {
      -      "type": "string"
      -    },
      -    "total": {
      -      "type": "integer"
      -    },
      -    "truncated": {
      -      "description": "True when results were dropped to fit the byte budget.",
      -      "type": "boolean"
      -    }
      -  },
      -  "required": [
      -    "success",
      -    "operation"
      -  ],
      -  "type": "object"
      -}New value: +null
  2. First observedv0.5.30

TDQS

D1.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, and it discloses nothing: no mention of whether 'execute' mutates editor state, what permissions are needed, or how the editor is reached. It explicitly states the editor has not been reached, so even basic operational behavior is unknown.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loads the domain and operation list, which is good structure. The second sentence, however, is an admission of incompleteness rather than content, so the text is more under-specified than genuinely concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description should explain what search/describe/execute/configure actually do and what comes back; instead it openly says the contract is pending. An agent cannot confidently invoke this tool from this definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one parameter ('operation') and its enum values are already fully visible in the schema; the description merely restates those four values without explaining what any of them means or returns. Zero schema description coverage is not compensated by the text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a domain (Unreal Engine editor) and four operation verbs (search, describe, execute, configure), but it does not say what those operations act on or return. It then declares itself a placeholder, which by design leaves the actual purpose undefined for the agent reading it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to pick one operation over another, no prerequisites, and no indication of what each mode does. An agent seeing 'search' vs 'describe' vs 'execute' gets no basis for choosing, and the placeholder caveat gives none either.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools