Steam

MCP server for Steam Web API - access your game library, achievements, playtime stats, and more
  • javascript

0

GitHub Stars

javascript

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "sharkusmanch-steam-mcp-server": {
      "command": "node",
      "args": [
        "/path/to/steam-mcp-server/dist/index.js"
      ],
      "env": {
        "STEAM_ID": "your-64-bit-steam-id",
        "STEAM_API_KEY": "your-api-key-here"
      }
    }
  }
}

You can run a Steam MCP Server to interact with the Steam Web API through MCP tools. This server lets you fetch player data, game ownership, achievements, news, and more by exposing a programmable interface that integrates with your MCP client workflows.

How to use

Your MCP client connects to the Steam MCP Server to perform actions against the Steam Web API. After you configure an MCP connection, you can call tools such as getting a player's profile, their owned games with playtime, or game-specific details. The server uses your Steam API key to authorize requests, and you can optionally set a default Steam ID so you don’t have to pass it with every call.

How to install

Prerequisites: you need Node.js installed on your system. You will also optionally use npx for a no-build setup.

npm install

Build the MCP server so it is ready to run.

npm run build

Configuration and startup options

Configure your MCP client to connect to the Steam MCP Server. You can either run a local Node.js instance pointing to the built code or use a no-build approach with npx.

{
  "mcpServers": {
    "steam": {
      "command": "node",
      "args": ["/path/to/steam-mcp-server/dist/index.js"],
      "env": {
        "STEAM_API_KEY": "your-api-key-here",
        "STEAM_ID": "your-64-bit-steam-id"
      }
    }
  }
}

Or use npx to run without building first.

{
  "mcpServers": {
    "steam": {
      "command": "npx",
      "args": ["-y", "steam-mcp-server"],
      "env": {
        "STEAM_API_KEY": "your-api-key-here",
        "STEAM_ID": "your-64-bit-steam-id"
      }
    }
  }
}

Additional client configuration samples

If you are using Claude Desktop, Cursor, or Windsurf, you will point each client to the Steam MCP Server configuration in their MCP settings. The environment variables you set here feed the server with your Steam API key and a default Steam ID if desired.

Environment variables

Two environment variables control how the server runs and what data it uses by default.

STEAM_API_KEY=your-api-key-here
STEAM_ID=your-64-bit-steam-id

Tools you can call

A comprehensive set of tools is exposed to let you query Steam profile data, game ownership, achievements, news, inventories, and more. Use these from your MCP client by invoking the corresponding tool name. Each tool uses the Steam API key you provide and can leverage a default Steam ID when you set STEAM_ID.

Security considerations

Keep your Steam API key secure. Do not commit it into code or share it in public settings. If you rotate keys, update the corresponding environment variables in all client configurations.

Troubleshooting

If the server fails to start, verify that Node.js is installed and that you have valid environment variables. Check that the path in the node command points to your built index.js and that the build completed successfully.

Available tools

get_player_summary

Get player profile info including name, avatar, status, and current game.

get_friends_list

Retrieve a player's friends list.

get_steam_level

Fetch the player's Steam account level.

get_badges

Obtain the player's badges, XP, and progress to next levels.

get_badge_progress

Check trading card collection progress.

get_player_bans

Check for VAC bans, game bans, or trade bans.

get_user_groups

List Steam groups that a player belongs to.

resolve_vanity_url

Convert a vanity URL to a 64-bit Steam ID.

get_owned_games

Retrieve all owned games with playtime statistics, with optional pagination.

get_recently_played

List games played by the user in the last two weeks.

get_game_details

Get detailed information about a game, including description and requirements.

is_playing_shared_game

Check if a game is being played via Steam Family Sharing.

search_apps

Search the Steam catalog by game name.

get_achievements

Get a player's achievements for a specific game.

get_game_stats

Fetch a player's in-game statistics for a specific title.

get_global_achievement_percentages

Provide global rates for achievement unlocks.

get_global_game_stats

Return global aggregated stats for a game.

get_perfect_games

List games where the player has 100% achievements.

get_achievement_summary

Provide a compact progress summary across games.

get_game_schema

Retrieve achievement and stat definitions for a game.

get_game_news

Get latest news and patch notes for a game.

get_player_count

Return current player count for a game.

get_servers_at_address

Fetch game servers at a specific IP.

check_app_update

Check if a game version is up to date.

get_inventory

Get inventory for any game, requires a public profile.

get_tf2_inventory

Retrieve Team Fortress 2 inventory.

get_csgo_inventory

Retrieve CS2/CSGO inventory.

get_dota2_inventory

Retrieve Dota 2 inventory.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational