Steam MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STEAM_ID | No | Your SteamID64 (optional, used as fallback for tools) | |
| STEAM_API_KEY | Yes | Your Steam Web API key from https://steamcommunity.com/dev/apikey |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| steam_resolve_vanity_urlA | Resolve a Steam custom (vanity) profile URL name into a SteamID64. Many Steam profiles use a custom URL like steamcommunity.com/id/ instead of a numeric ID. Other tools in this server need the numeric SteamID64, so use this first if you only have a custom URL name. Args: params (VanityUrlInput): Validated input containing: - vanity_name (str): The custom URL name (without the full URL). Returns: str: On success, the resolved SteamID64 and original name. On failure, an "Error: ..." string. If the name doesn't match a profile, returns a message saying no match was found. |
| steam_get_player_summaryA | Get profile summary information for a Steam user. Returns display name, profile URL, avatar, online status, and (if public) the currently played game and account creation date. Args: params (PlayerInput): Validated input containing: - steam_id (Optional[str]): SteamID64; falls back to STEAM_ID env var. - response_format (ResponseFormat): 'markdown' or 'json'. Returns: str: Markdown or JSON describing the profile, or an "Error: ..." string. |
| steam_get_owned_gamesA | List the games owned by a Steam user, with total playtime per game. This is the core library tool. It returns each owned game with its appid, name, total playtime, recent (2-week) playtime, and last-played date. The target profile's "Game details" must be public for this to return data. Args: params (OwnedGamesInput): Validated input containing: - steam_id (Optional[str]): SteamID64; falls back to STEAM_ID env var. - limit (Optional[int]): Max games to return after sorting (1-500, default 25). - sort_by (str): 'playtime' (default) or 'name'. - include_free_games (bool): Include launched free-to-play games (default True). - response_format (ResponseFormat): 'markdown' or 'json'. Returns: str: Markdown or JSON. JSON schema: { "total_games_owned": int, # total count in the library "returned": int, # number of games in this response "games": [ { "appid": int, "name": str, "playtime_hours": float, # total, all time "playtime_2weeks_hours": float, # last 2 weeks "last_played": str | null, # UTC timestamp "icon_url": str | null } ] } On error, an "Error: ..." string. |
| steam_get_recently_played_gamesA | List games a Steam user has played in roughly the last two weeks. Args: params (RecentlyPlayedInput): Validated input containing: - steam_id (Optional[str]): SteamID64; falls back to STEAM_ID env var. - count (Optional[int]): Max games to return (1-50, default 10). - response_format (ResponseFormat): 'markdown' or 'json'. Returns: str: Markdown or JSON listing recent games with 2-week and total playtime, or an "Error: ..." string. |
| steam_get_player_achievementsA | Get a player's achievements for a specific game. Args: params (AchievementsInput): Validated input containing: - appid (int): The game's Steam application ID (required). - steam_id (Optional[str]): SteamID64; falls back to STEAM_ID env var. - only_unlocked (bool): Return only unlocked achievements (default False). - response_format (ResponseFormat): 'markdown' or 'json'. Returns: str: Markdown or JSON with the game name, unlocked/total counts, and a list of achievements (name, unlocked flag, unlock time), or an "Error: ..." string. Some games have no achievements, which returns a note. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/stianasoren/steam-api-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server