Provides Steam statistics and data via the Model Context Protocol.
SteamStats MCP provides 10 well-named, read-only tools with consistent verb_noun naming (get*, list*). All tools have descriptions (avg ~120 chars) and input schemas with typed parameters. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Parameter descriptions are minimal (often just restating the name). Output schemas are not documented, LLMs cannot predict response structure for chaining. No error recovery guidance. Missing tool annotations (readOnlyHint). Moderate quality baseline for a data-access API, but lacks production-grade polish.
Retrieves store page details for one or more Steam AppIDs.
Retrieves the complete list of public applications available on Steam.
Retrieves the current number of players for a given Steam AppID.
Retrieves the latest news items for a given AppID.
Retrieves the game schema (stats and achievements definitions) for a given AppID.
Retrieves the global achievement completion percentages for a specific game.
Retrieves aggregated global stats for a specific game.
Output schemas not documented. LLMs cannot predict response structure (e.g., does getAppDetails return {appid: {...}} or {appids: [...]})? This breaks tool chaining and forces agents to guess field names.
Parameter descriptions are minimal and generic. E.g., 'appid' is described as 'The Steam Application ID of the game', this restates the name rather than guiding LLM usage. Missing constraints (e.g., 'positive integer', 'range 1 - 2000000'). No guidance on when to use getAppDetails vs getGameSchema.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
Retrieves a player's achievement status for a specific game.
Retrieves the complete list of supported Steam Web API interfaces and methods.
Retrieves detailed statistics for a user in a specific game.
No error recovery guidance. Code catches SteamApiException and NetworkError but returns them as-is. LLMs receive raw errors like 'Schema not found for appid 123' with no actionable next step (e.g., 'Try getAppList() to find valid appids').
No tool annotations. All tools are read-only (risk: READ_ONLY declared in metadata), but MCP tool definitions lack readOnlyHint annotation. Agents cannot infer safety without explicit hints.
getSupportedApiList and getAppList lack pagination. These tools return complete lists (potentially thousands of items). No limit, offset, or cursor parameters. Large responses blow context windows and waste tokens.