- Home
- MCP servers
- Steam
Steam
- 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.