Craftwire vs GameWorld Painter MCP
A side-by-side look at the Craftwire and GameWorld Painter 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 GameWorld Painter MCP for gaming as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose 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.
Choose GameWorld Painter MCP when
- You need dedicated capabilities in the Gaming domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You want tools like
get_map_info, open_map, create_map.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Gaming | Gaming |
| Quality signal | 63/100 · Good | 63/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Free |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 35 | 28 |
| Full listing | View Craftwire | View GameWorld Painter MCP |
Tools & capabilities
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
GameWorld Painter MCP tools 28
get_map_infoStart here. The open map: title, unit, bounds, cell size, every layer with what it holds (mask coverage, categories classes and their shares, height range, object kinds and property keys, notes, vector paths), the zones, conventions, and what the user is looking at. Coordinates: x grows east, z grows south, north is up.open_mapOpens the map in the folder at "path" (the folder with metadata.json) in GameWorld Painter. The app then reads and writes that folder through this MCP server, without the user picking it. When no app is connected, the server opens it in the default browser with a link that connects it and opens the map (the user may have to allow Chrome to reach this device). The map open before is saved first.create_mapCreates a new map in the folder at "path" (made if missing; it must not have a map yet) and opens it in the app: the bounds and cell size in the unit of the map, and a set of layers — "basic" (terrain height, ground, zones, water, roads, rivers, borders, rocks, grass, bushes, trees, buildings, enemies, chests, hiding spots, notes), "none" (no layers: make them with create_layer), "notes" (only notes), or "same" (the layers of the map open now, empty). Then shape it with the other tools.get_user_contextWhat the user is pointing at now: the selected area (its bounds and size), the selected items (their layer, kinds, ids), the selected layers, the active layer and tool, the view, the cursor, and what became of your latest changes. The user selects objects with Select (click, box) or the Select area tools (rectangle, ellipse, lasso, polygon, same kind) to show you what they mean. Use it for requests like "this area", "here", "these", "the selected ones".get_project_pathThe full path of the project folder open in the app on this computer (the folder with metadata.json and layers/), the path of every layer file, and what the app has not saved yet. Use it to read or change the files with other tools (scripts, image tools, exporters). The browser does not reveal paths, so the server finds the folder — in your workspace, your working directory, then the home folder — and checks it is the same one (its metadata.json). If it is not found, ask the user for the path and pass it as "path".render_mapAn image of the map from above (north up) with a coordinate grid: the whole map, the view, or a region. Look before and after changes. Optional highlight of a region.describe_regionEverything in a region: its size and bounds, mask coverage, categories shares (zones, ground), heights and slopes, and the items of every layer by kind. Use it to check an area before and after changing it.read_layerThe values of a mask (0–100 %), categories (class names) or height layer as a coarse grid over a region, row by row from north to south. For exact work use describe_region, find_spots or the edit tools instead of reading every cell.find_itemsItems of objects, notes and vector layers with filters: region, kind, properties, distance to a point. measure adds facts per item: the distance to the nearest feature of other layers (e.g. roads, water), the height, the slope, the zone.analyze_itemsHow items are spread in a region: nearest-neighbor distances, pairs closer than min_distance, groups (items within cluster_distance of each other) and the largest empty gaps. Use it to check or even out placements while keeping groups.find_spotsFinds the best spots in a region by a measure of the terrain and the layers, as ranked areas with a center point. open: far from cover (open, exposed ground); enclosed: much cover around (poor view, hidden); high / low: above / below the surroundings (viewpoints, hollows); flat / steep: slope; empty: far from any item and cover (looks empty); far_from / near_to: distance to given layers.analyze_walkabilityWalkable ground in a region (slope below max_slope, outside blocking layers such as water, cliffs, buildings) split into connected parts: the main part (from start, else the largest), isolated pockets where a player could get stuck or never get to, narrow passages, and items standing on blocked or isolated ground.- +16 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.
Craftwire
{
"mcpServers": {
"craftwire": {
"command": "npx",
"args": [
"-y",
"craftwire"
]
}
}
}
GameWorld Painter MCP
{
"mcpServers": {
"game-world-painter-mcp": {
"command": "npx",
"args": [
"-y",
"game-world-painter-mcp"
]
}
}
}
Frequently asked questions
Craftwire is categorized under Gaming and uses a local stdio subprocess. GameWorld Painter MCP belongs to Gaming and uses a local stdio subprocess. Pick Craftwire for gaming work and GameWorld Painter MCP 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.
Craftwire has no declared pricing — check the project's own site. GameWorld Painter MCP is listed as free. Auth: no auth required. 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 craftwire and game-world-painter-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Craftwire has a quality signal of 63/100 (Good) with 1 views, 0 installs and 2 GitHub stars. GameWorld Painter MCP has 63/100 (Good) with 1 views, 0 installs and 0 GitHub stars.