mcp-steam

mcp-steam

MCP server for Steam that enables LLM agents to manage gaming libraries, achievements, stats, and discover store content through 20 tools.

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured