Player MCP
The player server acts for you as a player. It can recommend games and say why, search the catalog, review games you own and report bugs, see your account, wallet, and library, top up your balance, buy games and donate within the spending limit you set, fetch download links, and hand installs and launches to the Blazium launcher. It cannot touch game pages, builds, crash reports, analytics, or keys; those are on the developer server.
| Developer server | Player server | |
|---|---|---|
| URL | https://mcp.blazium.games/mcp | https://mcp.blazium.games/player |
| Scopes | mcp:read, mcp:write | player:read, player:write, player:buy |
| API key prefix | bgames_mcp_ | bgames_play_ |
| Server card | /.well-known/mcp/server-card.json | /.well-known/mcp/player-server-card.json |
A token belongs to exactly one server. A developer key or token is refused by /player, and a player key or token is refused by /mcp. A token can't hold both mcp:* and player:* scopes (4032).
Connect with OAuth (recommended)
Add the server to your client with no token:
{
"mcpServers": {
"blazium-games-player": {
"url": "https://mcp.blazium.games/player"
}
}
}
Your client discovers OAuth from https://mcp.blazium.games/.well-known/oauth-protected-resource/player (authorization server metadata at /.well-known/oauth-authorization-server/player) and opens the Blazium Games consent page, which lists what the player tools can do. There is no project picker. Tick Allow purchases only if the agent should buy for you; without it the token has player:read player:write and every purchase call returns 4212. Tick Read-only access to grant player:read only.
Connect with a player key
Create a player key at blazium.games/settings/mcp under Player MCP. Untick Allow purchases to create a key without player:buy. The key is shown once; send it as Authorization: Bearer bgames_play_.... Rotating revokes all your player keys and leaves your developer keys alone.
Scopes
| Scope | Allows |
|---|---|
player:read | Account, wallet, ledger, payment options, top-up status, quotes, purchase status, library, download links, approvals, agent policy, the files you can see for a game, recommendations, your review, friends and what they're playing |
player:write | Email verification, play time, confirming an approval with the emailed code, joining or leaving a beta, reviews, taste feedback, bug reports, friend requests, presence and activity sharing |
player:buy | Card and x402 top-ups, purchase_game, donate_to_game |
A route outside this list returns 4033. A missing player:buy returns 4212; any other missing scope returns 4031.
Spending limits and approval
Purchases always come from your stored balance. Set a limit per agent at blazium.games/settings/mcp: ask every time, unlimited, monthly, yearly, or a one-time budget. Anything beyond the limit waits for you to approve it by email link or code. See Agent purchases.
Tools
| Tool | Inputs | Scope | Notes |
|---|---|---|---|
get_account | none | read | Email verification, balances, and what the account may do |
request_email_code | none | write | Emails a verification code to you |
verify_email | code | write | Verifies your email with the code |
get_wallet | none | read | Credit, pending, and available balances plus fee and refund rules |
list_wallet_transactions | limit (1-200), before | read | Ledger entries, newest first |
get_payment_options | none | read | Card top-up and x402 USDC networks with fees |
create_top_up_link | amount_cents | buy | Card Checkout link for you to add balance |
create_x402_top_up | amount_cents, network | buy | x402 payment requirements for a USDC top-up |
pay_with_x402 | top_up_id, payment_payload | buy | Submits the signed x402 payment |
quote_purchase | uid, kind, amount_cents, sku | read | Price, tax, and total. The agent shows you the total first. sku is an edition uid or slug from get_game_details; empty quotes the cheapest edition, and owners of a cheaper edition are quoted the upgrade price |
purchase_game | uid, confirm_total_cents, idempotency_key, sku | buy | Buys a license (or an edition upgrade) from your balance, with the same sku as the quote. Beyond the limit it returns approval_required |
donate_to_game | uid, amount_cents, confirm_total_cents, idempotency_key | buy | Donates to a free game from your balance |
get_approval | approval_id | read | pending, approved, denied, expired, or used |
confirm_approval | approval_id, code | write | Approves with the 6-digit code you read to the agent |
get_library | none | read | Games you own, with refund windows and play time |
get_download_link | file_id | read | 5-minute signed URL for a build file |
get_agent_policy | none | read | This agent's limit mode, limit, and spend in the period |
search_catalog | q, asset_type, genres, tags, tone, session_bucket, net, players, os, arch, engine, engine_version, renderer, license, authorship, sort, page, page_size | read | Public games, tools, and assets with a score, scan state, platforms, made-with label, launch-health band, and a short reason for each match. See Listings and search |
get_shelf | kind (tonight or unheard_of), os | read | A short curated shelf. tonight has short-session games with a healthy, clean build for os; unheard_of has recent listings few people have found. The order rotates daily. See Shelves |
get_game_details | uid | read | Description, taxonomy, price, editions (skus), made-with label, launch health, license kind, engine compatibility, what it uses and what uses it, files with scan state and checksum, similar titles, and whether you own it |
install_build | uid, build_id, os, arch, channel | read | Checks your license and the virus scan, then returns the file checksum, a 5-minute download_url, and a blazium://install/<uid> link for the launcher. Uses the channel you follow unless you pass stable or beta. Refuses any file that isn't clean |
launch_game | uid | read | Returns the blazium://game/<uid> link that opens the game in the launcher, and whether you own it and a clean build exists |
set_channel | uid, channel (stable or beta) | write | Joins or leaves a game's beta. Beta builds then show up in get_game_details and install_build |
why_should_i_trust_this | uid | read | The developer, how each current file was uploaded, its scan history and checksum, and anything worth a second look (a file that isn't clean, no scan history, a beta build). It never calls a file safe; a clean scan only means no known malware was found |
recommend | intent, minutes, party_size, like_uid, os, arch, asset_type, include_owned, limit (1-10) | read | Games for right now, each with the reasons it was picked and any cautions. See Recommendations |
why_this | uid, intent, minutes, party_size, like_uid, os, arch | read | One game scored against the same inputs: reasons, cautions, and the blockers that keep it out of recommend |
write_review | uid, enjoyed, quality (1-5), would_play_with_friends, text, delete | write | Creates or updates your review of a game you own. One review per game; delete removes it |
taste_feedback | uid, more_like, clear | write | More (true) or less (false) like this game in recommend. clear removes it |
report_bug | uid, message, build_id, os, arch, include_dump, include_log | write | Files a bug ticket with the developers. include_dump and include_log return one-time upload URLs (PUT, 24 hours) |
games_friends_play | live_only | read | What your friends are playing now, then what they played in the last 14 days, with store links. See Friends |
list_friends | none | read | Friends with their presence (playing, online, offline) and pending requests with their request_uid |
send_friend_request | username | write | Sends a friend request. If that person already asked you, it accepts theirs |
respond_friend_request | request_uid, accept | write | Accepts or declines an incoming request |
redeem_key | code | write | Redeems a game key (XXXXX-XXXXX-XXXXX-XXXXX) or a gift link (the whole link or the code at its end) and adds the game to your library. If you already own it, the key stays unused (4084) |
Games list the channels you can join in get_game_details (channels). A beta download link for a game whose beta you haven't joined returns 4074.
install_build and launch_game never install or run anything on the server or your machine; the agent gives you the blazium:// link, or your client opens it, and the Blazium launcher does the rest.
Recommendations
recommend gives the same answer for the same inputs; no model picks the games. It only considers public games with a clean build for your platform (when you pass os), and skips games you own or already liked unless you pass include_owned. Each game is scored in this order:
- Session fit: its session length (
15m,1h,3h, or endless) against theminutesyou have. - Friends: a friend playing it right now, or else friends who own it. Only friends who share their activity count.
- Intent: words from
intentmatched against the listing's genres, tags, tone, name, tagline, and description. When you give an intent, a game that matches none of its words is left out. - Taste: tags and genres shared with games you liked (
taste_feedbackmore like, a review where you enjoyed it, an hour or more of play time, orlike_uid), and titles the developer lists as similar to them. - Reviews: enough reviews, with most reviewers saying they enjoyed it.
- Crashes: games with many recent crash reports rank lower and get a caution.
- Freshness: a small, capped boost for recently updated listings. It never counts as a reason on its own.
Every result lists reasons, each naming the listing field it matched. A game with nothing to cite is left out rather than padded in. party_size keeps only games that support that many players. Games you marked less like this never appear. why_this explains any one game, including why it was left out.
Reviews and bug reports
You can review and report bugs for games you own: games you bought, and free games you've downloaded (a free game counts once you download it, and stops counting if it later gets a price). You need a verified email, and developers can't review their own games (4077). Enjoyed and quality are separate: a well-made game you didn't enjoy can be quality 5 and enjoyed "no". Reviews appear on the store page, where the developer can reply. Review text is never used for ranking; recommend only counts whether reviewers enjoyed the game.
A bug report goes to the game's developers, up to 10 per day (4291). Attached dumps and logs can only be downloaded by the game's developers and our staff.
Friends
Add friends by username from the agent or at blazium.games/friends. You need a verified email to send requests, and you can send up to 20 a day (4292). Sending a request to someone who already asked you makes you friends right away. Adding yourself returns 4228, and asking someone you're already friends with or already asked returns 4078.
Friends see whether you're online and which game you're playing, plus the public games you played in the last 14 days. "Playing" comes from the play-time heartbeat your launcher or game sends, and lasts 10 minutes after the last one; there is no separate presence tool. Unlisted and draft games are never shown. Turn off Activity sharing on the friends page to hide all of it; you then also drop out of your friends' recommendations.
Resources
| URI | Contents |
|---|---|
blazium-games://me | Account status, verification, and what the account may do |
blazium-games://wallet | Stored balance and payment rules |
blazium-games://library | Owned games and licenses |
Moving from the developer server
Until 2026-10-28 the developer server still lists get_wallet, list_wallet_transactions, get_payment_options, create_top_up_link, create_x402_top_up, pay_with_x402, quote_purchase, purchase_game, donate_to_game, get_agent_policy, list_library, and get_download_link, marked deprecated. At the end of that day they disappear from /mcp, even on a server that is already running, and are only on /player; purchases or top-ups made with a developer token then return 4034. list_library is named get_library here. See Versioning.