Unreal MCP Ue4 vs Craftwire

A side-by-side look at the Unreal MCP Ue4 and Craftwire MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Unreal MCP Ue4 logoUnreal MCP Ue4Gaming · Local subprocess (stdio)UE4.27 MCP server for controlling Unreal Editor sessions over Python Remote Execution.61GoodAuth: not declaredCraftwire logoCraftwireGaming · Local subprocess (stdio)See and drive Minecraft: Fabric client, Paper server, bots, plugin tests, profiling.63GoodAuth: not declared

Verdict: choose Unreal MCP Ue4 for gaming work as a local process; choose Craftwire for gaming as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Unreal MCP Ue4 logoChoose Unreal MCP Ue4 when

  • You need dedicated capabilities in the Gaming domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like get_unreal_engine_path, get_unreal_project_path, get_unreal_version.
Explore Unreal MCP Ue4

Craftwire logoChoose Craftwire when

  • You need dedicated capabilities in the Gaming domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like list_instances, get_request_status, wait_for.
Explore Craftwire

Feature & specification comparison

Rows where the two servers differ are marked.

SpecUnreal MCP Ue4 logoUnreal MCP Ue4Craftwire logoCraftwire
CategoryGamingGaming
Quality signal61/100 · Good63/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars272
Directory activity 1 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools3435

Tools & capabilities

Unreal MCP Ue4 tools 34

  • get_unreal_engine_pathGet the active Unreal Engine root path from the connected editor session
  • get_unreal_project_pathGet the active Unreal project file path from the connected editor session
  • get_unreal_versionGet the active Unreal Engine version string from the connected editor session
  • editor_create_objectCreate a new object/actor in the world Example output: {'success': true, 'actor_name': 'StaticMeshActor_1', 'actor_label': 'MyCube', 'class': 'StaticMeshActor', 'location': {'x': 100.0, 'y': 200.0, 'z': 0.0}, 'rotation': {'pitch': 0.0, 'yaw': 45.0, 'roll': 0.0}, 'scale': {'x': 1.0, 'y': 1.0, 'z': 1.0}} Returns created actor details with final transform values.
  • editor_update_objectUpdate an existing object/actor in the world Example output: {'success': true, 'actor_name': 'StaticMeshActor_1', 'actor_label': 'UpdatedCube', 'class': 'StaticMeshActor', 'location': {'x': 150.0, 'y': 200.0, 'z': 50.0}, 'rotation': {'pitch': 0.0, 'yaw': 90.0, 'roll': 0.0}, 'scale': {'x': 2.0, 'y': 2.0, 'z': 2.0}} Returns updated actor details with new transform values.
  • editor_delete_objectDelete an object/actor from the world Example output: {'success': true, 'message': 'Successfully deleted actor: MyCube', 'deleted_actor': {'actor_name': 'StaticMeshActor_1', 'actor_label': 'MyCube', 'class': 'StaticMeshActor', 'location': {'x': 100.0, 'y': 200.0, 'z': 0.0}}} Returns deletion confirmation with details of the deleted actor.
  • manage_assetAsset tool namespace for listing, searching, inspecting, exporting, validating, duplicating, renaming, moving, deleting, saving, and folder-management actions.
  • manage_actorActor tool namespace for listing, searching, spawning, deleting, transforming, and inspecting level actors.
  • manage_editorEditor tool namespace for run_python, console_command, project_info, map_info, world_outliner, is_pie_running, start_pie, stop_pie, screenshot, and move_camera actions.
  • manage_systemSystem tool namespace for console commands and asset validation actions.
  • manage_inspectionInspection tool namespace for asset, actor, map, and basic Blueprint summary actions.
  • manage_toolsTool-namespace registry for listing registered tool namespaces and describing supported actions. Use this as the discovery entry point for the namespace-first MCP surface.
  • +22 more on the listing page

Craftwire tools 35

  • list_instancesList connected Minecraft clients and servers (id, name, versions, tools added by plugins or mods). Call this first.
  • get_request_statusStatus of a request sent with an operationId: unknown, running, done (with result) or failed (with error). Kept 5 minutes.
  • wait_forWait until something happens (after the call). Events: chat_match, hud_match, screen_open, screen_closed, log_match, player_join {pattern}. Server, every tick: block, player_near, inventory, event, message, expr {js}. Returns what held and its value. Details: craftwire://docs/tools.
  • player_stateLocal player: position, rotation, health, game mode, dimension, hotbar slot, inventory, crosshair target.
  • hud_readRead the HUD as text: bossbars, actionbar, title, sidebar (lines as drawn), tab list (header, footer, players), belowName.
  • gui_readDescribe the open screen: title, slots (item, count, name, lore), hovered tooltip, widgets. {open:false} when none is open.
  • gui_actionAct on the open screen: hover/click/right_click/shift_click {slot}, drag {slot,toSlot}, click_widget {widget}, type {text}, close. Returns the new gui_read.
  • inputGameplay input with no screen open: keys (forward, back, left, right, jump, sneak, sprint, attack, use, pick, drop, inventory, swap_hands, chat, command, ...) with mode press|hold|release; look adds yaw/pitch; hotbar 1-9.
  • cameraMove the render camera, not the player: set, look_at {target}, frame_area {area}, frame_entity {entity}, freecam_on/off, reset; path {keyframes}/orbit {center,radius} play over time. Details: craftwire://docs/video.
  • client_settingsRead or set guiScale, fov, renderDistance, hideHud, windowSize; no arguments only reads.
  • screenshotCapture the game frame. hud/chat:false hide them; maxSize: long edge; savePath writes full size (.png/.jpg); camera: this shot only. layer gui|tooltip|gui+tooltip: transparent PNG of the open menu (craftwire://docs/gui-capture).
  • recordRecord a video with sound through the user's ffmpeg. start {savePath, preset max|high|balanced|light, durationMs?, camera? (a camera tool path/orbit motion), wait?}; stop; status. layer gui|tooltip|gui+tooltip: transparent .mov/.webm. Details: craftwire://docs/video.
  • +23 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Unreal MCP Ue4

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "unreal-mcp-ue4": {
      "command": "npx",
      "args": [
        "-y",
        "unreal-mcp-ue4"
      ]
    }
  }
}

Craftwire

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "craftwire": {
      "command": "npx",
      "args": [
        "-y",
        "craftwire"
      ]
    }
  }
}

Frequently asked questions

Unreal MCP Ue4 is categorized under Gaming and uses a local stdio subprocess. Craftwire belongs to Gaming and uses a local stdio subprocess. Pick Unreal MCP Ue4 for gaming work and Craftwire for gaming.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Unreal MCP Ue4 has no declared pricing — check the project's own site. Craftwire has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add unreal-mcp-ue4 and craftwire as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Unreal MCP Ue4 has a quality signal of 61/100 (Good) with 1 views, 0 installs and 27 GitHub stars. Craftwire has 63/100 (Good) with 2 views, 0 installs and 2 GitHub stars.