Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JEV_MODELNoModel identifier used for decisions.jev-1.13.0
JEV_PROVIDERNoThe decision provider to use. Set to 'typesafe' for direct TypeSafe access.openrouter
JEV_MAX_REQUESTSNoMaximum attempted provider calls per server process (not a dollar budget).100
TYPESAFE_API_KEYNoAPI key for TypeSafe, required when JEV_PROVIDER is set to 'typesafe'.
OPENROUTER_API_KEYNoAPI key for OpenRouter, used when the provider is set to 'openrouter' (the default).
JEV_EXPECTED_PROJECTYesAbsolute path to the expected .uproject file for the Unreal project the server will connect to.
JEV_BRIDGE_TOKEN_FILEYesPath to the file containing the bridge token used to authenticate with the Unreal editor.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
jev_statusA

Show local provider counters and authenticated Unreal connection identity.

jev_decideA

Send explicit state and 1–32 Choice/Score/Noul questions to Jev. No tools are executed.

Question: {type:'choice',instructions:'...',criteria:{id:'description',other:'...'}}; or {type:'noul',instructions:'...'}; or {type:'score',instructions:'...',criteria:['low','high']}. Cloud request limit 64 KiB. Noul is a probability, not a severity score.

jev_routeA

Recommend one candidate tool or defer. Sends supplied goal/candidates to Jev.

Omit candidates for built-in Unreal workflows. Supply a shortlist from another Unreal or future Blender MCP server to route its tools without loading every schema into the agent. Missing/low confidence defers. Thresholds are initial defaults, not accuracy claims.

jev_triageA

Classify a supplied Unreal log excerpt in one batched Jev call. Cloud data transfer.

Only supply relevant log lines with credentials and private data removed. The result suggests a diagnostic category; it does not certify a build or alter the editor.

jev_catalog_refreshA

Discover tools/schemas from explicitly configured loopback MCP servers; no tools execute.

Configure JEV_CATALOG_FILE first. Refresh is atomic; failure retains the previous snapshot. Descriptions from external servers are untrusted data. No automatic cloud transfer.

jev_catalog_searchA

Search the cached tool catalog locally. Returns compact hits and their catalog version.

Refresh first. Retrieve exact schemas with jev_catalog_get before constructing a call. Search scores express lexical relevance, not correctness, permission, or capability proof.

jev_catalog_getA

Retrieve one exact discovered tool schema and any action preset; executes nothing.

Pass the version returned by search to reject a changed catalog. The schema describes the external server's tool; use that server's own client for authorized execution.

jev_catalog_rerankA

Ask Jev to recommend one tool from an explicit catalog shortlist, or defer.

Sends the goal and shortlisted descriptions to the cloud; no editor state or tools run. Prefer deterministic catalog search when it already identifies the appropriate tool.

jev_rank_assetsA

Filter and rank supplied asset metadata; optional Jev choice over the shortlist.

Local by default. Set use_jev=true to send the supplied goal and shortlisted candidates to the provider. Missing required metadata fails the filter. No asset loads, edits or visual judgments occur. Use unreal_asset_details for authoritative mesh measurements.

jev_diagnosticsA

Group supplied logs locally by issue with counts, severity and line evidence.

Optional use_jev=true sends bounded redacted excerpts for batched category suggestions. Automatic redaction is best effort: supply only excerpts authorized for cloud processing. Input is capped at 128 KiB UTF-8 and 8192 lines, including for Unicode logs. This reads no files; build and test results remain authoritative.

unreal_statusA

Inspect actual editor engine version, project file, session and world revision.

unreal_contextA

Get project/world, play state, selection, dirty packages and bounded actors together.

Reads the editor world, including while PIE is running. Inspect independent truncation flags. The revision tracks actor state; it does not fingerprint all asset contents.

unreal_actor_detailsA

Inspect exact loaded actors, world bounds, materials and native edit blockers.

All paths must exist in the editor world. Returns one coherent measurement state; absent bounds and truncated material lists are explicit. No scene change or cloud call.

unreal_snapshotA

Record a selected-actor baseline for later diff; no files, cloud, saves or edits.

Exact selection only, not the entire scene. Keeps at most 32 snapshots, 2 MiB total, for 15 minutes in this MCP process. Restarting the server clears all snapshot IDs.

unreal_diffA

Compare a retained selected-actor baseline with a fresh authenticated editor read.

