Skip to content
st

v0.2.0

The kit rewrite: one operation registry behind the CLI, an HTTP server, and MCP.

This release rebuilds st on the any-cli/kit framework. Every command is now one operation in a single registry, and the same registry drives the CLI, an HTTP server, and an MCP endpoint. It is a breaking change from the v0.1.x line, which shipped only a top-sellers command.

One keyless plane, three hosts

st reads public Steam data with no API key and no login. It talks to three hosts:

  • store.steampowered.com for app details, search, reviews, packages, and the featured categories.
  • api.steampowered.com for the keyless subset: news, current player counts, and global achievement rates.
  • steamcommunity.com for public profiles and the community market.

st app also folds in the two structured islands the store page carries that the JSON omits: the schema.org rating and the user tag list.

Commands

The store group covers app, search, reviews, package, news, players, and achievements, plus the featured surface: featured flattens every promoted category, and top-sellers, new-releases, specials, and coming-soon read the named slices of the same endpoint.

The player and market groups add profile, resolve, market, and price.

The ref group runs offline: ref id classifies any Steam reference, ref url builds the URL for a kind and id, and ref steamid converts a SteamID between its forms.

Serve and MCP

st serve exposes every operation over HTTP as NDJSON, one record per line. st mcp exposes the same operations to agents over MCP on stdio.

Output

Every command renders through one formatter. Pick a format with -o: table, markdown, json, jsonl, csv, tsv, url, or raw. Left at auto, st prints a table to a terminal and JSONL into a pipe. Narrow columns with --fields and shape each row with --template, both keyed on the JSON field names.

Notes

The community surfaces (profile, resolve, market, price) reach steamcommunity.com, which is often unreachable from datacenter IP ranges. When that host times out the command exits 8.

The applist command is gone: ISteamApps/GetAppList is no longer served without a key, so st ships no command for it.