Steam vs Ue MCP
A side-by-side look at the Steam and Ue MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Steam for gaming work as a local process; choose Ue 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 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.
Choose Ue 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
tools, flow.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Gaming | Gaming |
| Quality signal | 60/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 | PLATFORM_STEAM_KEY | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 448 |
| Directory activity | 2 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 14 | 2 |
| Full listing | View Steam | View Ue MCP |
Tools & capabilities
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
Ue MCP tools 2
toolsGateway to every ue-mcp category (micro context mode). Find actions with search, inspect parameters with describe, then invoke with call. Actions: - search: Find actions by keyword or intent; returns category.signature lines. Params: query, limit? (default 20) - list_categories: List every category with a one-line summary. - describe: A category's action signatures a page at a time, or one action's parameter schema. Params: category, method?, offset? - call: Invoke any action. Params: category, method (the action name), args (object of the action's params).flowRun pre-built named sequences for this project. ALWAYS check project(action="get_status") first - its 'flows' field lists what's available. If a flow matches the user's request, run it via flow(action="run", flowName="...") instead of composing the sequence by hand. Config reloads on every call - no restart needed. Actions: - run: Execute a named flow from ue-mcp.yml. Params: flowName, skip? (step names or numbers), params? (runtime options merged into every step's options, highest priority), rollback_on_failure? (invoke inverse tasks in reverse order when a later step fails). A step whose handler reports success:false FAILS the step and stops the run, and the inverses collected up to and including it are what rollback_on_failure unwinds. A step whose failure is EXPECTED says so itself, in the YAML, with ignore_failure: true - the run walks on, and the step is still recorded as failed with its error and its data, marked ignoredFailure. That is how stop, build, start survives an editor that was already stopped, instead of editor(stop_editor) reporting a success it did not achieve. The failing step's OWN inverse, which a few handlers attach after a partial write, is collected like every other: under rollback_on_failure it is replayed FIRST, ahead of the steps before it, so the partial write is undone before they unwind. It arrives verbatim on steps[i].partialWriteRollback, whose replayed flag says whether the runner ran it or it is yours to run, and in that step's error text. A nested flow's steps arrive on steps[i].nestedSteps, reported on the same terms. Returns a summary, every step's data, and the runId. - plan: Show a flow's execution plan without running a step of it. Params: flowName. Returns the ordered plan, and the flow as declared under definition: its description and each step's task or nested flow, options and conditions, with ${steps.N...} references left unresolved. - list: List the flows available to this project, merged from ue-mcp.yml, the user-global config and any loaded plugin. Params: none Step types supported in YAML flows: any MCP action (category.action), nested flows (flow:), and 'shell' for running shell/exec commands. Per-step options: options, when, retries, retryDelay, retryOn, and ignore_failure (record this step's failure and carry on). Example shell step: steps: 1: { task: shell, options: { command: "npm run up:build" } }
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.
Steam
{
"mcpServers": {
"steam": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-steam"
],
"env": {
"PLATFORM_STEAM_KEY": "YOUR_PLATFORM_STEAM_KEY_HERE"
}
}
}
}
Ue MCP
{
"mcpServers": {
"ue-mcp": {
"command": "npx",
"args": [
"-y",
"ue-mcp"
]
}
}
}
Frequently asked questions
Steam is categorized under Gaming and uses a local stdio subprocess. Ue MCP belongs to Gaming and uses a local stdio subprocess. Pick Steam for gaming work and Ue 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.
Steam has no declared pricing — check the project's own site. Ue 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 steam and ue-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Steam has a quality signal of 60/100 (Good) with 2 views, 0 installs and 0 GitHub stars. Ue MCP has 63/100 (Good) with 0 views, 0 installs and 448 GitHub stars.