Reports field changes and identity/freshness limits. A missing actor or unavailable inspection is unverifiable, not proof of deletion or a successful edit. No scene change.

unreal_verifyA

Read exact actors again and check explicit transforms, bounds, gaps, materials or labels.

Returns passed/failed/unverifiable per check, up to 20 selected actors. Missing evidence never passes. Gaps use world-axis bounds, not physics or geometric collision clearance. Use the pre-edit identity after an edit, but not its old revision: edits change revisions. This checks supplied requirements locally; it does not infer them or run gameplay.

unreal_spatial_previewA

Measure existing actors and preview align, distribute, snap_grid or ground translations.

Rotation/scale are preserved. Bounds come from the editor; ground targets a specified world Z plane, not terrain tracing. The measured session/world/revision must still match native preview. Review result.preview.plan_id, apply once, then run verification_checks.

unreal_mesh_previewA

Inspect and preview mesh replacements or one bounded native mesh copy per source.

Replace requires explicit preserve_slots or mesh_defaults material policy. Duplicate uses a centimeter offset and label prefix/suffix, retaining declared native settings. Exact native StaticMeshActors only; custom components/attachments/physics are refused. Review result.preview.plan_id, apply separately once, then run verification_checks from the successful apply with unreal_verify. Never clones arbitrary actor state.

unreal_planA

Review native plan outcome, falling back to this MCP process's retained observation.

At most 64 records/2 MiB for 15 minutes. Transport loss/cancellation stays unknown; a successful record can become outdated after later editor changes. Use unreal_verify or unreal_diff for fresh evidence. Native session receipts survive an MCP reconnect, but not an editor restart. No Undo, replay or save occurs. A transport failure while checking a native receipt remains explicit; a local record is not a native confirmation.

unreal_asset_detailsA

Inspect one exact /Game or /Engine asset object path and native mesh measurements.

Static meshes may load to report bounds in cm, material slots, LODs and collision data. Other classes return registry metadata. No content is sent to a provider.

unreal_validateA

Check loaded editor actors for mesh, material, collision and scale warnings.

Bounded diagnostic inspection only: inspect scan_incomplete and the per-check evidence. This does not compile Blueprints, run gameplay, or certify the complete project.

unreal_captureA

Capture the active Unreal editor viewport as an MCP image with revision metadata.

Requires a rendered level-editor viewport; headless NullRHI returns viewport_unavailable. Sends no image to Jev. The requesting MCP client may forward it to its vision provider. No desktop capture, arbitrary file writing, or camera change occurs.

unreal_frameA

Frame explicit actors in the current level-editor viewport, without editing geometry.

Requires project binding and a rendered, unlocked editor camera. Validates every target before moving the view. Presets require a perspective viewport and preserve projection. Actor selection is preserved. Follow with unreal_capture.

unreal_layout_previewA

Preview a measured grid, staircase or room blockout. No model request or scene mutation.

Dimensions/origin are centimeters; yaw rotates the layout around the origin. Each recipe generates at most 20 native Cube operations. Review then use unreal_apply(plan_id). Room origin is its interior floor corner; grid/stairs origin is the bottom starting corner.

unreal_actorsA

Read a bounded actor snapshot with stable paths and transforms; no cloud call.

unreal_assetsA

Search the Unreal asset registry. Results are metadata, not visual acceptance.

unreal_previewA

Preview bounded actor spawns, transforms, materials, metadata, mesh swaps or copies.

No scene changes occur. Changes to tracked actor state invalidate a plan. Units: cm, rotation [pitch,yaw,roll] degrees. Requires JEV_EXPECTED_PROJECT. Review before applying. Edits support exact native, unattached StaticMeshActors only, not Blueprint actors. At most one edit per existing actor in a plan. Optional expected_state rejects a changed inspection snapshot before preview; a missing capability requires a plugin update.

unreal_applyA

Apply a reviewed preview plan once as an editor Undo transaction. Does not save to disk.

Call only for edits the user authorized. A stale/expired plan requires a new preview. Never automatically retry this call after a timeout: inspect the actual scene first.

unreal_pending_plansA

List native one-shot previews shared with Window > Jev Review; never apply them.

Native receipts survive MCP reconnects while this editor stays open. They remain bounded session memory, expire, and are not evidence of the current scene.

unreal_blueprint_inspectA

Read an already-open exact native Blueprint's graph IDs, pins, variables and diagnostics.

