Steam MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STEAM_ID | No | Default 64-bit Steam ID to use when not specified in tool calls | |
| STEAM_API_KEY | Yes | Your Steam Web API key obtained from Steam's developer portal |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_player_summaryB | Get Steam player profile information including name, avatar, status, and current game |
| get_friends_listB | Get a player's Steam friends list with names and relationship info |
| get_steam_levelC | Get a player's Steam account level |
| resolve_vanity_urlA | Convert a Steam vanity URL (custom profile name) to a 64-bit Steam ID |
| get_owned_gamesA | Get games owned by a player with playtime statistics. Use limit/offset for pagination. |
| get_recently_playedB | Get games played by a user in the last two weeks |
| get_game_detailsC | Get detailed information about a Steam game including description, price, and requirements |
| get_achievementsC | Get a player's achievements for a specific game |
| get_game_statsC | Get a player's statistics for a specific game |
| get_global_achievement_percentagesB | Get global achievement unlock percentages for a game |
| get_perfect_gamesA | Get games where the player has unlocked ALL achievements (100% completion) |
| get_achievement_summaryB | Get a summary of achievement progress across all games or specific games |
| get_inventoryB | Get a player's inventory for any game (requires public profile) |
| get_tf2_inventoryC | Get a player's Team Fortress 2 inventory (via official API) |
| get_csgo_inventoryB | Get a player's CS2/CSGO inventory (via official API) |
| get_dota2_inventoryC | Get a player's Dota 2 inventory (via official API) |
| get_badgesB | Get a player's Steam badges with game names, XP, and level progression |
| get_player_bansC | Check if a player has VAC bans, game bans, or trade bans |
| get_game_newsC | Get latest news and patch notes for a game |
| get_player_countB | Get the current number of players in a game |
| get_game_schemaB | Get the achievement and stat schema for a game (names, descriptions, icons) |
| get_user_groupsB | Get the Steam groups a player is a member of |
| get_badge_progressB | Get progress on community badge crafting (trading cards) |
| is_playing_shared_gameB | Check if a player is currently playing a game via Steam Family Sharing |
| get_global_game_statsB | Get global aggregated stats for a game (requires knowing stat names from schema) |
| search_appsA | Search for Steam apps by name (searches the full Steam catalog) |
| get_servers_at_addressC | Get game servers running at a specific IP address |
| check_app_updateC | Check if a specific version of an app is up to date |
| get_wishlistA | Get a player's Steam wishlist with game names, priorities, and dates added |
| get_wishlist_item_countA | Get the number of users who have a specific game on their wishlist |
| get_trade_offersB | Get active trade offers with partner names. Requires API key with trade permissions. |
| get_trade_offers_summaryA | Get a summary of pending trade offers (counts only). Requires API key with trade permissions. |
| get_trade_historyB | Get completed trade history with partner names. Requires API key with trade permissions. |
| get_trade_offerB | Get details of a specific trade offer by ID. Requires API key with trade permissions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 34 tools
Most tools have clearly distinct purposes targeting specific resources like achievements, inventories, player data, or trade operations. However, some overlap exists between inventory tools (e.g., get_inventory vs. game-specific inventories like get_csgo_inventory) and between trade-related tools (get_trade_offers vs. get_trade_offers_summary), which could cause minor confusion.
All tools follow a consistent verb_noun naming pattern with clear, descriptive names. The pattern is uniformly applied across all 34 tools, using verbs like 'get', 'check', 'resolve', and 'search' followed by specific nouns, making them predictable and easy to understand.
With 34 tools, the count feels excessive for a Steam API server, leading to potential bloat and complexity. While Steam has many features, the server could benefit from consolidation or better scoping, as some tools (e.g., multiple trade-related tools) might be redundant or overly granular for typical agent use cases.
The tool set provides comprehensive coverage of the Steam domain, including player profiles, games, achievements, inventories, trades, and community features. It supports CRUD-like operations where applicable (e.g., fetching data) and covers key workflows without obvious gaps, ensuring agents can handle most Steam-related tasks effectively.