ultimate-unreal-engine-mcp
npm
v0.1.25
Published by an unidentified publisher — no publish provenance and no public repository, so the publisher could not be verified and the source cannot be independently located.
MCP server giving AI assistants full access to Unreal Engine 5.7 projects
The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.
1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:
The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.
2. Client adoption risk — 100 − 8 = 92. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:
| Points | Adoption-risk factor |
|---|---|
| −6 | capability blast radius (high) — client exposure if the model is manipulated |
| −2 | publisher verification (unlinked) — no provenance/repo link, but the shipped source was fully read |
Capability observations and info notes are shown under Findings but never scored.
Open any row's finding below for the file, line and evidence behind a deduction.
Tools that read sensitive data ([ue_read_config]) and tools that can send data out ([ue_spawn_actor]) are exposed together. An agent can move private data to the sink.
Evidence: sources [ue_read_config] → sinks [ue_spawn_actor]
Fix: Keep secret-reading and egress capabilities on separate, separately-approved servers.
Location: flow ue_read_config → ue_spawn_actor
Tool "ue_spawn_actor" appears to run shell commands or evaluate code (keyword "spawn" in tool name). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.
Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.
Location: tool ue_spawn_actor
In the server's implementation (`dist/tools/editor/index.js:123`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.
Evidence: ibe('The actor class to spawn (e.g., AStaticMeshActor)'), location: z.object({ x: z.number()
Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.
Location: server dist/tools/editor/index.js
In the server's implementation (`dist/utils/execFileNoThrow.js:8`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.
Evidence: { execFile } from 'node:child_process'; /** * Invoke a subprocess using array-form execFile and return its output. * N
Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.
Location: server dist/utils/execFileNoThrow.js
Tool "ue_spawn_actor" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.
Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.
Location: tool ue_spawn_actor
Tool "ue_read_config" takes a path parameter "config_file" with no constraint. Without a canonicalize-and-contain check (not visible statically), this permits ../ traversal outside the intended root.
Fix: Resolve and verify the path stays within an allowed root; reject traversal sequences.
Location: tool ue_read_config · inputSchema.properties.config_file
Each tool and what it can reach — statically extracted from the published source.
ue_read_configreads sensitive dataue_spawn_actorruns code / shellue_actor_materialsno sensitive capabilityue_add_blueprint_nodeno sensitive capabilityue_add_blueprint_variableno sensitive capabilityue_add_functionno sensitive capabilityue_add_includeno sensitive capabilityue_add_input_bindingno sensitive capabilityue_add_keyframeno sensitive capabilityue_add_known_issueno sensitive capabilityue_add_propertyno sensitive capabilityue_add_render_jobno sensitive capabilityue_add_sequence_trackno sensitive capabilityue_batch_importno sensitive capabilityue_buildno sensitive capabilityue_check_blueprintno sensitive capabilityue_cleanup_screenshotsno sensitive capabilityue_configure_render_outputno sensitive capabilityue_connect_blueprint_pinsno sensitive capabilityue_control_livelink_subjectno sensitive capabilityue_control_render_queueno sensitive capabilityue_convert_actorno sensitive capabilityue_cpp_exposed_membersno sensitive capabilityue_create_blueprintno sensitive capabilityue_create_curveno sensitive capabilityue_create_data_assetno sensitive capabilityue_create_input_actionno sensitive capabilityue_create_material_instanceno sensitive capabilityue_create_sequenceno sensitive capabilityue_delete_actorno sensitive capabilityue_duplicate_actorsno sensitive capabilityue_editor_stateno sensitive capabilityue_execute_pcg_graphno sensitive capabilityue_export_meshno sensitive capabilityue_find_blueprint_subclassesno sensitive capabilityue_find_class_fileno sensitive capabilityue_fly_throughno sensitive capabilityue_focus_actorno sensitive capabilityue_generate_classno sensitive capabilityue_get_build_errorsno sensitive capabilityue_get_class_hierarchyno sensitive capabilityue_get_component_boundsno sensitive capabilityue_get_selectionno sensitive capabilityue_import_fbxno sensitive capabilityue_import_usdno sensitive capabilityue_inspect_anim_blueprintno sensitive capabilityue_inspect_behavior_treeno sensitive capabilityue_inspect_blackboardno sensitive capabilityue_inspect_blend_spaceno sensitive capabilityue_inspect_eqsno sensitive capabilityue_inspect_gameplay_effectno sensitive capabilityue_inspect_geometry_collectionno sensitive capabilityue_inspect_metasoundno sensitive capabilityue_inspect_montageno sensitive capabilityue_inspect_pcg_graphno sensitive capabilityue_inspect_physics_assetno sensitive capabilityue_inspect_replicationno sensitive capabilityue_inspect_sessionno sensitive capabilityue_inspect_sound_cueno sensitive capabilityue_inspect_state_treeno sensitive capabilityue_inspect_streaming_sourcesno sensitive capabilityue_inspect_transition_logicno sensitive capabilityue_iterate_sceneno sensitive capabilityue_list_abilitiesno sensitive capabilityue_list_actorsno sensitive capabilityue_list_animation_assetsno sensitive capabilityue_list_blueprintsno sensitive capabilityue_list_input_actionsno sensitive capabilityue_list_input_contextsno sensitive capabilityue_list_known_issuesno sensitive capabilityue_list_livelink_sourcesno sensitive capabilityue_list_livelink_subjectsno sensitive capabilityue_list_pcg_graphsno sensitive capabilityue_list_pluginsno sensitive capabilityue_list_render_queueno sensitive capabilityue_list_replicated_propertiesno sensitive capabilityue_list_scene_statesno sensitive capabilityue_list_sequence_tracksno sensitive capabilityue_list_sound_assetsno sensitive capabilityue_look_atno sensitive capabilityue_manage_data_layersno sensitive capabilityue_manage_physical_materialno sensitive capabilityue_manage_physics_cacheno sensitive capabilityue_manage_remote_controlno sensitive capabilityue_material_paramsno sensitive capabilityue_orbit_reviewno sensitive capabilityue_pie_game_stateno sensitive capabilityue_pie_logsno sensitive capabilityue_pie_startno sensitive capabilityue_pie_stopno sensitive capabilityue_preview_livelink_datano sensitive capabilityue_query_assetsno sensitive capabilityue_query_audio_insightsno sensitive capabilityue_query_gameplay_tagsno sensitive capabilityue_query_navmeshno sensitive capabilityue_query_pcg_resultsno sensitive capabilityue_read_attribute_setno sensitive capabilityue_read_blueprintno sensitive capabilityue_read_blueprint_graphno sensitive capabilityue_read_cloth_paramsno sensitive capabilityue_read_collisionno sensitive capabilityue_read_cpp_classno sensitive capabilityue_read_level_layoutno sensitive capabilityue_read_net_driverno sensitive capabilityue_read_retarget_mappingsno sensitive capabilityue_read_uprojectno sensitive capabilityue_read_world_partitionno sensitive capabilityue_rebuildno sensitive capabilityue_reset_destructionno sensitive capabilityue_select_actorsno sensitive capabilityue_sequence_playbackno sensitive capabilityue_set_actor_propertyno sensitive capabilityue_set_blueprint_defaultno sensitive capabilityue_set_collisionno sensitive capabilityue_set_material_paramno sensitive capabilityue_trace_cpp_in_blueprintsno sensitive capabilityue_trace_includesno sensitive capabilityue_trace_referencesno sensitive capabilityue_transform_actorno sensitive capabilityue_trigger_hlod_generationno sensitive capabilityue_trigger_scene_transitionno sensitive capabilityue_validate_assetno sensitive capabilityue_validate_folderno sensitive capabilityue_validate_projectno sensitive capabilityue_viewport_camerano sensitive capabilityue_viewport_hires_screenshotno sensitive capabilityue_viewport_render_modeno sensitive capabilityue_viewport_screenshotno sensitive capabilityue_visual_reviewno sensitive capabilityue_write_configno sensitive capabilityCross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).
Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.
| Version | Score | Findings | Engine | Scanned |
|---|---|---|---|---|
v0.1.25 latest |
A 92/100 | 6 | 1.13.0 | 2026-09-07 |
Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.
The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.
npx mcptrustchecker scan ultimate-unreal-engine-mcp --online
Uncensored AI tools (chat, image, RE/malware analysis, JS deobfuscation, multi-step research) for Claude Desktop, Cursor, Cline, Zed, and any MCP client.
儿童故事 MCP 服务 - 提供故事列表和搜索功能
Grade any bet against thousands of play-by-play game simulations: win probability, odds, edge.
World Cup MCP server for the 2026 men's football tournament — live scores, fixtures, standings, read-only prediction-market signals, and paste-ready match cards. Works with Claude Code, Cursor, Codex, Windsurf, Zed. Not affiliated with FIFA or Anthropic.
MCP server exposing a live Dwarf Fortress fort to an AI agent as curated, semantic tools
MCP Server for Arknights: Endfield (TypeScript / stdio + Streamable HTTP)