gamelibs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| steam_list_gamesA | List owned Steam games (thin: appid, name, playtime, last-played, installed). Args: installed_only: Only games installed on THIS machine (requires local Steam). search: Case-insensitive substring match on the game name. sort: One of "playtime" (desc), "name" (asc), "last_played" (desc). limit: Page size (1-500). offset: Pagination offset. |
| steam_get_game_detailsA | Full details for specific Steam games: playtime breakdown + local install info. Args: appids: Steam appids to fetch (max 50 per call). include_dlcs: Reserved; Steam DLC ownership is not separately derivable here. |
| steam_resolve_userA | Resolve a Steam vanity slug or profile URL to a SteamID64. |
| epic_auth_statusA | Report Epic auth state (does a valid/refreshable token exist, and from where). |
| epic_get_login_urlA | Get the Epic login URL. Sign in there, then copy the |
| epic_loginA | Exchange an Epic authorizationCode (from epic_get_login_url) for a stored session. |
| epic_list_gamesA | List owned Epic games (thin: app_name, catalog_item_id, namespace, title, installed). The first call warms a persistent catalog-metadata cache (titles + game/DLC categories), so it may be slow on a large library; subsequent calls are fast. Only a page is returned. Args: installed_only: Only games installed here (via local Legendary/Heroic state). search: Case-insensitive substring match on the title. include_dlcs: Include DLC/add-on entries (excluded by default). limit: Page size (1-500). Use pagination for large libraries. offset: Pagination offset. |
| epic_get_game_detailsA | Full text details for specific Epic games (title, description, developer, install info). Args: app_names: Epic app_name identifiers (from epic_list_games), max 50 per call. include_dlcs: Include entries that are DLC (excluded by default). |
| igdb_search_gamesA | Search IGDB by name (thin: id, name, release_year). Use igdb_get_game_details for more. Args: query: Free-text game name to search for. include_dlcs: Include DLC/expansion results (excluded by default). limit: Page size (1-500, IGDB default 10). offset: Pagination offset. |
| igdb_get_game_detailsA | Full text metadata for specific IGDB game ids (summary, ratings, genres, companies...). Results are cached on disk per id. Set force_refresh=True to bypass the cache and pull fresh data for these ids (e.g. when the prompt asks for the latest ratings). Args: ids: IGDB game ids (from igdb_search_games / igdb_lookup_by_steam_appid), max 50 per call. include_dlcs: Include ids that are DLC/expansions (excluded by default). force_refresh: Re-fetch from IGDB and overwrite the cached records for these ids. |
| igdb_lookup_by_steam_appidA | Map Steam appids to IGDB games (id + name) — bridges a Steam library to IGDB metadata. Args: appids: Steam appids (max 50 per call). force_refresh: Re-query IGDB and overwrite the cached matches for these appids. |
| refresh_cacheA | Flush cached library/metadata data so the next call re-fetches from the network. Use when data may be stale (e.g. "get the latest ratings/library" or after you've installed/bought games). Auth tokens are NOT cleared — this refreshes data, not login. For refreshing just a few specific games, prefer force_refresh on the igdb_* tools. Args: target: Which caches to clear — "all" (default), "steam", "epic", or "igdb". |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Tools are cleanly separated by platform prefix (epic_, igdb_, steam_) and by action (search, list, get details, login, resolve). Each tool has a distinct target resource and operation, so there is no realistic ambiguity. The only cross-cutting tool, refresh_cache, is clearly distinct from per-id force_refresh parameters.
Names mostly follow a consistent <platform>_<verb>_<object> pattern, e.g. epic_list_games, igdb_search_games, steam_get_game_details. Minor deviations like epic_auth_status and epic_login are still readable and predictable, so the deviations are not confusing.
Twelve tools is well-scoped for a server that handles three platform integrations plus cache management. Each tool covers a necessary operation and none feel redundant or ornamental. The count sits comfortably in the ideal range.
The server covers the core library and metadata workflow well: list, get details, search, IGDB lookup, and cache refresh for all three platforms. Minor gaps exist, such as no Epic logout/revoke and no unified cross-platform library view, but these are workarounds rather than blockers.