Skip to main content

mcp-steam

MCP server for Steam, focused on gaming library management, achievements, stats, and store discovery. 20 tools designed for use with Claude and other LLM agents.

Prerequisites

Setup

1. Get Your Steam API Key

  1. Go to the Steam Web API Key page
  2. Sign in with your Steam account
  3. Register a domain name (any name works for personal use)
  4. Note your API key

2. Find Your Steam ID

Your Steam ID is the numeric identifier in your profile URL. If your profile URL is https://steamcommunity.com/profiles/1111111111111111, your Steam ID is 1111111111111111.

If you use a custom URL (e.g., /id/username), use a Steam ID finder to look up the numeric ID.

3. Install

cd mcp-steam
uv sync

4. Configure Environment Variables

Set these before running the server:

export STEAM_API_KEY="your_api_key"
export STEAM_ID="your_steam_id"

5. Test the Connection

uv run mcp-steam

The server verifies your API key and Steam ID on startup by fetching your player summary.

Claude Desktop / Claude Code Configuration

Add to your MCP server config. If installed from PyPI:

{
  "mcpServers": {
    "steam": {
      "command": "uvx",
      "args": ["mcp-steam"],
      "env": {
        "STEAM_API_KEY": "your_api_key",
        "STEAM_ID": "your_steam_id"
      }
    }
  }
}

Or if running from a local clone:

{
  "mcpServers": {
    "steam": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-steam", "run", "mcp-steam"],
      "env": {
        "STEAM_API_KEY": "your_api_key",
        "STEAM_ID": "your_steam_id"
      }
    }
  }
}

Tools

User Resolution

Tool Parameters Description
resolve_vanity_url vanity_name Convert a custom profile URL name to a 64-bit Steam ID.

Library

Tool Parameters Description
get_owned_games sort_by="playtime", limit=50 Your game library with playtime. Sort by playtime, recent, or name.
get_recently_played limit=10 Games played in the last 2 weeks.

Game Info

Tool Parameters Description
get_game_details app_id Store page info: description, price, genres, metacritic, platforms.
search_games query, limit=10 Search the Steam store.
get_current_players app_id Live concurrent player count for a game.
get_game_schema app_id Achievement and stat definitions for a game.
get_app_reviews app_id, review_type="all", limit=10 User reviews with recommendation, playtime, and helpfulness.
get_package_details package_id Bundle/package pricing, included apps, and platforms.

Achievements & Stats

Tool Parameters Description
get_achievements app_id Your achievement progress with global rarity percentages.
get_player_stats app_id Game-specific stats (kills, deaths, etc.).
get_global_achievement_stats app_id Global unlock percentages for all achievements.

Wishlist

Tool Parameters Description
get_wishlist limit=50 Your wishlist sorted by priority, with prices and discounts.

News

Tool Parameters Description
get_game_news app_id, count=5 Recent news and updates for a game.

Profile

Tool Parameters Description
get_player_summary steam_id="" Profile summary. Accepts Steam ID or vanity name; defaults to you.
get_friend_list steam_id="" Friends list. Accepts Steam ID or vanity name; defaults to you.
get_player_bans steam_id="" VAC, community, game, and trade ban status. Defaults to you.
get_steam_level steam_id="" Steam level for a player. Defaults to you.

Store Discovery

Tool Parameters Description
get_featured_games (none) Currently featured and on-sale games.
get_featured_categories (none) Top Sellers, New Releases, Specials, Coming Soon, and more.

Steam Web API Notes

  • API key security: Your config file contains your Steam API key. Never commit it to version control or share it publicly.
  • Rate limits: The Steam Web API has undocumented rate limits. If you hit them, the server will return a rate limit error.
  • Profile visibility: Some tools require your Steam profile to be public (achievements, game stats). Library data works regardless.
  • Game stats availability: Not all games expose stats through the API. get_player_stats will return an error for unsupported games.
  • Wishlist access: Wishlist data requires your profile's wishlist to be public.

Development

uv run mcp-steam              # Run the server
uv run ruff check src/       # Lint
uv run ruff format src/      # Format
uv run pyright src/          # Type check

Pre-commit Hooks

This project uses lefthook for pre-commit checks. Install with brew install lefthook (or see other install methods), then:

lefthook install

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_steam-0.2.1.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_steam-0.2.1-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_steam-0.2.1.tar.gz.

File metadata

  • Download URL: mcp_steam-0.2.1.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mcp_steam-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c26a34a02492b0f2b1f517c8358577fa9ff54aa9053a5531b90c3173e2a48ebd
MD5 b0bdf8d0a1a34112daf6ae34d644b852
BLAKE2b-256 475d19f350ea08d1d0c4212765451b8c653c02887fb146fd292ec059c98ac200

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_steam-0.2.1.tar.gz:

Publisher: release.yml on obrien-matthew/mcp-steam

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_steam-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: mcp_steam-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mcp_steam-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d4b5334dced84bda87a10c8d9441f9d8be8a2bf624d10e74138b57256e1eccb8
MD5 4b676b22175f6bcba159ada39192731a
BLAKE2b-256 e79a73f5cacfac728e14773cdd74720b46a771e443c37e4359560294f00bf8b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_steam-0.2.1-py3-none-any.whl:

Publisher: release.yml on obrien-matthew/mcp-steam

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page