Skip to content

Resources and Prompts

ChiR24 edited this page Sep 30, 2026 · 4 revisions

Use it · Resources and Prompts: beyond the tool

Besides the unreal tool, the server offers the other MCP building blocks. Client support for them varies, and everything the editor can do goes through the tool, so none of this is required.

📖 Resources
Read-only context a client can attach.

🧾 Prompts
Six guided workflow templates.

⌨️ Completions
Suggestions for prompt and resource arguments.

📶 Progress and cancellation
For long-running calls.

Both routes advertise the same capabilities at initialize:

{ "tools": {}, "resources": {}, "prompts": {}, "completions": {} }

Server instructions

At initialize, both routes send the same instructions text: the search › describe › execute workflow, how to recover from each kind of error, and path conventions. Most clients inject it into the model's context once per session. On the native route, the Server Instructions plugin setting is appended (⚙️ Configuration).

Resources

URI Contents stdio native
ue://capability/catalog Bounded summary of the capability catalog. Its revision changes when configure changes what is enabled. ✅ ✅
ue://project Project name (redacted), engine version, content root ✅ ✅
ue://state/revisions Counters for selection, level, asset registry and packages. Pin them in options.expectedRevisions to refuse stale writes. ✅ ✅
ue://health Server health, readiness and diagnostics ✅ ✅
ue://automation-bridge Bridge diagnostics and recent activity ✅ ✅
ue://assets Project assets ✅ —
ue://actors Actors in the current level ✅ —
ue://editor PIE status and current level ✅ —
ue://selection Handles of the selected actors ✅ —

Templates (both routes):

Template Contents
ue://capability/{capabilityId} A short record for one capability. For the full contract, use describe.
ue://knowledge/{topic} Stable Unreal reference notes on a topic
ue://asset/{assetPath} A normalized handle for the asset at a content path

Every read is capped at 64 KiB, and paths are normalized and redacted.

Note

The four live-state resources (assets, actors, editor, selection) need the editor's game thread. The stdio server fetches them through the bridge. The native server answers resource reads on its socket thread, where it can't wait for the editor, so it doesn't offer them (RESOURCE_UNAVAILABLE). The same information is available on both routes through capabilities such as control_actor.list and inspect.get_editor_state.

Prompts

prompts/list returns six workflow templates. Getting a prompt only returns text messages; it never runs anything. Clients that surface prompts often show them as slash commands.

Prompt Walks through Arguments (* required)
🔧 inspect-fix Inspecting a UObject and correcting one property, one reviewed call at a time objectPath*, propertyName, newValue
📥 asset-import Checking the destination, importing from a source you supply, validating the result destinationPath*, sourceFormat
🏗️ level-build Creating a working level, building its lighting, saving it levelPath*
🧩 blueprint-edit Reading a Blueprint, adding a variable and a component, compiling blueprintPath*, variableName
✔️ validation Read-only validation of the project, an asset and the current level assetPath
🎬 sequence-render Preparing and running a Movie Render Queue job for a level sequence sequencePath*, outputFormat

Completions

completion/complete suggests values for prompt arguments and for the three template variables (capabilityId, topic, assetPath). Matches rank prefix first, then substring, subsequence, and single typos. Results are capped at 100 values.

Progress

Send _meta.progressToken with a tools/call, and you receive notifications/progress for that call, driven by the editor's own progress events (imports, builds, renders). The token is echoed exactly as you sent it; without a token, no progress is sent. On the stdio route, progress also extends the call's deadline, 30 seconds at a time.

Cancellation

Both routes honor notifications/cancelled:

The request is… What happens
Still waiting in the editor's queue Dropped before it runs
Already running in the editor Finishes, because editor work can't be interrupted safely. Its reply is discarded.

A session can only cancel its own requests.

Protocol versions

Route Supported versions
🌐 Native HTTP 2025-11-25 (latest) · 2025-06-18 · 2025-03-26
🧩 stdio The same three, plus the older 2024-11-05 and 2024-10-07

Both negotiate the highest version the client and server share. On the native route, a request that leaves out the MCP-Protocol-Version header uses the session's negotiated version, and a request that names an unsupported version is refused with HTTP 400. A client stuck on a 2024 protocol version should use the stdio route.


🏠 Home

Get started
🚀 Quick Start
📦 Installation
🔌 Connecting Clients

Use it
🧭 Using the Gateway
🧰 Tools Reference
📚 Resources and Prompts

Set it up
⚙️ Configuration
🔐 Security

Help
🩺 Troubleshooting
💬 FAQ
⬆️ Upgrading from 0.5.x

Contribute
🛠️ Development


Covers the 0.6 line · Releases · Discussions

Clone this wiki locally