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 |
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": 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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