backloggd-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BACKLOGGD_DEBUG | No | Set to '1' or 'true' to enable request diagnostics on stderr (never credentials). | off |
| BACKLOGGD_SESSION | No | The _backloggd_session cookie value from your browser's DevTools. Stops working when the session expires. | |
| BACKLOGGD_PASSWORD | No | Backloggd password for username+password authentication. | |
| BACKLOGGD_READONLY | No | If set to '1' or 'true', write tools are not registered. | off |
| BACKLOGGD_USERNAME | No | Backloggd username for username+password authentication. | |
| BACKLOGGD_STATE_PATH | No | Path where the session is cached. | ~/.backloggd-mcp/session.json |
| BACKLOGGD_MAX_RETRIES | No | Maximum retries for stalls and transient failures. | 5 |
| BACKLOGGD_BROWSER_IMPORT | No | Set to 'firefox' to import the live session from your local Firefox profile. Only Firefox is supported. | |
| BACKLOGGD_REQUEST_TIMEOUT_MS | No | Per-request timeout in milliseconds. | 45000 |
| BACKLOGGD_MAX_WRITES_PER_HOUR | No | Per-hour write budget. | 200 |
| BACKLOGGD_MAX_WRITES_PER_MINUTE | No | Per-minute write budget. | 12 |
| BACKLOGGD_MIN_WRITE_INTERVAL_MS | No | Floor on the gap between two writes in milliseconds. | 2500 |
| BACKLOGGD_MIN_REQUEST_INTERVAL_MS | No | Floor on the gap between any two requests in milliseconds. | 700 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| backloggd_whoamiA | 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. |
| search_gamesA | 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. |
| get_gameA | Full metadata for one game — description, genres, platforms, developers, release date and the site-wide average rating — plus your own log entry for it. |
| get_my_game_logA | Your complete log for one game: shelf, rating, like state, playtime, and every playthrough with its review and dates. |
| check_gamesA | 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. |
| get_game_listsA | Report every one of your custom lists and whether it contains this game. Returns the list ids needed by add_game_to_lists. |
| query_libraryA | 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. |
| export_libraryA | 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. |
| browse_gamesA | 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. |
| get_journalA | A user's chronological play journal — what they played, when, on which platform. |
| get_listsC | The lists a user has created, with game counts. |
| get_listB | The games in a single list, paginated. |
| get_game_reviewsB | Community reviews for a game, with ratings, authors and like counts. |
| get_user_reviewsA | Reviews written by a user. Defaults to your own. |
| get_user_profileA | A user's public profile: bio, favourite games, and counts of games played and backlogged. |
| browse_companyA | 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. |
| get_related_gamesA | Games related to one game — its series, DLC, editions, mods or bundles — each with your own shelf state attached. Answers 'does this have a remaster or DLC I don't own'. Note that 'series' follows IGDB's collection grouping, which is narrower than a marketing franchise: Call of Duty's series is the classic-era games, while Modern Warfare and Black Ops are separate collections. For whole-franchise questions use browse_company on the publisher instead. |
| get_games_metadataA | 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. |
| find_in_collectionA | 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. |
| get_play_sessionsA | 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. |
| get_notificationsB | Recent notifications on your account. |
| get_activityA | Recent activity: what friends have been playing, rating and reviewing ('friends'), your own actions ('you'), or things others did to your content ('inbound'). |
| get_followsA | Who a user follows, or who follows them. Returns the numeric user ids that set_follow_user needs. |
| get_game_logsA | 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). |
| search_usersA | Find Backloggd users by name. Pair with get_follows to get numeric ids. |
| list_filter_valuesA | 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. |
| set_game_statusA | 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. |
| set_played_statusA | Set how you finished a played game: completed, retired, shelved, abandoned, or plain played. The game must already be on your played shelf. |
| rate_gameA | 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. |
| set_game_likeA | Toggle the heart on a game. |
| log_gameA | 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. |
| add_game_to_listsA | Add a game to lists and/or remove it from others in one call. List ids come from get_lists. |
| create_listA | Create a new, empty game list. Use add_game_to_lists afterwards to populate it. |
| set_follow_userA | Follow or unfollow another Backloggd user by their numeric user id. |
| like_reviewB | Toggle your like on someone's review. |
| log_play_sessionA | 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. |
| reorder_listA | 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. |
| add_favorite_gameA | 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. |
| save_review_draftA | 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. |
| post_commentA | 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. |
| remove_ratingA | 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. |
| delete_playthroughA | 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. |
| remove_game_from_libraryA | 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. |
| delete_listA | 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. |
| delete_commentA | IRREVERSIBLE. Deletes one of your comments. Requires confirmation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DenisionSoft/backloggd-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server