Skip to main content
ClaudeWave

Read-only Steam MCP server for AI agents: 37 tools + prompts + resources across library, friends, achievements, store, reviews, sales, discovery, recommendations, and co-op planning. Official Steam Web API, bring-your-own-key, open source. On PyPI + the MCP Registry.

MCP ServersOfficial Registry2 stars0 forksPythonNOASSERTIONUpdated today
ClaudeWave Trust Score
62/100
· OK
Passed
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
Flags
  • !No standard license detected
Last scanned: 6/11/2026
Install in Claude Code / Claude Desktop
Method: UVX (Python) · steam-mcp
Claude Code CLI
claude mcp add steam-mcp -- uvx steam-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "steam-mcp": {
      "command": "uvx",
      "args": ["steam-mcp"],
      "env": {
        "STEAM_API_KEY": "<steam_api_key>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Detected environment variables
STEAM_API_KEY
Use cases

MCP Servers overview

<!-- mcp-name: io.github.Sarg338/steam-mcp -->

# Steam MCP

[![PyPI](https://img.shields.io/pypi/v/steam-mcp?cacheSeconds=3600)](https://pypi.org/project/steam-mcp/)
[![Python](https://img.shields.io/pypi/pyversions/steam-mcp)](https://pypi.org/project/steam-mcp/)
[![CI](https://github.com/Sarg338/steam-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Sarg338/steam-mcp/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.Sarg338%2Fsteam--mcp-blue)](https://registry.modelcontextprotocol.io)

A read-only [Model Context Protocol](https://modelcontextprotocol.io) server for the
public Steam Web API and storefront — **37 tools, 5 prompts, and 2 resources** that let
any MCP client (Claude Desktop, Claude Code, Cursor, …) answer questions about Steam:
your friends, games, playtime, and achievements, plus account-independent things like
sales, reviews, live player counts, Steam Deck compatibility, discovery,
recommendations, and co-op planning.

**Read-only · official Steam APIs only · open source.** Nobody logs in, and the server
never writes, trades, posts, launches games, or makes purchases.

## Quick start — no API key needed

Install [`uv`](https://docs.astral.sh/uv/), then:

**Claude Code**

```bash
claude mcp add steam -- uvx steam-mcp
```

That's the whole setup. **15 of the 37 tools work with no credential at all** — anything
about the store or a game itself:

> *"Is Baldur's Gate 3 worth buying, and how are its recent reviews trending?"*
> *"What co-op games are on sale under £20 right now?"*
> *"How many people are playing Helldivers 2 this minute?"*
> *"Will Hades II run properly on my Steam Deck?"*

The three game-finders (`steam_discover`, `steam_should_i_buy`, `steam_recommend`) work
without a key too, as long as you don't personalize them.

### Adding your own account

A [free Steam Web API key](https://steamcommunity.com/dev/apikey) (a minute to get)
unlocks the other 22 — the ones that read a *specific account*: library, playtime,
friends, achievements, wishlist, inventory. Add `STEAM_USER` too and "my"/"I" default to
you, so you never have to paste a SteamID:

```bash
claude mcp add steam --env STEAM_API_KEY=YOUR_KEY --env STEAM_USER=your_steam_name -- uvx steam-mcp
```

> Tip: this defaults to the current project. Add `--scope user` only if you want
> Steam in *every* project — that keeps its tools in context everywhere, so prefer
> per-project scope unless Steam is cross-cutting for you.

**Claude Desktop** — download `steam-mcp.mcpb` from the
[latest release](https://github.com/Sarg338/steam-mcp/releases/latest) and open it
(Settings → Extensions). Both fields are optional; leave them blank for the keyless
tools and fill them in later.

Cursor / Cline / Windsurf and the manual `pip` setup are under [Setup](#setup) below.

> Without a key, the account tools are still listed but marked
> `[unavailable: needs STEAM_API_KEY]`, so your assistant knows to reach for a keyless
> tool instead of failing at one it can't use.

---

## What it can answer

Account / profile (needs a public profile; set `STEAM_USER` and "my"/"I" default
to you — no SteamID needed):
- "Who's on my friends list, and who's online right now?"
- "Which of my friends own *Helldivers 2* — and who's playing it now?"
- "It's game night — what co-op games do my online friends and I all own?"
- "Analyze my library — my backlog, and what I loved but abandoned."
- "Which achievements am I missing in *Hollow Knight*, and which are my rarest?"
- "What's on my wishlist, and is any of it on sale?"
- "Based on what I play most, what should I check out next?"
- "What's in my CS2 inventory, and which items are marketable?"

Account-independent (works for any game, no SteamID needed):
- "Is *Baldur's Gate 3* worth buying — and how are its recent reviews trending?"
- "What's on sale right now, and what are the current top sellers?"
- "How many people are playing *Counter-Strike 2* this minute?"
- "Will *Hades II* run on my Steam Deck?"
- "What's the Community Market price of a Field-Tested AK-47 | Redline?"
- "Is *Elden Ring* a soulslike? What are its community tags?"
- "Find well-reviewed co-op roguelikes under $20."
- "Recommend games like *Hollow Knight* that I don't already own."

---

## Tools

| Tool | What it returns | Needs key? |
|------|-----------------|-----------|
| `steam_resolve_vanity_url` | Vanity name / profile URL → SteamID64 | yes |
| `steam_get_player_summary` | Status (Online/Away/In-Game…), current game, for 1–100 users | yes |
| `steam_get_friend_list` | Friends enriched with name + live status | yes |
| `steam_find_friends_who_own` | **Which friends own (or are playing) a game** — "who can I play X with" | yes |
| `steam_get_user_groups` | The Steam groups/clans a user is in (name, URL, member count) | yes |
| `steam_plan_coop_night` | **Co-op games the host + friends all own** (ranked by owners) — or `mode="new"` for **fresh co-op games none of them own yet**; with who's online now | yes |
| `steam_get_owned_games` | Owned games with total/recent hours (sortable) | yes |
| `steam_analyze_library` | **Backlog, playtime distribution, abandoned games** across a whole library | yes |
| `steam_get_recently_played_games` | Last-2-weeks playtime | yes |
| `steam_get_steam_level` | Steam community level | yes |
| `steam_get_player_bans` | VAC / game / community / economy bans | yes |
| `steam_get_player_achievements` | Per-game unlocked vs locked achievements | yes |
| `steam_get_game_schema` | A game's full achievement/stat definitions | yes |
| `steam_get_global_achievement_percentages` | Achievement rarity (global %) | no |
| `steam_get_user_game_stats` | **A user's in-game stats** (kills, wins, distance…) for a game | yes |
| `steam_get_rarest_unlocks` | **A player's rarest achievement unlocks** in a game (by global rarity) | yes |
| `steam_search_apps` | Game title → appid (+ price) | no |
| `steam_discover` | **Find/recommend games** by tag, price, sale, platform, **release window** ("last N days") — optionally **personalized** to a user's taste (excludes games they own) | no* |
| `steam_should_i_buy` | **Buying brief** — price, lifetime + recent reviews (trend), tags, Metacritic, and your taste match | no* |
| `steam_recommend` | **Recommend games** like a seed game or your taste, with the shared tags as the "why" | no* |
| `steam_get_app_details` | **Full store details** — play modes/co-op, controller, DLC, languages, requirements, Metacritic, Steam Deck | no |
| `steam_get_deck_compatibility` | **Steam Deck rating** (Verified/Playable/Unsupported) + the per-criterion test results | no |
| `steam_get_dlc` | **A game's DLC**, with live prices and what's on sale | no |
| `steam_get_app_regional_pricing` | A game's price **across regions** (each in local currency) | no |
| `steam_get_workshop_item` | **Workshop item** metadata (game, tags, subscribers, favorites, views) | no |
| `steam_get_app_tags` | **A game's top community tags** (Souls-like, Roguelike, Cozy…) | no |
| `steam_get_app_reviews` | Lifetime verdict, +/- counts, sample reviews; optional **recent (last-N-days) score** via `review_filter='recent'` | no |
| `steam_get_featured_specials` | Games currently on sale (regional) | no |
| `steam_get_store_highlights` | **Top sellers, new releases, or coming soon** | no |
| `steam_get_wishlist` | **A user's wishlist, with live prices + what's on sale** | yes |
| `steam_get_inventory` | **A user's inventory** — game items or Steam Community items (cards, emoticons…), with tradable/marketable flags | yes† |
| `steam_get_market_price` | **Community Market price** for an item (lowest/median/24h volume) + type/rarity + CS2 condition | no |
| `steam_get_player_badges` | Badges + the XP breakdown behind a Steam level | yes |
| `steam_get_package_details` | Package/bundle price + included games | no |
| `steam_compare_players` | Shared games between two users, with playtime | yes |
| `steam_get_current_players` | Live concurrent player count | no |
| `steam_get_app_news` | Recent news / patch notes | no |

Every tool supports `response_format: "markdown"` (default) or `"json"`, and all are
annotated `readOnlyHint: true`. Prefer the composite tools (`steam_should_i_buy`,
`steam_recommend`, `steam_discover`, `steam_plan_coop_night`) over chaining several
calls, and ask for `json` only when you need to parse fields. Tools that read
localized text accept a `language` parameter — a Steam language name like `french` or
`schinese` (default `english`).

> \* `steam_discover`, `steam_should_i_buy`, and `steam_recommend` need no key for
> the store data; their **personalization** (passing a `steamid` to use a user's
> library/taste) requires a key and a public profile.
>
> † `steam_get_inventory` reads a keyless endpoint, but it still has to know *whose*
> inventory — and turning a vanity name (or `STEAM_USER`) into a SteamID64 is itself a
> keyed call. Pass a raw 17-digit SteamID64 and it works with no key.

### Prompts & resources

Beyond tools, the server ships **prompts** (guided one-click flows that orchestrate
the tools) and **resources** (reference Steam entities by URI):

- Prompts: `what_should_i_play`, `is_it_worth_buying`, `plan_game_night`,
  `steam_deals`, `game_overview`.
- Resources: `steam://app/{appid}` (store details) and `steam://user/{steamid}`
  (profile + live status).

> **Recent reviews:** Steam's API only exposes a *lifetime* review summary — there
> is no "last 30 days" field. So `steam_get_app_reviews` with
> `review_filter='recent'` computes that score itself by paginating the newest
> reviews within `day_range` days (default 30). For games with a very high volume
> of recent reviews it counts up to ~600 and marks the result `sampled: true`.

> **Market prices:** `steam_get_market_price` uses Steam's Community Market
> endpoints, which are undocumented and tightly rate-limited. 
ai-agentsclaudegamingllm-toolsmcpmcp-servermodel-context-protocolsteamsteam-apisteam-web-apisteamworks

What people ask about steam-mcp

What is Sarg338/steam-mcp?

+

Sarg338/steam-mcp is mcp servers for the Claude AI ecosystem. Read-only Steam MCP server for AI agents: 37 tools + prompts + resources across library, friends, achievements, store, reviews, sales, discovery, recommendations, and co-op planning. Official Steam Web API, bring-your-own-key, open source. On PyPI + the MCP Registry. It has 2 GitHub stars and was last updated today.

How do I install steam-mcp?

+

You can install steam-mcp by cloning the repository (https://github.com/Sarg338/steam-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is Sarg338/steam-mcp safe to use?

+

Our security agent has analyzed Sarg338/steam-mcp and assigned a Trust Score of 62/100 (tier: OK). See the full breakdown of passed checks and flags on this page.

Who maintains Sarg338/steam-mcp?

+

Sarg338/steam-mcp is maintained by Sarg338. The last recorded GitHub activity is from today, with 0 open issues.

Are there alternatives to steam-mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy steam-mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: Sarg338/steam-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/sarg338-steam-mcp)](https://claudewave.com/repo/sarg338-steam-mcp)
<a href="https://claudewave.com/repo/sarg338-steam-mcp"><img src="https://claudewave.com/api/badge/sarg338-steam-mcp" alt="Featured on ClaudeWave: Sarg338/steam-mcp" width="320" height="64" /></a>

More MCP Servers

steam-mcp alternatives