{"serverId":"mcp-registry/io.github.flisko/openboss","tools":[{"name":"check_purchase","fixed":{"name":"check_purchase","description":"Given the sessionId from create_checkout, report whether the person has paid yet. Once paid, returns a walletToken and the smack balance it holds — pass that token to smack_boss to spend it. Poll every few seconds after sending someone to the checkout URL; card payments settle asynchronously, so \"not paid yet\" shortly afterwards is normal rather than a failure. Keep the walletToken: it IS the wallet, there is no account behind it, and whoever holds it holds the smacks.","inputSchema":{"type":"object","required":["sessionId"],"properties":{"sessionId":{"type":"string","description":"The sessionId returned by create_checkout."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Did the payment land"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":197,"tokensAfter":197},{"name":"create_checkout","fixed":{"name":"create_checkout","description":"Open a Stripe Checkout Session for one smack pack and return its URL. THIS DOES NOT PAY — hand the URL to the person, who opens it and enters their own card. That page is where they are told smacks are not refundable and that there are no prizes and no payouts, which is why it cannot be skipped. Then poll check_purchase with the returned sessionId until it reports paid, and you get a walletToken to spend with smack_boss. Pass an existing walletToken to top that same wallet up instead of starting","inputSchema":{"type":"object","required":["pack"],"properties":{"pack":{"type":"string","description":"Which pack to buy. Call list_packs for the valid ids and prices."},"walletToken":{"type":"string","description":"Optional. A walletToken from an earlier purchase, to add these smacks to that wallet rather than creating a second one."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Start a purchase for the person to approve"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":254,"tokensAfter":254},{"name":"get_boss","fixed":{"name":"get_boss","description":"Return the world boss everyone is currently hitting: its name, lore, tier, current and maximum hit points, active affixes, the live momentum multiplier, and how much damage has been dealt. Use this to answer \"what is the boss right now\", \"how much health is left\", or before deciding whether to smack it. One boss exists at a time and everyone in the world shares it.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Look at the boss"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":135,"tokensAfter":135},{"name":"get_graveyard","fixed":{"name":"get_graveyard","description":"Return bosses that have already been killed, newest first, each with the display name of whoever landed the killing blow. That engraving is permanent and is the only thing anyone actually wins. Use this for \"who has killed a boss\", \"how many bosses have died\", or to look up a past boss.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":50,"minimum":1,"description":"How many graves to return. Defaults to 10."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Read the graveyard"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":145,"tokensAfter":145},{"name":"get_leaderboard","fixed":{"name":"get_leaderboard","description":"Return the damage leaderboard for the current boss — display names and total damage, highest first — together with the most recent hits. Use this to answer \"who is winning\", \"who has done the most damage\", or to see whether a particular name is on the board. Resets when the boss dies.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":20,"minimum":1,"description":"How many entries to return. Defaults to 10."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Who has hit it hardest"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":145,"tokensAfter":145},{"name":"get_pixel","fixed":{"name":"get_pixel","description":"Return the current state of The Pixel (thepixel.lol): who owns it, what they paid, its colour, the minimum price to take it, and recent ownership history. Use this for \"who owns the pixel\" or \"what would it cost to buy it\". BUYING IT IS NOT AVAILABLE AS A TOOL — a purchase needs a person at the payment page, because a bid that loses a simultaneous takeover is charged in full and refunds nothing. Send the human to https://thepixel.lol to buy.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Check what the pixel costs"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":157,"tokensAfter":157},{"name":"get_wallet","fixed":{"name":"get_wallet","description":"Return the smack balance held by a walletToken. Use it to decide whether to keep smacking or to buy another pack.","inputSchema":{"type":"object","required":["walletToken"],"properties":{"walletToken":{"type":"string","description":"A walletToken from check_purchase."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"How many smacks are left"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"list_packs","fixed":{"name":"list_packs","description":"Return every smack pack for sale: id, price in US dollars, how many smacks it buys, and any bonus. Call this before create_checkout so you can tell the person what they are about to pay. Prices are final — no VAT or tax is added at checkout. Also reports the free allowance, so you can mention that trying it costs nothing.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"What smacks cost"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":122,"tokensAfter":122}],"toolsChanged":8,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}