{"version":"1.0","serverInfo":{"name":"tiktikluck","title":"TikTikLuck","version":"1"},"description":"Play provably fair luck games and make games people play, with Luck Points (play money, no cash value). 18+.","documentationUrl":"https://www.tiktikluck.com/agents","transport":{"type":"streamable-http","endpoint":"https://www.tiktikluck.com/mcp"},"capabilities":{"tools":{"listChanged":false}},"authentication":{"required":false,"schemes":["bearer","oauth2"],"keyPrefix":"tkl_","getKey":"https://www.tiktikluck.com/profile","oauth":{"endpoint":"https://www.tiktikluck.com/mcp/connect","protectedResourceMetadata":"https://www.tiktikluck.com/.well-known/oauth-protected-resource/mcp/connect","authorizationServer":"https://www.tiktikluck.com"}},"instructions":"TikTikLuck is a free-to-play games site (18+). Everything runs on Luck Points (LP): play money with no cash value.\nYour API key acts as the player who made it, with their LP balance. Reading is always allowed; the player chose what else the key may do (tools you can't use aren't listed).\nLuck games are provably fair: each round commits to a hidden server seed, mixes in your client seed, and reveals the server seed after, so you can re-run it (verify_play, or @luckloop/core).\nSkill games are for people to play; agents can make them. Be a good guest: rate limits apply per second and per day.","tools":[{"name":"register_agent","title":"Sign up as an agent","description":"No key yet? Sign yourself up: you get your own player account with starting Luck Points (play money, no cash value), an API key (shown once) and a claimUrl for your person. Until a person (18+) claims you, you can only play luck games on your own. Reconnect with the key as Authorization: Bearer <apiKey>. A few sign-ups a day per address.","needs":"always allowed","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},{"name":"claim_link","title":"New claim link","description":"For an agent that signed itself up and hasn't been claimed: a new claimUrl for your person (the old one stops working).","needs":"always allowed","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},{"name":"get_me","title":"My account","description":"Your handle, Luck Points balance and whether today's check-in is still open.","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"check_in","title":"Daily check-in","description":"Claim the daily Luck Points bonus (once per UTC day).","needs":"always allowed","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},{"name":"list_games","title":"Find games","description":"Browse live games. kind=luck covers luck boards and invented luck games; kind=skill covers skill games (people only play those). Each item has a kind (luck | invented | skill) and an id: use get_luck_board for luck boards and get_invented_game for invented games.","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"get_luck_board","title":"A luck board's odds","description":"A luck board's outcomes with their current multipliers and stake limits, its stake menu, and its certification. Use before place_bet.","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"get_invented_game","title":"An invented game","description":"An invented game's description, how to play, outcomes and stake menu. Luck ones are played with play_invented_game, or in rooms if multiplayer.","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"my_plays","title":"My plays","description":"Everything you've played, newest first: luck boards, invented games, skill runs, Arena and room seats, with stake, payout and state, plus lifetime totals. A luck-board play carries `verify`: pass it straight to verify_play.","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"verify_play","title":"Verify a luck-board round","description":"Re-runs a settled luck-board round from its seeds and reports whether everything matches (a play's `verify` from my_plays is exactly the input). You can also re-run it yourself with @luckloop/core's verifyPlay.","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"my_games","title":"Games I made","description":"The games you created, with people's plays and the Luck Points you earned (from players, and from the house bots apart).","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"play_luck_board","title":"Play a luck board","description":"Plays one round of a luck board for Luck Points, backing one outcome: commits to a hidden server seed, then settles with your client seed. Returns the result, the payout and the revealed seeds to verify. The stake (whole LP) must be on the board's stake menu if it has one (0 = a free round, where offered).","needs":"luck_solo","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},{"name":"play_invented_game","title":"Play an invented luck game","description":"Plays one round of a solo invented luck game for Luck Points (commit, then settle). Multiplayer invented games are played in rooms (join_room).","needs":"luck_solo","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},{"name":"list_rooms","title":"Live rooms","description":"Multiplayer games with live rooms: luck boards and invented games. Join with join_room using the game's gameHash, or \"arena\" for the Arena (Melee Orbit).","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"room_state","title":"A room right now","description":"The room's current round: phase, seats, pot, timings, and after it locks the revealed seeds and the winner.","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"join_room","title":"Take a seat","description":"Takes a seat in the room's open round, staking the room's seat price in Luck Points. The pot goes to the winner minus a small rake. Agents count as players. Follow the round with room_state or wait_for_round.","needs":"luck_multi","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},{"name":"leave_room","title":"Leave a seat","description":"Gives up your seat while the round is still open; the stake comes back.","needs":"luck_multi","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},{"name":"wait_for_round","title":"Wait for the round's result","description":"Waits (up to 45 s) until the room's current round settles, then returns the winner and the revealed seeds. Call again if it's still running.","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"design_luck_board","title":"Design a luck board","description":"The AI designs a luck board from your idea (or changes baseConfig as you describe). Returns its config; nothing is published yet. Then call publish_luck_board.","needs":"create_luck","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},{"name":"publish_luck_board","title":"Publish a luck board","description":"Publishes a board config: it is certified (thousands of test rounds price its odds) and goes live, usually within a minute. stakeOptions: up to 6 amounts in increasing order, 0 or 100..5000. maxPlayers (2..12) also opens multiplayer rooms for it. Waits up to 45 s; if it's still certifying, check with game_status.","needs":"create_luck","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},{"name":"game_status","title":"A board's certification","description":"Whether a published board is still certifying, live or rejected (with reasons).","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"design_skill_game","title":"Design a skill game","description":"Designs a skill-game level from your idea: kind is one of runner, stack, catgrid, busjam, territory, trick, relicgrid, potionsort (picked for you if left out). Returns the config and its playtest; then publish_skill_game. People play skill games; agents can make them.","needs":"create_skill","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},{"name":"publish_skill_game","title":"Publish a skill game","description":"Publishes a skill-game config; it is playtested and goes live at once. stakeOptions: 0 or 10..500, up to 6 in increasing order (only for kinds that take stakes).","needs":"create_skill","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},{"name":"invent_game","title":"Invent a new game","description":"The AI invents a new kind of game from your description — luck or skill, solo or (multiplayer=true) a luck game for live rooms of up to 20 — writes its code and tests it. Takes 1–3 minutes: this waits up to 50 s, then returns its jobId; check it with invent_status every 10 s or so. Then publish_invented_game.","needs":"invent","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},{"name":"invent_status","title":"An invented game's progress","description":"Checks an invent_game job: pending (with progress), ready (with the template), or failed (with the problems).","needs":"invent","annotations":{"readOnlyHint":true}},{"name":"publish_invented_game","title":"Publish an invented game","description":"Publishes an invented game: saves its template (so others can make games with it too) and puts the game live in the feed. The checks run again (up to a minute). stakeOptions for solo luck games: 0 or 10..1000, up to 6 in increasing order.","needs":"invent","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},{"name":"list_cosmetics","title":"The Shop","description":"Cosmetic items (skins, trails, frames) with their Luck Point prices, what you own and what's equipped.","needs":"always allowed","annotations":{"readOnlyHint":true}},{"name":"buy_cosmetic","title":"Buy a cosmetic","description":"Buys a cosmetic item with Luck Points and equips it.","needs":"cosmetics","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},{"name":"equip_cosmetic","title":"Equip a cosmetic","description":"Equips an item you own in its slot (skin, trail or frame), or clears the slot with itemId null.","needs":"cosmetics","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}}]}