Slotlock
Calendars for AI agents: free/busy, next free slot, and bookings PostgreSQL never double-books.
Description from the maker (original English)
Find browser games on Player Two, read its game SDK docs, and run your game studio there.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http playertwo https://playertwo.lol/api/mcp --header 'Authorization: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"playertwo": {
"url": "https://playertwo.lol/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"playertwo": {
"type": "http",
"url": "https://playertwo.lol/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 8, 2026. The maker wrote them, not us; we show them as plain text.
search_gamesFind games on Player Two (playertwo.lol), a store of games played in the browser: by words (in a game's name, tagline, description, studio, genres, modes and features: every word must match), genre, platform, free or paid, multiplayer, store game or raise. Each game with its slug
list_gamesEvery game in Player Two's store (playertwo.lol), in an order: featured (Player Two's own: featured first, then the most played; the default), popular (most players), new (newest first) or playing (most playing now), 20 at a time (up to 50; offset for more). The same filters as s
get_game_factsEverything an agent needs to answer a player about one game on Player Two, by its slug (from search_games or its address, playertwo.lol/game/ ): what it is, its genres and modes, what it plays on, who it is for, its price (a sale, a trial, a raise's progress), where to play it an
get_sdk_docsA part of Player Two's developer docs, in Markdown, as the docs pages say it today: the game SDK (trophies, leaderboards, stats, cloud saves, presence, in-game purchases, multiplayer rooms and room code), hosting a web game and pushing builds, Player Two Connect for a game on its
where_to_publishWhat Player Two offers a game's developer, as its docs state it, each fact with its link: what it keeps of sales, in-game purchases and raises, how a game gets there (the form, an agent, a zip, a pushed folder, GitHub, its own site served), and everything a game gets (store page,
get_submission_guideRead this first: every field of a game's page, its limits, the rules, the steps, and an example store game and raise. No key needed.
check_gameCheck a draft before submitting: says what is still missing, and the draft as it would be kept. Saves nothing. No key needed.
upload_mediaKeep a picture (PNG, JPEG or WebP up to 12 MB: the key art, screenshots, a feature's picture), a trailer or a gameplay video (MP4 or WebM up to 80 MB) or a font for the name's lettering (WOFF2, WOFF, TTF or OTF up to 2 MB, checked by what it is; only a font you are allowed to use
upload_web_buildKeep a game played in the browser: a .zip with index.html at its top (up to 100 MB), or a single .html page. Returns the address to put in the draft's build. version (optional): what the build is called, up to 32 characters of letters, digits, dots, dashes, plus signs and spaces,
submit_gameSubmit the player's game, for the store (kind: store) or as a raise (kind: raise). Live at once, or kept as a draft in their studio with publish: false. A raise takes no money until the player (a human) checks their identity in their studio: tell them.
update_gameChange one of the player's games: only the fields given change. A raise's terms (goal, smallest stake, share, days, planned price, stages) stand once it is open.
get_gameOne of the player's games as stored (drafts too), with its raise if it has one.
list_trophiesOne of the player's games' trophies (retired ones too), how many players hold each, the XP budget left of 1,000, and whether the game counts toward players' levels yet.
define_trophyAdd a trophy to one of the player's hosted games, or change one by its key. Tiers 1 to 4 are worth 10, 25, 50 and 100 XP and a game's add up to 1,000 at most; once a player has earned one, its tier, stat, target and server-only setting stay. Every trophy is a relic, a small sculp
list_boardsOne of the player's games' leaderboards, with how many players are on each.
define_boardAdd a leaderboard to one of the player's hosted games, or change one by its key (up to 20): which way is better, how a score reads, its bounds, the wait between scores, and whether only the game's own server sends scores (trusted). The game fills it with the SDK's scores.submit(k
list_buildsOne of the player's web games' builds that are still kept (30 days after another took its place, and the last 20 always), newest first: each one's version (its developer's, or its number in the game's builds), which is live, who sent each (the player, or which agent key), its siz
make_build_liveMake a build from list_builds the game's build again: players get it on their next page load. The build live now stays kept, so this can be undone the same way. Recorded in the game's history with the note (why), and with this key as the one that did it.
name_buildGive one of the player's web games' kept builds (key from list_builds, live or not) its version: up to 32 characters of letters, digits, dots, dashes, plus signs and spaces, starting with a letter or a digit (like 1.4.0 or 2.0 beta). Shown wherever its builds are from then on; no
list_productsOne of the player's games' add-ons and in-game products (off-sale ones too), each with its kind, key and price, how many players have it, how many times it was bought and what the studio has made from it.
define_productAdd something one of the player's games sells, or change one by its key. An add-on (kind dlc) is sold on the game's page, split as its sales are (Player Two keeps 10%). Everything else is sold inside the game: the game lists them (p2.store.list) and asks to sell one (p2.store.buy
get_roomsOne of the player's games' multiplayer rooms open now (by build) and how their players' connections were over the last minute, overall and for its eight busiest rooms: ping (the middle page's and p90, ms there and back), jitter, bytes a second each way a page, corrections and rew
playtest_linkOne of the player's games not out yet (kept private, or coming on a day): its "anyone with the link" playtest, as its studio's Playtesters has it. on: true turns it on (anyone who opens the link sees the game's page, a private one's too, and once signed in plays it as a tester: f
post_updatePost news on one of the player's games, first in its page's Updates (what its page's and studio's Post an update do): a title (2 to 80 characters) and the words in Markdown, up to 10,000 characters (**bold**, *italic*, ## a heading, - or 1. lists, > a quote, [words](https://...)
list_updatesOne of the player's games' posts still up on its page, the pinned one first and then the newest (up to 100): each one's id (what edit_update, pin_update and delete_update take), its kind (devlog: its team wrote it, so it can be edited and deleted; release, unlock, vote and raise
edit_updateChange one of the player's developer posts (kind devlog, from list_updates) by its id: its title (2 to 80), its words in Markdown (up to 10,000) and its attachments (media: the whole new list, in order, up to 4 pictures or a video and 3; the ones it had, and new ones from upload_
pin_updatePin one of a game's posts first in its page's Updates, before the newest (pinned: true, the default), or unpin it (false). Any post, Player Two's own "Out now" too. One a game: pinning another unpins the one before. Nobody is told; visitors see Pinned on it.
delete_updateTake one of the player's developer posts (kind devlog) off its game's page for good, by its id from list_updates: gone from the page, the feeds, the studio and the API; the notices it sent are taken out of players' lists (an email already sent stays sent); its pictures and video
list_commentsPlayers' comments on one of the player's games' posts (id from list_updates), oldest first, the newest last, up to 200: each with its id, words, who wrote it (dev: the game's team), when, whether it was taken down, the comment it replies to, and whether it is new for the player (
hide_commentTake a player's comment on one of the player's games' posts down (comment: its id from list_comments): out of sight for players, kept for the team and Player Two's admins, in the audit log. Only when the player asked, or it plainly breaks the rules (spam, abuse); a comment someon
lock_commentsLock one of the player's games' posts' comments (locked: true: no more, the ones there stay) or open them again (false).
mark_comments_readFor the player, on the game's team: a post's comments (id from list_updates) read up to now (or up to until, in milliseconds: the newer ones stay new), or every post's with no id (Mark all read). Each of the team has their own: a teammate's new comments stay new. Answers how many
my_studioThe player's studio: its games and where each stands, and whether their identity is checked (needed only for raises).
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified against the domain playertwo.lol (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 603 ms (HTTP 200)
No sign-in needed
Read 33 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: Authorization
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.1.0) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Slotlock, iDos Games SDK, Tandoor Recipe MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Calendars for AI agents: free/busy, next free slot, and bookings PostgreSQL never double-books.
Game modules, project scaffold and SDK skills for building web games on iDos Games.
Recipes, meal plans, shopping lists and more for your local or self-hosted Tandoor instance.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The open parts of Player Two for game developers and AI agents: the game SDK (playertwo-sdk), the starter (create-playertwo-game), examples, and docs in Markdown.
Player Two is a game store and a launchpad. Games are sold (or free) to play in the browser or download, and raises let players back a game while it is being made, paid to its developer stage by stage as they post proof. A web game hosted on Player Two plays at its own address on playertwo.cc and gets, through one account per player: trophies, XP and levels, stats, leaderboards, cloud saves, presence, invites, add-ons, in-game purchases (you keep 80%), the player's avatar, travel between games, and multiplayer rooms with no server of your own, including server-side room code, voice chat, worlds and replays.
This repository holds the SDK, the starter and their docs. The Player Two platform itself is not open source.
npm create playertwo-game@latest my-game
cd my-game npm install npm run dev # open it in two tabs: each tab is a player
Or add the SDK to your own game:
<script src="https://playertwo.lol/sdk/v1.js"></script>
npm install playertwo-sdk
import { init } from "playertwo-sdk";
const p2 = await init();
Put it on Player Two: submit the game at https://playertwo.lol/submit, make an agent key in your studio (Agents), then
curl -fsSLO https://playertwo.lol/cli/p2.mjs
P2_AGENT_KEY=p2_agent_... node p2.mjs push dist --game your-game
| Path | What it is |
|---|---|
packages/sdk | playertwo-sdk on npm: init() for bundled code, TypeScript types for the page (index.d.ts) and for a room's server code (playertwo-sdk/room, room.d.ts) |
packages/create-playertwo-game | npm create playertwo-game@latest my-game |
starters/threejs | Press Start, the multiplayer Three.js + Vite starter it makes |
examples/trophies-and-leaderboard | One HTML file: a trophy and a leaderboard with the script tag |
examples/multiplayer-room | A room with room.sync, messages, shared state and a server-side room.js |
docs/ | getting started, every SDK call, rooms, in-game purchases, hosting, the CLI, agents and MCP, fees |
Player Two runs a remote MCP server (Streamable HTTP) at https://playertwo.lol/api/mcp. With it an agent submits its player's games, uploads their media and web builds, edits their pages, and manages trophies, leaderboards, products, builds, posts and rooms.
claude mcp add --transport http player-two https://playertwo.lol/api/mcp
No key is needed for the public tools (get_submission_guide, check_game, search_games, list_games, get_game_facts, get_sdk_docs, where_to_publish). For the tools that change a game, add the player's agent key, made in their studio on playertwo.lol under Agents:
claude mcp add --transport http player-two https://playertwo.lol/api/mcp --header "Authorization: Bearer p2_agent_..."
Or no key at all: clients that sign in (Claude's and ChatGPT's connectors, Claude Code, Cursor) ask the player to sign in to Player Two and allow them the first time a studio tool is called (OAuth 2.1 with PKCE).
MCP Registry name: lol.playertwo/mcp (server.json); server card at https://playertwo.lol/.well-known/mcp.json. The same things over plain HTTP: the agent API (GET https://playertwo.lol/api/v1/agent/guide, POST https://playertwo.lol/api/v1/agent/games), with its OpenAPI 3.1 spec at https://playertwo.lol/openapi.json. Details: docs/agents-and-mcp.md.
llms.txtIssues and pull requests about the SDK, its types, the starter, the examples and these docs are welcome. Questions about your account, payments or a game on Player Two: https://playertwo.lol/help.
MIT, see LICENSE.