github Python analyzed 3d38a7b

ATDev-Inc/uemcp

github

Drive Unreal Engine 5 with Claude over MCP. Nothing to install inside Unreal.

maintainer
ATDev-Inc
license
MIT
first seen
2026-06-12
last seen
2026-08-22
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 40 tools
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
skills & danger signals github-tarball
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

danger signals1

code evidence vv0.1.0 · github-tarball
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