steam-mcp data tiers - official API, storefront, PICS, ProtonDB #1

Open
opened 2026-07-03 09:21:41 +00:00 by coilysiren · 0 comments
Owner

Goal

Wire the Steam MCP into four data tiers, maximizing readable surface per credential already held. Web API key and account password live in SSM. Add a persisted refresh token to SSM once Tier 3 lands.

Tier 1 - official Web API (key in SSM)

  • IPlayerService / ISteamUser / ISteamUserStats - identity, library - owned games, playtime, recently played, achievements plus global achievement percentages, friends, badges, Steam level
  • GetNumberOfCurrentPlayers - live data - concurrent players per appid, same number SteamDB charts
  • xpaw interface list - discovery - steamapi.xpaw.me enumerates the full undocumented interface set (public, user-key, and access-token methods), treat it as the real reference over the official docs
  • MCP tools for library, playtime, achievements, player counts

Tier 2 - undocumented storefront endpoints (no key)

  • appdetails - metadata - store.steampowered.com/api/appdetails, full app metadata, pricing, DLC, requirements
  • appreviews - reviews - store.steampowered.com/appreviews/{appid}?json=1, paginated review text with votes, playtime-at-review, language
  • ISteamNews - patch notes - announcements and update feeds per appid
  • featured / featuredcategories / storesearch - discovery - sales, top sellers, search
  • MCP tools for app metadata, reviews, news, sales

Tier 3 - client protocol via account credentials (password in SSM)

  • PICS - the SteamDB firehose - full app and package manifests: depots, branches, build history, launch configs, hidden metadata. SteamDB has no public API, this is its upstream
  • account surface - private data - full license list, wishlist, family sharing state, friend and rich presence, market history
  • library options - SteamKit2 (C#), steam-user (Node), steam (Python, ValvePython)
  • auth - login once, persist the refresh token to SSM, reuse it on cold start instead of replaying password plus Steam Guard
  • pick client library
  • refresh token stored in SSM and rehydrated on start
  • PICS-backed MCP tools for build history and depot metadata

ProtonDB (critical)

  • JSON endpoints - per-app compat - www.protondb.com/api/v1/reports/summaries/{appid}.json for tier ratings (platinum/gold/silver/etc)
  • data dumps - bulk - periodic full report dumps on the protondb-data GitHub repo for offline joins
  • join target - the payoff query - owned-but-unplayed games filtered by Deck/Linux tier plus review score plus playtime budget
  • MCP tool for per-app ProtonDB summary
  • optional: ingest dump for bulk queries
## Goal Wire the Steam MCP into four data tiers, maximizing readable surface per credential already held. Web API key and account password live in SSM. Add a persisted refresh token to SSM once Tier 3 lands. ## Tier 1 - official Web API (key in SSM) * IPlayerService / ISteamUser / ISteamUserStats - identity, library - owned games, playtime, recently played, achievements plus global achievement percentages, friends, badges, Steam level * GetNumberOfCurrentPlayers - live data - concurrent players per appid, same number SteamDB charts * xpaw interface list - discovery - steamapi.xpaw.me enumerates the full undocumented interface set (public, user-key, and access-token methods), treat it as the real reference over the official docs - [ ] MCP tools for library, playtime, achievements, player counts ## Tier 2 - undocumented storefront endpoints (no key) * appdetails - metadata - store.steampowered.com/api/appdetails, full app metadata, pricing, DLC, requirements * appreviews - reviews - store.steampowered.com/appreviews/{appid}?json=1, paginated review text with votes, playtime-at-review, language * ISteamNews - patch notes - announcements and update feeds per appid * featured / featuredcategories / storesearch - discovery - sales, top sellers, search - [ ] MCP tools for app metadata, reviews, news, sales ## Tier 3 - client protocol via account credentials (password in SSM) * PICS - the SteamDB firehose - full app and package manifests: depots, branches, build history, launch configs, hidden metadata. SteamDB has no public API, this is its upstream * account surface - private data - full license list, wishlist, family sharing state, friend and rich presence, market history * library options - SteamKit2 (C#), steam-user (Node), steam (Python, ValvePython) * auth - login once, persist the refresh token to SSM, reuse it on cold start instead of replaying password plus Steam Guard - [ ] pick client library - [ ] refresh token stored in SSM and rehydrated on start - [ ] PICS-backed MCP tools for build history and depot metadata ## ProtonDB (critical) * JSON endpoints - per-app compat - www.protondb.com/api/v1/reports/summaries/{appid}.json for tier ratings (platinum/gold/silver/etc) * data dumps - bulk - periodic full report dumps on the protondb-data GitHub repo for offline joins * join target - the payoff query - owned-but-unplayed games filtered by Deck/Linux tier plus review score plus playtime budget - [ ] MCP tool for per-app ProtonDB summary - [ ] optional: ingest dump for bulk queries
coilyco-ops added
P3
and removed
P2
labels 2026-07-10 09:01:02 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-gaming/steam-ops#1
No description provided.