No compile, implicit asset load or graph edit. Node/pin limits are totals across graphs; inspect truncation flags. Stored compiler messages may be stale; they are not a fresh successful compile. Open the chosen Blueprint in Unreal if asset_not_loaded is returned.

unreal_asset_dependenciesA

Inspect one-hop asset registry references with pagination; no recursive loads or edits.

Registry dependencies are evidence of references, not proof that cooking or loading will succeed. Read truncation and registry-loading flags before drawing conclusions.

unreal_asset_import_infoA

Read registry import provenance with source basenames only; never inspect source files.

Missing metadata is reported explicitly. This does not establish source availability, original DCC units, import quality or texture completeness.

unreal_validation_rulesA

List named project-approved native Data Validation rules and their availability.

Disabled unless explicitly configured in the project's [JevEditor.Validation] policy. Only loaded native validator classes are eligible; no Blueprint/Python rule discovery.

unreal_validation_startA

Run only selected approved project validators on exact assets as a bounded native job.

Validators execute trusted project code and can have side effects; listing is separate from authorization to run them. Requires expected project binding; no PIE or automatic retries. Cancellation/timeouts are cooperative between validator callbacks. Poll the returned job_id; not_validated is never a pass. Nothing is saved by this adapter. The bridge automatically binds the queued job to its authenticated project, session, world and revision preflight; an editor change rejects the request.

unreal_validation_jobA

Read a native validation job and its authoritative bounded errors; never restart it.

unreal_validation_cancelA

Cancel pending validation between callbacks. Does not undo validator side effects.

unreal_functional_testsA

List named project-approved functional tests and the current single PIE eligibility.

Configuration lives in [JevEditor.FunctionalTesting]; execution is disabled by default. No tests run, actors load or PIE sessions start during discovery.

unreal_functional_startA

Run one approved placed AFunctionalTest in an existing standalone PIE session.

Inspect context and list tests first. Requires exact project/session/world/revision. Trusted test callbacks can change gameplay state. This does not start or stop PIE, run arbitrary functions, retry failures, save maps or certify the whole game. Poll the job for passed/failed/error/timeout/cancelled/interrupted evidence. Cancellation and timeout use the owned test's FinishTest/CleanUp; callbacks are not sandboxed.

unreal_functional_jobA

Read a functional test's native result and cleanup status without retrying.

unreal_functional_cancelB

Finish/clean up this bridge-owned test. Leaves the user's PIE session running.

unreal_blueprint_compile_targetsA

List project-approved Blueprint compile aliases without loading or compiling assets.

Disabled by default; configure [JevEditor.BlueprintCompilation] locally. Discovery does not authorize execution. Exact native Blueprint, WidgetBlueprint and AnimBlueprint assets are eligible only when already loaded and listed by their project owner.

unreal_blueprint_compile_previewA

Preview one explicit compiler run for an approved alias using inspected editor state.

Does not compile. Review the exact asset and callback side effects in the returned plan. It expires in 120 seconds; scene or notified object edits invalidate it. Native compiler callbacks are trusted project code, can affect other assets or instances, and cannot be sandboxed or rolled back by Jev. Requires exact project binding.

unreal_blueprint_compileA

Consume one reviewed native compile plan and return fresh bounded compiler diagnostics.

Runs synchronously with SkipSave; trusted callbacks may still change or save content. No hard timeout, cancellation, automatic retry, rollback or blanket save guarantee. A failed or stale attempt consumes the plan. If the client times out, read the same plan's receipt before taking further action. A successful compile is not gameplay or visual acceptance. Requires explicit expected project configuration; no PIE/simulation.

unreal_blueprint_pin_previewA

Preview one unconnected bool/int/real input literal on an approved native math node.

Supports Add_IntInt, Multiply_IntInt, Add_DoubleDouble, Multiply_DoubleDouble and Not_PreBool in a loaded ordinary Blueprint approved for compilation. Inspect graph node/pin GUIDs first. No new nodes, links, object defaults or arbitrary expressions. Commit using unreal_blueprint_compile: it edits in an Undo transaction and compiles. Compiler failure retains the edit for explicit Undo/correction. Callbacks are trusted project code; complete rollback and runtime/semantic success are not guaranteed.

unreal_blueprint_compile_receiptA

Read an existing compile plan/result; never retry compilation.

Receipts are retained for at most 15 minutes in this editor session, including across MCP reconnects. Diagnostics may contain private project text; review before sharing.

