GameWorld Painter MCP vs Steam

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

GameWorld Painter MCP logoGameWorld Painter MCPGaming · Local subprocess (stdio)MCP server for GameWorld Painter, the layered game world map editor: AI agents (Claude Code, Codex, GitHub Copilot, VS Code, Cursor, Gemini CLI) read, analyze and edit the map open in the app.63GoodAuth: no auth requiredSteam logoSteamGaming · Local subprocess (stdio)Steam Web API: profiles, owned games, achievements, app news, player counts.60GoodAuth: not declared

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

Which MCP server should you choose?

GameWorld Painter MCP logoChoose 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.
Explore GameWorld Painter MCP

Steam logoChoose Steam when

  • You need dedicated capabilities in the Gaming domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: PLATFORM_STEAM_KEY.
  • You want tools like resolve_vanity_url, player_summary, player_summaries.
Explore Steam

Feature & specification comparison

Rows where the two servers differ are marked.

SpecGameWorld Painter MCP logoGameWorld Painter MCPSteam logoSteam
CategoryGamingGaming
Quality signal63/100 · Good60/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNo auth requiredNot declared
PricingFreeNot declared
Required env varsNone listedPLATFORM_STEAM_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars00
Directory activity 1 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools2814

Tools & capabilities

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

Steam tools 14

  • resolve_vanity_urlVanity URL → SteamID64.
  • player_summaryFetch public Steam profile for a single SteamID64: persona name, avatar, profile URL, country, last logoff, visibility status.
  • player_summariesFetch public Steam profiles for up to 100 comma-separated SteamID64s in one request; returns persona name, avatar, country, and status for each.
  • friend_listList a Steam user's friend list by SteamID64; optionally filter by relationship type (friend or all). Returns array of SteamID64s and relationship status.
  • owned_gamesList all games owned by a SteamID64; optionally include app name/icon and free-to-play games. Returns appid, playtime_forever (minutes), and per-game metadata.
  • recently_playedList games played by a SteamID64 in the last two weeks, with playtime in the last 2 weeks and total playtime. Optional count caps results.
  • player_achievementsAchievements for a game.
  • player_statsUser stats for a game.
  • player_levelReturn the Steam Community level (integer) for a given SteamID64.
  • player_bansCheck VAC ban, community ban, and economy ban status for one or more comma-separated SteamID64s. Returns CommunityBanned, VACBanned, NumberOfVACBans, DaysSinceLastBan.
  • app_newsApp news feed.
  • app_detailsStore page detail (Steam Store API).
  • +2 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.

GameWorld Painter MCP

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

Steam

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "steam": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/mcp-steam"
      ],
      "env": {
        "PLATFORM_STEAM_KEY": "YOUR_PLATFORM_STEAM_KEY_HERE"
      }
    }
  }
}

Frequently asked questions

GameWorld Painter MCP is categorized under Gaming and uses a local stdio subprocess. Steam belongs to Gaming and uses a local stdio subprocess. Pick GameWorld Painter MCP for gaming work and Steam 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.

GameWorld Painter MCP is listed as free. Auth: no auth required. Steam 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 game-world-painter-mcp and steam as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, GameWorld Painter MCP has a quality signal of 63/100 (Good) with 1 views, 0 installs and 0 GitHub stars. Steam has 60/100 (Good) with 2 views, 0 installs and 0 GitHub stars.