Steam-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STEAM_ID | Yes | Your 64-bit Steam ID | |
| STEAM_API_KEY | Yes | Steam Web API key (free from https://steamcommunity.com/dev/apikey) |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_owned_gamesA | Get the list of owned games with playtime for a Steam user. Requires STEAM_API_KEY. Defaults to configured STEAM_ID. Return Format{"success": bool, "message": str, "data": {"game_count": int, "games": [...]}} |
| get_recently_played_gamesA | Get recently played games for a Steam user. Requires STEAM_API_KEY. Return Format{"success": bool, "message": str, "data": {"games": [...]}} |
| get_app_detailsA | Get detailed store info for a Steam app. Uses the public Steam store API — no API key required. Return Format{"success": bool, "message": str, "data": {app details dict} | None} |
| get_own_profileA | Get the player summary for the configured Steam account. Requires STEAM_API_KEY and STEAM_ID to be set. Return Format{"success": bool, "message": str, "data": {"player": {...}} | None} |
| get_player_summariesA | Get player summaries for one or more Steam IDs. Requires STEAM_API_KEY. Return Format{"success": bool, "message": str, "data": {"players": [...]}} |
| get_friend_listA | Get the friend list for a Steam user. Requires STEAM_API_KEY. Return Format{"success": bool, "message": str, "data": {"friends": [...]}} |
| resolve_vanity_urlA | Resolve a Steam custom vanity URL to a 64-bit Steam ID. Requires STEAM_API_KEY. Return Format{"success": bool, "message": str, "data": {"steamid": str} | None} |
| get_player_achievementsA | Get the achievement list for a player in a specific game. Requires STEAM_API_KEY. Return Format{"success": bool, "message": str, "data": {"game_name": str, "achievements": [...]}} |
| get_global_achievement_percentagesA | Get global achievement completion percentages for a game. No API key required. Return Format{"success": bool, "message": str, "data": {"achievements": [{"name": str, "percent": float}]}} |
| get_number_of_current_playersA | Get the current number of players for a Steam game. No API key required. Return Format{"success": bool, "message": str, "data": {"player_count": int}} |
| get_game_leaderboardsA | Get the list of leaderboards for a Steam game. Requires STEAM_API_KEY. Return Format{"success": bool, "message": str, "data": {"leaderboards": [...]}} |
| get_news_for_appA | Get the latest news for a Steam app. No API key required. Return Format{"success": bool, "message": str, "data": {"appid": int, "newsitems": [...]}} |
| search_storeA | Search the Steam store for apps by name. Uses the Steam community search API. No API key required. Return Format{"success": bool, "message": str, "data": {"query": str, "results": [{"appid": str, "name": str, "icon": str}]}} |
| query_workshop_itemsA | Query Steam Workshop items for a game. Requires STEAM_API_KEY. Return Format{"success": bool, "message": str, "data": {"items": [...], "total": int}} |
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 14 tools
Each tool targets a specific Steam feature (app details, news, players, achievements, etc.) with no overlap. For example, get_own_profile vs get_player_summaries are different scopes (configured user vs arbitrary IDs).
All tool names follow a consistent verb_noun pattern using snake_case. Most start with 'get_', with only two exceptions ('query_workshop_items', 'resolve_vanity_url') that still fit the pattern.
14 tools cover a broad range of Steam functionality (store, user profiles, friends, achievements, leaderboards, workshop) without being excessive. Each tool serves a distinct and useful purpose.
The set covers core Steam operations like store browsing, user data, achievements, and workshop. Minor gaps exist (e.g., market, trading, game stats) but these are not essential for typical use cases.