unreal_workflow_inspectA

Inspect material parameters, native lights, viewport camera, mesh/import dependencies, skeleton/animation compatibility, stored Widget Blueprint trees, approved surfaces, or native Recast routes. Explicit bounded fields; never arbitrary execution or loading. Results declare evidence limits. No compile, save, tracing into DCC files or gameplay proof.

unreal_workflow_previewA

Preview one material scalar/vector, light intensity/color or editor camera pose change. Inspect first. Global exposed material parameters require exact project approval in [JevEditor.Workflows] bEnableMaterialEdits and EditableMaterials. The returned native plan expires after 120 seconds. Review before using unreal_workflow_apply once.

unreal_workflow_applyA

Apply one reviewed domain plan once; return native before/after state. No automatic retry. Asset/light edits use Undo, camera changes do not. No save request. A timed-out attempt may have applied: inspect unreal_workflow_receipt and fresh state. Material/light changes need rendered capture after settling for visual acceptance.

unreal_workflow_receiptC

Read a domain edit receipt; retained 15 minutes in this editor session.

unreal_surface_previewC

Trace to approved collision surfaces, reject excessive slopes/overlap, and preview the measured transform. Requires a native mesh actor. Does not apply. Review the trace and native scene plan, then use unreal_apply and fresh actor/visual checks.

unreal_performance_startA

Start a bounded editor ticker timing/memory capture (10..600 samples, 60-second limit). Hold workload, viewport, polling, throttle and rendering settings constant in the named protocol. Does not freeze the scene or measure packaged gameplay FPS. Poll by job id.

unreal_performance_jobB

Read timing progress and scope, including incomplete or changed-state outcomes.

unreal_performance_cancelA

Cancel an owned timing capture and preserve its partial result.

unreal_performance_compareA

Compare two complete native timing receipts from the same protocol, project/session and world. Report absolute/percent changes and configured threshold crossings. A pair of captures cannot establish significance or identify a rendering/gameplay bottleneck.

Prompts

Interactive templates invoked by user choice

NameDescription
verified_edit_workflowMeasure actors, review an edit plan and verify explicit requirements.
blockout_workflowInspect, preview, apply and verify a measured Unreal blockout within authorized scope.
diagnostic_workflowFind relevant diagnostics and exact tool schemas before proposing a targeted repair.

Resources

Contextual data attached and managed by the client

NameDescription
catalogBuilt-in descriptions; routing also accepts external tool shortlists.
layoutsDeterministic layout descriptions and complete example inputs.
check_examplesTyped requirement examples; substitute actor paths from real inspection.
domain_workflow_guideDiscover supported domain queries and the matching review/apply/verify path.

TDQS

B3.2/5.0

Scored across 54 tools

Disambiguation3/5

Many tools are explicitly scoped and the descriptions are unusually detailed, but there are several close clusters that could trip up an agent: generic unreal_preview/unreal_apply vs. unreal_workflow_preview/unreal_workflow_apply and the many specific *_preview variants; unreal_verify/unreal_validate/unreal_workflow_inspect; and jev_route/jev_catalog_rerank/jev_decide. Descriptions help, but the sheer number of overlapping action words makes misselection likely without careful reading.

Naming Consistency3/5

The server mostly uses readable snake_case with domain prefixes, and lifecycle verbs like start/job/cancel are consistent within validation, functional, and performance groups. However, the pattern is not uniform: generic unreal_preview/unreal_apply coexist with unreal_workflow_preview/unreal_workflow_apply, plural/singular pairs like unreal_actors/unreal_actor_details and unreal_assets/unreal_asset_details are confusing, and the jev_* tools mix catalog verbs with abstract verbs like decide, route, and triage.

Tool Count1/5

With 54 tools, this is an extreme count for a single MCP server regardless of the broad Unreal Editor scope. Even though the tools are grouped into coherent domains, the aggregate surface will significantly burden context windows and make reliable tool selection harder. This places it in the 50+ extreme-mismatch range.

Completeness4/5

For a safety-oriented preview/apply/review adapter, the coverage is strong: asset inspection, workflow preview/apply/receipt, validation, functional testing, Blueprint compilation, and performance capture all have lifecycle tools. Minor gaps exist, such as no explicit workflow enumeration, no snapshot cleanup, no save operation, and very limited Blueprint editing, but these are either intentional by design or workable around.

Maintenance

ActivityMaintained
ResponsivenessNo issues