backloggd-mcp
This server provides comprehensive read and write access to Backloggd, allowing an AI assistant to manage a user's game library, lists, reviews, and social interactions, all while enforcing safety and rate-limiting.
Discover games: Search the catalogue; browse by genre, platform, year, or company; find related games (series, DLC, editions); get full game details and metadata.
Manage your library: Query with filters (shelf, platform, genre, year, rating, completion) and sorts like shuffle or average finish time; set shelf (played, playing, backlog, wishlist), completion status, and rating (0.5–5 stars); like/unlike; export full library; batch check up to 40 games.
Track playthroughs and sessions: Create/edit/delete game logs with rating, review, dates, and playtime; log play sessions; view your play journal.
Organize with lists: Create ranked/unranked/GOTY lists; add, remove, reorder, and annotate entries; delete lists (with confirmation); find games across all shelves and lists.
Social and community: View profiles, reviews, activity feeds, and notifications; follow/unfollow users; like reviews; post and delete comments (two-phase confirmation).
Safety & control: Two-phase confirmation tokens for all destructive actions; optional read-only mode; rate-limiting with circuit breaker and caching; authentication via session cookies, username/password, or Firefox profile import;
whoamito check auth and limits.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@backloggd-mcp Search for Hades and add it to my backlog"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
backloggd-mcp
An MCP server for Backloggd, the video game tracker. It lets an AI assistant search the game catalogue and read and manage your library — statuses, ratings, logs, play sessions, reviews and lists — as the signed-in you.
Beyond plain CRUD it exposes the parts of Backloggd that make it a backlog tool: filtering your library by release platform, genre or year, sorting by how long games take to finish, browsing a studio's whole catalogue with your own status attached, and checking a pile of titles against your shelves and lists in one call.
Backloggd has no public API, so this drives the same endpoints the website's own front end uses. See Automation posture for what that means and how this server tries to be a good citizen about it.
Unofficial. Not affiliated with or endorsed by Backloggd.
Install
Nothing to install — point your MCP client at npx:
Requires Node 20+. Not on npm yet, so install straight from GitHub — the package builds
itself on install via its prepare script.
Claude Code — claude mcp add picks up your shell environment, so this is enough:
claude mcp add backloggd -s user -e BACKLOGGD_BROWSER_IMPORT=firefox -- npx -y github:DenisionSoft/backloggd-mcpClaude Desktop — edit claude_desktop_config.json
(~/Library/Application Support/Claude/ on macOS):
{
"mcpServers": {
"backloggd": {
"command": "/opt/homebrew/bin/npx",
"args": ["-y", "github:DenisionSoft/backloggd-mcp"],
"env": {
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
"BACKLOGGD_BROWSER_IMPORT": "firefox"
}
}
}
}The absolute command path and the explicit PATH are both required, and this is the single
most common reason a Desktop MCP server silently fails to start: Desktop is a GUI app and
does not inherit your shell environment, so a bare "command": "npx" cannot be found,
and even an absolute npx dies with env: node: No such file or directory because its
shebang cannot locate node. Adjust the paths if node lives somewhere other than Homebrew
(which node will tell you). git must be reachable too — npx clones the repo to install it.
Pinning to a local checkout instead
Installing from a git ref re-resolves against GitHub on every server start (~2s warm, and it blocks rather than falling back to cache if GitHub is unreachable). If you would rather have an instant, offline-capable start — or you are actively editing the code — clone it and point at the build:
git clone https://github.com/DenisionSoft/backloggd-mcp && cd backloggd-mcp && npm installthen use "command": "node", "args": ["/absolute/path/to/backloggd-mcp/dist/index.js"]. That
starts in ~250ms and needs no network to launch, but it runs whatever is in dist/ — you must
npm run build to pick up changes.
Related MCP server: gamelibs-mcp
Authentication
Pick one. They are resolved in this order.
Method | Env vars | Notes |
Session cookie |
| The |
Username + password |
| The durable option — the server renews the session itself when it lapses. |
Import from browser |
| Lifts the live session straight out of your local Firefox profile. Best for a local-only setup. Chrome is not supported: its cookie store is encrypted with an OS-keychain key that this server deliberately does not touch. |
The resolved session is cached in ~/.backloggd-mcp/session.json (mode 0600) so restarts do
not re-authenticate. The cache is keyed to a hash of the credentials that produced it, so
changing BACKLOGGD_SESSION or switching accounts never silently keeps you signed in as the
previous one. Credentials are redacted from all log output, and no tool ever returns the
session cookie.
Auth is a setup step, not something the assistant does
An MCP server receives its environment from your client's config at launch, so an assistant cannot obtain or change credentials for a running server. You configure this once; the assistant just uses it. Nothing needs to teach it how — when credentials are missing or stale, the tools return a message naming the exact variable to set.
What differs between the modes is what happens when a session eventually lapses:
Mode | On expiry |
| Self-healing, as long as you are still logged in to Backloggd in that browser. The server re-imports the fresh session automatically. |
| Self-healing. The server logs in again by itself. |
| Needs you. The assistant will report that the cookie expired and ask for a fresh one; it cannot fetch it. |
For a local setup, browser import is the least-effort option: nothing to paste, and it recovers on its own.
Configuration
Variable | Default | Purpose |
| off | Do not even register the write tools. |
|
| Floor on the gap between any two requests. |
|
| Floor on the gap between two writes. |
|
| Per-minute write budget. |
|
| Per-hour write budget. |
|
| Per-request ceiling. |
|
| Retries for stalls and transient failures. |
|
| Wall-clock budget for one batch call. Batch tools return partial results at this point rather than overrunning the client's tool-call timeout. |
|
| Where the session is cached. |
| off | Request diagnostics on stderr (never credentials). |
Tools
Read (26). backloggd_whoami, search_games, get_game, get_my_game_log,
check_games, get_game_lists, query_library, export_library, browse_games,
browse_company, get_related_games, get_games_metadata, find_in_collection,
get_play_sessions, get_journal, get_lists, get_list, get_game_reviews,
get_user_reviews, get_user_profile, get_game_logs, get_activity, get_follows,
get_notifications, search_users, list_filter_values.
Write (13). set_game_status, set_played_status, rate_game, set_game_like,
log_game, log_play_session, add_game_to_lists, create_list, reorder_list,
add_favorite_game, save_review_draft, set_follow_user, like_review.
Gated (6). remove_rating, delete_playthrough, remove_game_from_library,
delete_list, delete_comment, post_comment — all behind the confirmation flow below.
post_comment is gated not because it deletes anything but because it publishes publicly
under your name.
The ones worth knowing about
query_library is the main one. Backloggd's library URLs are a filter grammar, and this
exposes all of it: shelf, completion status, release platform, genre, year, rating and
category, sorted by anything including avg-finish-time and shuffle.
query_library(shelf: "backlog", release_platform: "PS5") → what do I own that runs on PS5?
query_library(shelf: "backlog", release_platform: "Wii U") → what would I have to emulate?
query_library(shelf: "backlog", sort: "shuffle") → just pick somethingA caveat on avg-finish-time: it ranks longest first by default, and order: "asc" does
not give you short games — it surfaces the ones with no recorded completion time at all
(MMOs, live-service, obscure titles). There is no clean server-side "shortest games" query;
take an ascending page and check real hours with get_games_metadata.
Platform and genre accept plain names — "PS5", "Meta Quest 3", "RPG" — and are validated against the real vocabularies before the request goes out. That matters because Backloggd answers an unrecognised slug with an HTTP 500, so a typo would otherwise surface as an opaque server error. It also means an empty result is trustworthy: nothing matched, rather than the query being malformed.
browse_company returns a developer's or publisher's whole catalogue with your shelf
state attached to every game, 60 per request. Good for "which FromSoftware games haven't I
played", and for franchise gap-hunting.
check_games takes a pile of titles and reports, per game, the shelf, rating and
optionally which of your custom lists contain it.
Large batches are bounded rather than unbounded: the call has a wall-clock budget and returns
partial results — flagging notAttempted and listsPartial — instead of blowing past the
client's tool-call timeout and losing everything. Progress is cached (resolved games for a
day, the list index for five minutes, resuming where a timed-out scan stopped), so simply
calling again finishes the job. In practice a 40-game batch bounded at ~26s completes on the
second call in ~15s, and 100 games means three calls of at most 40 each.
find_in_collection searches shelves and every custom list at once — necessary because
Backloggd's list pages ignore the filter grammar entirely.
get_games_metadata costs one request per game, and says so. Prefer query_library when
the set is really a library query; use this for list contents, which cannot be filtered
server-side.
Ratings are always on the 0.5–5 star scale shown on the site. Backloggd stores them internally as 1–10; that conversion happens inside the server and never leaks into a tool argument.
Safety
Deleting things on Backloggd is permanent — the site offers no undo — so the destructive
tools use a two-phase confirmation rather than a confirm: true flag, which a model can
simply set for itself.
The first call cannot perform the action at all. It reads back exactly what would be destroyed and returns that inventory together with a server-generated token:
{
"status": "confirmation_required",
"summary": "Permanently delete ALL of your Backloggd data for \"Elden Ring\". This cannot be undone.",
"willBeDeleted": {
"shelf": "backlog",
"rating": 4.5,
"playthroughCount": 2,
"playthroughs": [{ "id": 881, "hasReview": true, "reviewPreview": "One of the best…" }]
},
"preserved": "Nothing is preserved. The game is removed from your account entirely.",
"confirmation_token": "confirm_96701e1ab900c8a7db6f1c2e"
}Only a second call carrying that exact token proceeds. The token is random, single-use, short-lived, and bound to the specific action and game — one minted for deleting a rating cannot be replayed to delete a library entry, and one minted for game A cannot be used on game B. Because it cannot be guessed or constructed, the only route to a successful delete runs through that preview being surfaced in the conversation, which is the point: you get to see what is about to be destroyed before it happens.
Other protections:
Toggle-safety. Backloggd's
/log/endpoint is a toggle, not a setter — postingbacklogfor a game already on the backlog silently removes it.set_game_statusalways reads current state first and sends only the changes that are actually needed.Shelf preservation.
log_gamecarries forward shelves and flags you did not mention, so writing a review can never quietly move a game off your backlog.Read-only mode.
BACKLOGGD_READONLY=1means the write tools are never registered, so they cannot be called at all.Session preservation.
log_play_sessionre-sends the playthrough's existing sessions alongside the new one, because the save endpoint replaces the set rather than appending to it — omitting them would silently delete your play history for that game.Filter validation. Platform, genre and category values are checked against the real vocabularies before any request is made, so a typo becomes a "did you mean" instead of an HTTP 500.
Automation posture
Backloggd's robots.txt targets crawlers and AI training scrapers, and disallows several of
the paths this server uses. This tool is not a crawler: it acts only as the signed-in user,
on that user's own data, doing things they could do by hand in their browser — the same
posture as a browser extension or the community WebView mobile app. That is a considered
reading, but the operator's wish to limit automated traffic is clear, so the server is built
to honour the spirit of it:
It sends an honest, identifiable User-Agent naming the tool and this repo. It does not impersonate a browser.
Requests are serialised — never parallel — with a floor on the gap between them, and a much stricter budget on writes.
A circuit breaker stops all traffic for 15 minutes after repeated
429s. Hammering an endpoint that is already rate-limiting you is what escalates into a restricted account.Responses are cached so repeat questions cost zero requests.
It only reads your own data and pages you can already see. It does not bulk-harvest the public catalogue.
If Backloggd ever puts up a bot challenge, the server fails with a clear message rather than trying to evade it.
Backloggd is a small, Patreon-funded site run by one person. Please do not raise the rate limits just because you can. If you are the operator and would like this to change or stop, open an issue.
Maintenance
Backloggd's markup will change eventually. When something starts returning empty results:
npx backloggd-mcp --selftestThis exercises every read path against the live site and reports which ones broke. It runs reads only and never touches a write endpoint.
To re-derive the endpoint map after a Backloggd redeploy, the front-end bundle contains every AJAX call site as a plain string literal:
curl -s https://static.backloggd.com/assets/application-<hash>.js | npx js-beautify | grep -oE 'url: *"[^"]*"' | sort -uThe <hash> changes each deploy; read the current one from the <link rel="preload"> tag on
any page.
Development
npm install && npm run build && npm testParsers are pure (html) => T functions tested against saved HTML fixtures in
test/fixtures/, so a markup change fails loudly and locally instead of silently in a chat.
No test in the suite performs a network request or a write.
The fixtures are real pages captured from a signed-in session, then sanitised before being committed:
CSRF and authenticity tokens replaced with a placeholder;
pages carrying private account settings not kept at all;
third parties anonymised — other users' names, numeric ids, avatar URLs and review prose are replaced with synthetic stand-ins, since those people did not agree to appear in this repository. The parsers only care about structure, so nothing is lost.
Refresh a fixture by saving the equivalent page, then run node scripts/anonymize-fixtures.mjs <your-username> before committing it.
License
MIT
Available Tools
45 toolsadd_favorite_gameAdd a game to your profile favouritesAIdempotent
Pin a game to the favourites row on your profile. Backloggd allows five; adding a sixth is rejected by the site. Removing one is only possible through profile settings on the website, so this server does not offer it.
Inputs: game (required).
add_game_to_listsAdd or remove a game from listsAIdempotent
Add a game to lists and/or remove it from others in one call. List ids come from get_lists.
Inputs: game (required), add_list_ids, remove_list_ids.
backloggd_whoamiWho am IARead-only
Report the authenticated Backloggd account, whether writes are enabled, and the current rate-limit state. Use this first if you are unsure the server is set up.
Inputs: no named parameters.
browse_companyBrowse a company's gamesARead-only
Every game by a developer or publisher, with YOUR shelf and rating attached to each one — 60 per request, no follow-up lookups. Good for 'which FromSoftware games haven't I played' and for franchise gap-hunting: browse the publisher, then look for the entries you don't have. Company slugs come from get_game's developers field or the company links on a game page.
Inputs: company (required), page, sort, order.
browse_gamesBrowse the catalogueARead-only
Discover games by sort order and filters rather than by title — 'popular RPGs from 2022', 'highest rated on Switch'. Filters use Backloggd's own slugs.
Inputs: page, sort, genre, release_year, +1 more.
check_gamesCheck a batch of games against your accountARead-only
Given a list of game names, report where each one sits in your Backloggd: its shelf (played / playing / backlog / wishlist / none), completion status, your rating, and which of your custom lists contain it. Built for questions like 'here are 20 games, which do I already have?'. Names that match no game are reported as not_found rather than failing the batch.
Inputs: games (required), include_lists.
create_listCreate a listAIdempotent
Create a new, empty game list. Use add_game_to_lists afterwards to populate it.
Inputs: name (required), type, year.
delete_commentDelete a comment (irreversible)ADestructive
IRREVERSIBLE. Deletes one of your comments. Requires confirmation.
Inputs: comment_id (required), confirmation_token.
delete_listDelete a list (irreversible)ADestructive
IRREVERSIBLE. Deletes an entire list and everything in it. Requires confirmation — call once without a token to see the list name and how many games it holds.
Inputs: list_id (required), confirmation_token.
delete_playthroughDelete one playthroughADestructive
Delete a single playthrough log, including its review and any journal sessions attached to it. Requires confirmation: call once without a token to see what would be deleted.
Inputs: game (required), playthrough_id (required), confirmation_token.
export_libraryExport a whole libraryARead-only
Page a library query to exhaustion and return a compact list of every match. Use when you need to reason over the entire set — 'which of my backlog are space sims', 'which are good co-op games' — rather than a single page. Narrow with filters first where you can: a genre filter can turn nine requests into one. Reports how many pages were fetched and whether the cap truncated the result.
Inputs: genre, shelf, username, max_games, +3 more.
find_in_collectionSearch everything you've savedARead-only
Find games across your shelves AND all your custom lists at once, annotated with where each one came from. Answers questions of the form 'in my backlog or any list, which are X'. Needed because list pages do not support filters — the shelf half is filtered server-side, the list half is gathered and filtered locally. Costs one request per list page plus one per shelf page, so it is heavier than query_library; use that instead when you only care about shelves.
Inputs: genre, shelf, max_games, include_lists, +2 more.
get_activityActivity feedARead-only
Recent activity: what friends have been playing, rating and reviewing ('friends'), your own actions ('you'), or things others did to your content ('inbound').
Inputs: page, scope, username.
get_followsFollowing / followersARead-only
Who a user follows, or who follows them. Returns the numeric user ids that set_follow_user needs.
Inputs: page, username, direction.
get_gameGet game detailsARead-only
Full metadata for one game — description, genres, platforms, developers, release date and the site-wide average rating — plus your own log entry for it.
Inputs: game (required), include_my_log.
get_game_listsWhich of your lists contain a gameARead-only
Report every one of your custom lists and whether it contains this game. Returns the list ids needed by add_game_to_lists.
Inputs: game (required), only_containing.
get_game_logsCommunity or personal logs for a gameARead-only
Logs of a game by the community, optionally friends-only or filtered by rating. Set username to read one person's full log history for that game instead (every replay).
Inputs: game (required), page, rating, username, +1 more.
get_game_reviewsGet reviews of a gameBRead-only
Community reviews for a game, with ratings, authors and like counts.
Inputs: game (required), page.
get_games_metadataMetadata for several games at onceARead-only
Platforms, genres, year, rating and playtime for a set of games. COSTS ONE REQUEST PER GAME, so keep batches small and prefer query_library when the set is really a library query (that is one request for the whole page). Use this for sets that are not a library query — most often the contents of a custom list, e.g. 'which of my VR list are on Quest 3'. Results are cached for six hours, so follow-up questions over the same games are nearly free.
Inputs: games (required), include_playtime.
get_journalGet play journalARead-only
A user's chronological play journal — what they played, when, on which platform.
Inputs: page, username.
get_listGet one list's gamesBRead-only
The games in a single list, paginated.
Inputs: list_slug (required), page, username.
get_listsGet a user's listsCRead-only
The lists a user has created, with game counts.
Inputs: page, sort, username.
get_my_game_logGet your log for a gameARead-only
Your complete log for one game: shelf, rating, like state, playtime, and every playthrough with its review and dates.
Inputs: game (required).
get_notificationsYour notificationsBRead-only
Recent notifications on your account.
Inputs: no named parameters.
get_play_sessionsDated play sessions for a gameARead-only
Your dated play sessions for a game — when you played, for how long, and any notes or tags. These sit inside each playthrough and are what the journal view is built on.
Inputs: game (required).
get_user_profileGet a user profileARead-only
A user's public profile: bio, favourite games, and counts of games played and backlogged.
Inputs: username.
get_user_reviewsGet a user's reviewsARead-only
Reviews written by a user. Defaults to your own.
Inputs: page, username.
like_reviewLike or unlike a reviewBIdempotent
Toggle your like on someone's review.
Inputs: liked (required), review_id (required).
list_filter_valuesValid platform and genre filter valuesARead-only
The accepted values for platform and genre filters. Useful when a filter was rejected, or to check whether a platform exists before querying. Filters accept plain names too ('PS5', 'Meta Quest 3') — this is for when you want the exact list.
Inputs: kind (required), search.
log_gameCreate or update a logAIdempotent
Write a full log for a game: rating, review text, completion status, play dates and playtime. Omitted fields keep their current values, and shelves you do not mention are preserved. Pass playthrough_id to edit an existing log instead of adding one.
Inputs: game (required), stars, title, review, +9 more.
log_play_sessionLog a dated play sessionAIdempotent
Record that you played a game on a particular date, with optional duration and a note — the building block of a play journal. Attaches to an existing playthrough; get_play_sessions lists their ids. Existing sessions and shelf state are preserved.
Inputs: date (required), game (required), note, hours, +4 more.
post_commentComment on a review or list (public)ADestructive
Post a PUBLIC comment on someone's review or list, under your username. Because this is visible to other people and not something you can quietly undo, it requires confirmation: call once without a token to see exactly what would be posted and where, show that to the user, and only proceed with their agreement.
Inputs: body (required), target (required), target_id (required), confirmation_token.
query_libraryQuery a game libraryARead-only
Search a user's library with Backloggd's full filter grammar. Defaults to your own. This is the main discovery tool: combine a shelf with a release platform, genre, year, completion status or rating, and sort by anything including how long games take to finish.
Examples: shelf='backlog' + release_platform='PS5' answers 'what do I have that runs on PS5'; sort='shuffle' picks at random; sort='avg-finish-time' ranks by how long games take (LONGEST first by default — see the sort notes).
An empty result means nothing matched — invalid filter values are rejected before the request is sent, so a zero-row answer is trustworthy.
Inputs: page, sort, genre, order, +10 more.
rate_gameRate a gameAIdempotent
Rate a game from 0.5 to 5 stars, in half-star steps. This is the same scale shown on the site — do not pass Backloggd's internal 1-10 value.
Inputs: game (required), stars (required).
remove_game_from_libraryRemove a game entirely (irreversible)ADestructive
IRREVERSIBLE. Wipes everything you have for this game: every log and playthrough, your review, your rating, tracked playtime, library entries and like status. Backloggd offers no undo. Requires confirmation — call once without a token to get a full inventory of what will be destroyed, show it to the user, and only proceed with their explicit agreement.
Inputs: game (required), confirmation_token.
remove_ratingRemove a ratingADestructive
Delete your rating for a game, keeping the game in your library. Requires confirmation: call once without a token to see what would be removed.
Inputs: game (required), confirmation_token.
reorder_listReorder or annotate list entriesAIdempotent
Set the order of a list's entries, and optionally a note on each. Pass the FULL ordered set of entry ids — anything omitted may be dropped. Entry ids come from get_list. Most useful for ranked lists.
Inputs: entries (required), list_id (required).
save_review_draftSave a review draftAIdempotent
Save review text as a draft without publishing it. The draft is account-wide (not per game) — it is the scratch buffer behind the site's review editor. Use log_game to actually publish a review against a game.
Inputs: review (required).
search_gamesSearch gamesARead-only
Search Backloggd's game catalogue by title. Returns id, slug, year, platforms and category. Set include_my_status to also report your own rating and shelf for each hit, which costs one extra request for the whole result set.
Inputs: query (required), limit, include_my_status.
search_usersSearch for usersARead-only
Find Backloggd users by name. Pair with get_follows to get numeric ids.
Inputs: query (required).
set_follow_userFollow or unfollow a userAIdempotent
Follow or unfollow another Backloggd user by their numeric user id.
Inputs: follow (required), user_id (required).
set_game_likeLike or unlike a gameAIdempotent
Toggle the heart on a game.
Inputs: game (required), liked (required).
set_game_statusSet a game's shelfAIdempotent
Move a game to one of your shelves: played, playing, backlog or wishlist. Use 'none' to take it off all shelves without deleting your rating, review or logs. Safe to call repeatedly — it reads the current state and only changes what differs.
Inputs: game (required), status (required).
set_played_statusSet completion statusAIdempotent
Set how you finished a played game: completed, retired, shelved, abandoned, or plain played. The game must already be on your played shelf.
Inputs: game (required), status (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 45 tools
Tool purposes are mostly distinct and clearly described. Some pairs like get_game_lists vs get_lists or check_games vs query_library have overlapping concepts, but their descriptions and parameters make them distinguishable. The high number of tools introduces some potential confusion, but each has a unique role.
Tool names follow a consistent verb_noun pattern (e.g., add_favorite_game, get_user_profile, delete_list). Even the outlier backloggd_whoami fits the overall style of a self-descriptive command. There is no mixing of conventions or chaotic naming.
At 45 tools, this is well beyond the 'heavy' threshold of 25. While the Backloggd domain is broad, many tools could be consolidated (e.g., combining shelf/rating/review setters into a single log editor, merging query/check/find variants). The large surface area is likely to overwhelm agents.
The tool set covers nearly all core Backloggd workflows: game discovery, library management, ratings, reviews, play sessions, lists, social interactions, and account utilities. Confirmation flows for destructive actions are also present. There are no obvious dead ends; every tool needed for typical use cases exists.
Maintenance
Related MCP Connectors
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Official Bookmax MCP server: search and save bookmarks, read notes and docs from AI assistants.
Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to search and query your LaunchBox game library across all platforms including Steam, GOG, and emulators. It allows users to check ownership for bundles, view game metadata, find duplicates, and analyze playtime statistics through natural language.3MIT
- AlicenseAqualityCmaintenanceAn MCP server that exposes your Steam, Epic Games Store, and IGDB game data as tools, enabling game library queries, install status checks, and metadata enrichment.122MIT
- AlicenseAqualityDmaintenanceMCP server enabling AI assistants to search Steam games, retrieve official store metadata, and analyze player review sentiment via public Steam Storefront JSON APIs without an API key.312 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server that connects AI assistants to the Steam Web API and storefront, enabling game library analysis, mood-based backlog recommendations, wishlist evaluation, and storefront searches.816 npmMIT