Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STEAM_API_KEYNoSteam Web API key. Enables the full owned library and wishlist while Steam is closed.unset
STEAM_ACCOUNT_IDNoOverride account detection (the userdata/<id> directory name).auto
STEAM_DEBUG_PORTNoComma-separated ports to probe. The first is what steam_restart asks Steam to bind.8080,8081
STEAM_MCP_CACHE_DIRNoCache and collection backups.~/.cache/steam-mcp
STEAM_MCP_ALLOW_WRITESNoMaster switch for every mutation. Without it, writes return WRITES_DISABLED.unset

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
steam_statusA

Report Steam client state, debugger reachability, which data sources are usable, and which capabilities are currently available. Never fails - it reports problems instead of throwing. Call this first whenever a Steam operation is unexpectedly unavailable.

steam_restartA

Quit Steam and relaunch it with its Chromium debugger enabled, then wait for the library UI to finish loading. WARNING: this closes the Steam client. Any running game will be interrupted and unsaved progress may be lost - the tool refuses to run if it detects a game, unless allow_interrupt_game is set. Required before any collection write when steam_status reports collections_write unavailable. Typically takes 25-60s.

steam_library_listA

List, filter and sort games in the Steam library. Returns a compact projection and is paginated - it never dumps the whole library. Hidden games are excluded unless hidden=true. Always check the returned 'total' before assuming you have seen everything.

steam_library_searchA

Find games by name. Fuzzy and punctuation-insensitive, ranked best-first. Use this to turn a game name into an appid before calling any tool that takes appids.

steam_game_detailsA

Everything known about one game: install state, playtime, tags, which collections contain it, plus store metadata (description, genres, developers, release date, review score). Store data is fetched on demand and cached for two weeks; it draws on a shared budget of roughly 200 store requests per 5 minutes, so avoid calling this in a loop over many games.

steam_tags_listA

List the store tags present across the library with how many games carry each. Use this to discover valid values for the 'tag' filter of steam_library_list.

steam_recently_playedB

Games played recently, newest first.

steam_wishlistA

List wishlisted games. Requires STEAM_API_KEY to be configured.

steam_collections_listA

List every library collection with its id, name, game count, and whether it is dynamic (filter-based, therefore read-only) or a Steam system collection. Works with Steam closed, reading the last state Steam wrote to disk, in which case degraded=true.

steam_collection_getA

Return one collection with its games. Paginated.

steam_collection_createA

Create a static collection, optionally seeded with games. If a collection with this name already exists it is REUSED and the games are added to it - Steam deletes a same-named collection when creating a duplicate, so this tool never blind-creates. Requires Steam to be running with debugging enabled.

steam_collection_add_gamesA

Add games to an existing static collection. Refuses dynamic (filter-based) collections, where such edits are silently reverted by Steam.

steam_collection_remove_gamesA

Remove games from a static collection. The games stay in the library; only the collection membership changes.

steam_collection_replace_gamesA

Replace the entire membership of a collection. DESTRUCTIVE: any game not in appids is removed from the collection. Requires confirm=true when it would remove more than 10 games. Run with dry_run=true first to see the diff.

steam_collection_renameA

Rename a collection, keeping its id and membership. Renaming is preferred over delete-and-recreate because your library shelf layout references collection ids.

steam_collection_deleteA

Delete a collection. DESTRUCTIVE: the collection and its id are gone, and recreating it produces a NEW id. The games themselves are untouched, and Steam's collection files are backed up first. Requires confirm=true. Run with dry_run=true first to see exactly which games would lose their membership.

steam_set_favoriteB

Add games to, or remove them from, Steam's Favorites collection.

steam_set_hiddenA

Hide games from the Steam library, or unhide them. This affects the library view on every device signed into this account.

steam_install_gameA

Open Steam's install wizard for a game. NOT a silent install: Steam has no silent install API. This opens a dialog in the Steam window that must be clicked through by hand; nothing happens until then. Returns as soon as the wizard is open; check steam_game_details later to see whether the download actually started.

steam_uninstall_gameA

Open Steam's uninstall wizard for a game. NOT silent: Steam has no silent install API. This opens a dialog in the Steam window that must be clicked through by hand; nothing happens until then. Deleting game files is irreversible and any saves kept inside the game folder go with them; Steam Cloud saves are unaffected. Requires confirm=true.

steam_cache_refreshA

Re-read the library from Steam, and optionally pre-fetch store metadata for specific games. Store fetches are rate-limited to roughly one every 1.6s (Steam allows about 200 per 5 minutes), so at most 60 appids are accepted per call and the call can take a couple of minutes.

steam_cache_clearA

Delete this server's cached data. Steam's own files are never touched, and collection backups are preserved.

steam_cache_statusB

Report how fresh this server's cached library snapshot is.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 23 tools

Disambiguation4/5

Each tool targets a distinct resource-action combination, and the collection CRUD tools are clearly separated from library listing, search, and details. The cache/status cluster (steam_status, steam_cache_status, steam_cache_refresh, steam_cache_clear) could cause mild confusion by name, but the descriptions cleanly differentiate them.

Naming Consistency4/5

Most tools follow a steam_<domain>_<action> pattern (steam_library_list, steam_collection_create, steam_cache_refresh), which is predictable and readable. A few exceptions like steam_restart, steam_set_favorite, steam_set_hidden, and steam_wishlist break the pattern slightly, but they are still easy to infer.

Tool Count3/5

At 23 tools, the server sits in the heavy range and includes several housekeeping utilities (status, cache_status, cache_refresh, cache_clear) beyond core functionality. The breadth of Steam's library and collection features justifies most tools, but the count is borderline rather than ideal.

Completeness4/5

The collection lifecycle is fully covered with list/get/create/rename/add/remove/replace/delete, and library browsing, search, details, favorites, and hidden toggles are present. Wishlist support is read-only and install/uninstall depend on external UI wizards, but these are reasonable limitations given the server's focus.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive