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

Metadata

Release files for mcp-steam 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-steam 0.2.1
File Size Uploaded
mcp_steam-0.2.1.tar.gz 12.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-steam 0.2.1
File Interpreter ABI Platform
mcp_steam-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 28.0 kB

Release files / mcp_steam-0.2.1.tar.gz

Download URL mcp_steam-0.2.1.tar.gz
Size 12.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c26a34a02492b0f2b1f517c8358577fa9ff54aa9053a5531b90c3173e2a48ebd
BLAKE2b-256 checksum
How to use checksums
475d19f350ea08d1d0c4212765451b8c653c02887fb146fd292ec059c98ac200
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release files / mcp_steam-0.2.1-py3-none-any.whl

Download URL mcp_steam-0.2.1-py3-none-any.whl
Size 15.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4b5334dced84bda87a10c8d9441f9d8be8a2bf624d10e74138b57256e1eccb8
BLAKE2b-256 checksum
How to use checksums
e79a73f5cacfac728e14773cdd74720b46a771e443c37e4359560294f00bf8b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release 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