MCP server for Steam gaming library, achievements, stats, and store search
21 tools with consistent verb-noun naming (get_*, resolve_*) and clear descriptions (avg ~150 chars). All tools have input schemas with type definitions and parameter descriptions. However, output schemas are undocumented, LLMs cannot predict return structure. No error handling guidance (e.g., 'User not found. Try resolve_vanity_url()' or 'API rate limit exceeded'). Missing enum constraints on string parameters like sort_by and review_type. No pagination guidance despite tools returning lists. No tool annotations (readOnlyHint, idempotentHint). Descriptions are functional but lack dependency hints and recovery paths.
Get your achievement progress for a Steam game. Returns each achievement's unlock status, description, unlock time, and how rare it is globally. Includes unlocked/total summary.
Get user reviews for a Steam game. Returns review text, recommendation, playtime, and helpfulness votes. Includes summary with total positive/negative counts and score description. review_type: "all" (default), "positive", or "negative".
Get the current number of players in a Steam game. Returns the live concurrent player count.
Get Steam store featured categories. Returns games organized by category: Top Sellers, New Releases, Specials, Coming Soon, and more. Each category includes game names, prices, and discounts.
Get currently featured and on-sale games on Steam. Returns featured games split into on-sale (with discounts and prices) and regular featured titles.
Output schemas undocumented. LLMs cannot predict return structure (dict vs list, field names, nested objects). Breaks downstream tool chaining and forces agents to guess field names.
No error handling guidance. Tools lack recovery hints (e.g., 'If app_id is invalid, try search_games() first'). Errors will be raw exceptions without actionable next steps for LLMs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Get a Steam friends list. Returns friend Steam IDs, relationship status, and when you became friends. steam_id: optional Steam ID or vanity name. Defaults to your own profile.
Get detailed store information for a Steam game. Returns name, description, price, genres, platforms, metacritic score, and release date. Use the app_id from library or search results.
Get recent news and updates for a Steam game. Returns news titles, authors, dates, summaries, and URLs.
Get achievement and stat definitions for a Steam game. Returns achievement display names, descriptions, and hidden status, plus stat definitions. Useful for understanding what stats and achievements a game tracks.
Get global achievement unlock percentages for a Steam game. Shows how rare each achievement is across all players. Useful for identifying the hardest or rarest achievements.
Get your Steam game library with playtime stats. sort_by options: "playtime" (default, most played first), "recent" (most recently played first), "name" (alphabetical). Returns game names, app IDs, and total/recent playtime.
Get details for a Steam package or bundle. Returns package name, price, discount, included apps, platforms, and release date. Use for bundles and multi-game packages.
Get ban status for a Steam player. Returns VAC bans, community bans, game bans, and trade/economy ban status. steam_id: optional Steam ID or vanity name. Defaults to your own profile.
Get your gameplay statistics for a Steam game. Returns game-specific stats like kills, deaths, time played, etc. Not all games provide stats.
Get a Steam profile summary. Returns display name, online status, profile URL, and currently playing game (if any). steam_id: optional Steam ID or vanity name. Defaults to your own profile.
Get your recently played Steam games (last 2 weeks). Returns game names, app IDs, and playtime for the period.
Return the installed version of the mcp-steam server.
Get the Steam level for a player. steam_id: optional Steam ID or vanity name. Defaults to your own profile.
Get your Steam wishlist. Returns wishlisted games sorted by priority, with prices and current discounts if available.
Resolve a Steam vanity URL name to a 64-bit Steam ID. Converts a custom profile URL name (e.g. "gabelogannewell") into the numeric Steam ID needed by other tools. Useful when you only know someone's profile name.
Search the Steam store for games. Returns game names, app IDs, prices, and supported platforms.
String parameters lack enum constraints. sort_by, review_type, and steam_id (optional) accept free-form strings. LLMs will hallucinate invalid values like sort_by='trending' instead of constrained 'playtime'|'recent'|'name'.
No pagination guidance. Tools return lists (get_owned_games, get_wishlist, get_friend_list) with limit defaults but no documentation of total count, next_cursor, or whether results are truncated. Large result sets risk context window exhaustion.
No tool annotations. All tools are read-only but lack readOnlyHint annotation. Agents cannot distinguish safe tools from destructive ones without explicit hints.