Drive Unreal Engine 5 with Claude over MCP. Nothing to install inside Unreal.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 40 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
ue_add_component
-
ue_asset_info
-
ue_asset_providers
-
ue_assign_material
-
ue_batch_edit
-
ue_console_command
-
ue_create_blueprint
-
ue_create_folder
-
ue_create_material
-
ue_create_material_instance
-
ue_delete_asset
-
ue_destroy_actor
-
ue_duplicate_asset
-
ue_focus_actor
-
ue_generate_model
-
ue_generation_status
-
ue_get_actor
-
ue_get_camera
-
ue_import_asset
-
ue_import_generated
-
ue_import_sketchfab
-
ue_list_actors
-
ue_new_level
-
ue_open_level
-
ue_play
-
ue_project_info
-
ue_python
-
ue_release_mouse
-
ue_render_sequence
-
ue_save_all
-
ue_screenshot
-
ue_search_assets
-
ue_search_sketchfab
-
ue_set_actor_property
-
ue_set_actor_transform
-
ue_set_blueprint_default
-
ue_set_camera
-
ue_spawn_actor
-
ue_status
-
ue_stop_play
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 3d38a7b · analyzer v33 · 1w ago
skills & prompt files 1
- agent-rules ATDev-Inc-uemcp-3d38a7b/CLAUDE.md
danger signals1
- dynamic code execution eval()/exec() ATDev-Inc-uemcp-3d38a7b/tests/test_bridge.py :56
exec(compile(code, "<harness>", "exec"), {})
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 12
filesystem 4
- fs ATDev-Inc-uemcp-3d38a7b/src/uemcp/assets.py :83
with open(dest_path, "wb") as fh: - fs ATDev-Inc-uemcp-3d38a7b/src/uemcp/render.py :15
from pathlib import Path - fs ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :6
import shutil - fs ATDev-Inc-uemcp-3d38a7b/src/uemcp/snippets.py :921
with open(_marker, "w") as _fh:
shell / exec 1
- shell ATDev-Inc-uemcp-3d38a7b/src/uemcp/render.py :14
import subprocess
network 4
- net ATDev-Inc-uemcp-3d38a7b/src/uemcp/assets.py :18
import urllib.error - net ATDev-Inc-uemcp-3d38a7b/src/uemcp/remote_exec.py :17
import socket - net (weak) ATDev-Inc-uemcp-3d38a7b/tests/test_assets.py :253
import urllib.request - net (weak) ATDev-Inc-uemcp-3d38a7b/tests/test_protocol.py :4
import socket
secrets 1
- secrets ATDev-Inc-uemcp-3d38a7b/src/uemcp/assets.py :163
self.token = token if token is not None else os.environ.get("SKETCHFAB_API_TOKEN")
tool registrations 40
- ue_status ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :37
- ue_python ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :64
- ue_console_command ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :78
- ue_project_info ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :83
- ue_list_actors ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :90
- ue_spawn_actor ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :99
- ue_destroy_actor ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :117
- ue_set_actor_transform ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :122
- ue_set_actor_property ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :132
- ue_get_actor ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :140
- ue_batch_edit ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :145
- ue_search_assets ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :182
- ue_asset_info ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :192
- ue_import_asset ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :197
- ue_create_folder ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :202
- ue_duplicate_asset ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :207
- ue_delete_asset ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :212
- ue_save_all ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :217
- ue_asset_providers ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :224
- ue_search_sketchfab ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :229
- ue_import_sketchfab ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :239
- ue_generate_model ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :254
- ue_generation_status ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :265
- ue_import_generated ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :270
- ue_create_material ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :288
- ue_create_material_instance ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :302
- ue_assign_material ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :318
- ue_create_blueprint ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :325
- ue_add_component ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :332
- ue_set_blueprint_default ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :339
- ue_open_level ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :348
- ue_new_level ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :353
- ue_set_camera ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :360
- ue_get_camera ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :365
- ue_focus_actor ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :370
- ue_screenshot ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :375
- ue_play ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :388
- ue_stop_play ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :393
- ue_release_mouse ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :398
- ue_render_sequence ATDev-Inc-uemcp-3d38a7b/src/uemcp/server.py :413
declared dependencies 1
- mcp@>=1.2.0,<2