Skip to main content
Glama

Steam MCP Server

A local MCP server that lets Claude fetch data from your Steam game library via the Steam Web API. All tools are read-only — the server never modifies your account.

Tools

Tool

What it does

steam_get_owned_games

Lists owned games with total playtime, sorted by playtime or name

steam_get_recently_played_games

Games played in the last ~2 weeks

steam_get_player_summary

Profile info: name, status, currently playing, account creation date

steam_get_player_achievements

Achievements for a specific game (requires appid)

steam_resolve_vanity_url

Converts a custom profile URL to a SteamID64

Related MCP server: steam-mcp

Prerequisites

  1. Steam Web API key — get one for free at https://steamcommunity.com/dev/apikey (requires a logged-in Steam account; enter any domain, e.g. localhost).

  2. Your SteamID64 — the 17-digit number for your account. Find it via your profile URL, or use steam_resolve_vanity_url if you have a custom URL.

  3. Profile must be public — under Steam → Profile → Edit Profile → Privacy, "Game details" must be set to Public, otherwise library and achievement calls will return empty.

  4. uv installedcurl -LsSf https://astral.sh/uv/install.sh | sh

  5. Python 3.10+ (uv will manage this automatically).

Installation

uv sync

Connecting to Claude

The server uses stdio transport and runs as a local subprocess. It works with MCP clients such as Claude Desktop and Claude Code.

Claude Desktop

Open the config file (Settings → Developer → Edit Config) and add the server. Replace the paths and values with your own:

{
  "mcpServers": {
    "steam": {
      "command": "uv",
      "args": ["run", "--directory", "/full/path/to/steam-api-mcp", "src/steam_mcp.py"],
      "env": {
        "STEAM_API_KEY": "YOUR_API_KEY_HERE",
        "STEAM_ID": "YOUR_STEAMID64_HERE"
      }
    }
  }
}

STEAM_ID is optional. If set, you won't need to provide your own ID in every request — the tools fall back to this value. You can still pass a different steam_id to look at a friend's (public) profile.

Restart Claude Desktop after saving. You can then ask things like:

  • "Which 10 games have I played the most on Steam?"

  • "What have I played in the last two weeks?"

  • "How many achievements do I have in appid 570?"

Claude Code

claude mcp add steam uv run --directory /full/path/to/steam-api-mcp src/steam_mcp.py \
  --env STEAM_API_KEY=YOUR_KEY --env STEAM_ID=YOUR_STEAMID64

Testing Outside a Client

With MCP Inspector you can click through the tools manually:

STEAM_API_KEY=your_key STEAM_ID=your_id \
  npx @modelcontextprotocol/inspector uv run src/steam_mcp.py

Privacy and Limitations

  • The API only returns data a profile has made public.

  • Your key is stored in the client config / environment variables and is never sent anywhere other than Steam.

  • The Steam Web API has reasonable rate limits (approx. 100,000 calls/day). The server returns a clear 429 message if you hit a temporary limit.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stianasoren/steam-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server