A side-by-side look at the Craftwire and Minecraft MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Craftwire for gaming work as a local process; choose Minecraft MCP for gaming as a local process. You can also run both side by side in one mcpServers block.
list_instances, get_request_status, wait_for.WORLDAPI_URL, WORLDAPI_TOKEN.Rows where the two servers differ are marked.
| Spec | M Minecraft MCP | |
|---|---|---|
| Category | Gaming | Gaming |
| Quality signal | 63/100 · Good | 44/100 · Fair |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | Free |
| Required env vars | None listed | WORLDAPI_URLWORLDAPI_TOKEN |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 35 | Not listed |
| Full listing | View Craftwire | View Minecraft MCP |
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.No tool names declared yet. Check the project README from the listing page.
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.
{
"mcpServers": {
"craftwire": {
"command": "npx",
"args": [
"-y",
"craftwire"
]
}
}
}
{
"mcpServers": {
"minecraft": {
"command": "npx",
"args": [
"-y",
"@mairwunnx/minecraft-mcp"
],
"env": {
"WORLDAPI_URL": "YOUR_WORLDAPI_URL_HERE",
"WORLDAPI_TOKEN": "YOUR_WORLDAPI_TOKEN_HERE"
}
}
}
}