Mmcp.market

Steam MCP Server

by Grinv·io.github.Grinv/steam-games-mcp·v0.14.0

Steam store/game data (no key) plus player profiles, libraries and achievements (Steam Web API).

B75/100grade B
What users say
No reviews yet
Be the first
Safety scan
B75/100

full report

Adoption
Growing

4 stars121 downloads/wk

Reviews

Write one

Nobody has reviewed Steam MCP Server yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Steam MCP Server tools (25)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • compare_players

    Find games two players both own, with each one's playtime \u2014 'what can my friend and I both play', 'do we have anything in common'. Checks each player's FULL library to find every shared game, unlike get_owned_games whose own list stops at … by playtime by default \u2014 but the returned list here is itself capped at the top … shared games by combined playtime (check `returned` vs `shared_coun

  • discover_games
  • find_friends_who_own
  • get_current_players

    Get how many people are playing a game right now (live concurrent player count) by appid. Get the appid from search_games. No API key required. Errors clearly if the appid is unknown/invalid rather than returning a null count.

  • get_featured

    Get the Steam store's featured sections: specials, top sellers, new releases and coming soon (each a list of games with appid and price), all in one call \u2014 for a general 'what's on the store front page' overview. For just current discounts use get_specials (lighter), or discover_games for catalog-wide deals with filters. No API key required.

  • get_followed_games
  • get_friend_list

    List a player's Steam friends by SteamID64: name, online state, current game and how long they've been friends, most-recently-added first (capped at the … most-recently-added; check `returned` vs `total`). Requires STEAM_API_KEY and the friends list to be public \u2014 otherwise it returns found:false, which also covers a SteamID64 with no account behind it; read `reason`. For 'which of my friends

  • get_game
  • get_game_achievements
  • get_game_news

    Get recent news / patch notes for a game by appid (title, date, author, excerpt, link). Each excerpt is the first ~400 characters of the post with HTML stripped \u2014 follow `url` for the full text. An unknown/unassigned appid comes back as an empty list rather than an error, the same as get_global_achievements. Get the appid from search_games. No API key required.

  • get_game_reviews

    Get the review summary (score label, positive/negative counts, %) and a few recent reviews for a game by appid. Review text over 600 characters is truncated. An unknown appid comes back as summary 'No user reviews' with zero counts rather than an error \u2014 Steam answers success for any id \u2014 so that result means either no such appid or a game nobody has reviewed yet; confirm the appid with

  • get_global_achievements

    Get the global unlock percentage of each achievement in a game by appid \u2014 how rare each achievement is across all players. Returns each achievement's internal name and its unlock percent (no display names/descriptions \u2014 for those, use get_game_achievements), most-common first, capped at the first … (check `returned` vs `count` \u2014 most games have far fewer). An unknown appid, or one w

  • get_items
  • get_owned_games
  • get_player_achievements
  • get_player_bans

    Check a player's VAC, game, community and economy (trade) ban status by SteamID64 \u2014 'is this player banned', useful before trading or adding a friend. Ban status is always public \u2014 this works even when the rest of the profile is private. `days_since_last_ban` is null for a player who has never been banned \u2014 Steam sends 0 there, which would otherwise read as 'banned today'. Requires

  • get_player_summary

    Get a player's profile by SteamID64: display name, online state, country, account age, Steam level (a separate lookup that degrades to null on failure, independently of profile privacy), and the game they're currently in. found:false here means exactly one thing \u2014 no account with that SteamID64 \u2014 since this tool reads private profiles fine. Requires STEAM_API_KEY, but works even for a pr

  • get_prices
  • get_recently_played

    List the games a player has played in the last two weeks, with recent and total playtime, most-played-in-those-two-weeks first (capped at …; check `returned` vs `total`) \u2014 the ordering is what decides which games the cap keeps, and it is playtime, not recency. For the all-time library by playtime instead (capped at … entries by default, either end of that ordering via `sort`), use get_owned_g

  • get_recommended_games
  • get_review_histogram
  • get_specials

    List games currently on special (discounted) on the Steam store front page, with the discount % and original/final price. For ALL catalog discounts (not just the front page), use discover_games with min_discount. No API key required.

  • get_wishlist
  • resolve_vanity_url

    Convert a Steam custom (vanity) profile name \u2014 the part after /id/ in a profile URL \u2014 into the 17-digit SteamID64 that the player tools need. Requires STEAM_API_KEY. Returns found:false if the name doesn't resolve to a profile.

  • search_games

    Search the Steam store by title \u2014 term can be partial or approximate, not an exact match; returns matches with their appid (needed by the other game tools), price, Metacritic score, platforms, type and a clickable store_url. Note `type` is Steam's storesearch value, which is 'app' for every store item \u2014 it does NOT distinguish a game from its DLC or soundtrack; call get_game on the appid

Public scan report

scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it

1 medium
  • Code scan2 source files scanned20/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 0 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10

Findings (1)

  • mediumeval / new Function usedexec.eval
    dist/index.js: …&(A=this.opts.code.process(A,y));let ee=new Function(`${o.default.self}`,`${o.default.scope}`…
Overall 75/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Install directly

Runs npx -y steam-games-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add steam-games-mcp -- npx -y steam-games-mcp
Add to Cursor

Steam MCP Server: common questions

Is Steam MCP Server safe?
Mostly: it is graded B (75/100). Read the Steam MCP Server safety report
How do I install Steam MCP Server?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Steam MCP Server need an API key?
Yes. The registry entry asks for STEAM_API_KEY.
Is Steam MCP Server maintained?
The last commit was in the last day (2026-09-20). The latest release is v0.14.0.
What can I use instead of Steam MCP Server?
Servers from other publishers that do the same job: Heimdall MCP server, Sherweb MCP server and Apify MCP server. Compare all Steam MCP Server alternatives.

Alternatives to Steam MCP Server

Same job from other publishers: the closest match first, then the best rated.

All Steam MCP Server alternatives →
  • Heimdall
    Every App Store Connect + StoreKit 2 endpoint. 890 tools in 13 profiles, narrow to 27.
    B
  • Sherweb MCP
    Every Sherweb Partner API capability, plus a local SQLite store, offline analytics, and
    B
  • Apify
    Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
    A
  • Workflows
    Store, query, and create YAML workflow playbooks for LLM agents.
    A
  • HasData Amazon
    Amazon keyword search, product details, seller profiles and seller catalogues, as structured JSON.
    A

More from Grinv