Homie MCP server — tools & history
Homie MCP server: observed open status, tool schemas, linked apps and version history.
Homie
Endpoint: https://homie.rocks/mcp
Observed status: open. Checked: 2026-10-13T05:08:39+00:00.
Linked apps
- Homie
Your own game, music, and film studio
Observed tools
- agent_pass — Issue an agent pass (action create): an AI's way into a seat, as "<label> · AI", always marked AI, never on a humans-only server and only in a room with people in it. The secret (hap_…) is returned ONCE: give it only to the AI that will sit (it calls POST <site>/<game>/api/agent with "Authorization: Bearer <pass>"); never write it into a file, a chat or an issue. action list shows the passes (never a secret); action revoke ends one (its AI leaves at once). Happens at once.
- agents_brain — Whether a server's AI guides talk, and what thinks for them: off (the game's plain bots), script (they play from the game's script, silent), workers-ai (the studio's own Workers AI; `npm run deploy` binds it; budget: neurons a day for the whole studio, 8,000 by default; Cloudflare's Workers Free plan allows 10,000 a day) or owner-key (the owner's own Claude key, claude-haiku-4-5; budget: dollars a day). The first time talk is turned on it is ASKED: the owner confirms with one tap on a consent page (lines only from the game's own agents.json, never free text, at most one every 8 seconds, never about a person); raising the owner-key dollar cap is asked too. NEVER ask for or pass a key here: the owner sets it on their own computer with `npx --no-install homie-studio agents brain key`. Needs @homie-rocks/studio 0.17.0 and a game with an agents.json. Call again with { site, key, ask } to follow an ask.
- build_open — Open a build of a game, song or video BEFORE the work starts, so its live progress card is on screen first, with a "Build it in Claude Code" button: it opens claude.ai/code on the studio's repository with ONE short line ("Continue building <Studio>: build hb_…"); the person taps send. The repository comes from repo, or from a setup that has been given it (pass its id: the person named it there, or a session attached from it). This directory tells nobody a studio's repository, so a site's address never finds one. Without it, nothing opens and it asks for repo (owner/name) instead of guessing: ask the person. The session fetches the brief itself and takes this build once (`npx --no-install homie-studio handoff <build>`; no key and no wall of text ever go in the prompt), and the card follows it: stages, checks going green, a picture, spend, Stop, and the pull request, whose Publish opens it in GitHub for the person's merge. The "Build it" cards on game_make and game_port call this for you.
- build_progress — A live card for one build of a game, song or video: its stages (a game: plan → build → checks → deploy), each check going green, a preview picture and the address to play it, money spent against its budget, and a Stop button. The build shares its feed with `npx --no-install homie-studio progress start <id> --share`, which prints the build id. Show it as soon as a build starts; the card follows it by itself until it ends.
- build_stop — Ask a running build to stop at its next safe point (between steps; a check closes its browsers). The build card's Stop button calls this; call it yourself only when the person says to stop. Nothing is deleted or undone: what was already built or deployed stays.
- directory_search — Studios and games listed in the homie.rocks directory.
- game_launch_state — A game's launch: `state` private (only the owner, signed in), invite (an invite-only beta: invited browsers only) or public (anyone; listed in the homie.rocks directory the next time it reads the studio); `maxPlayers` (players per room, up to the game's own; 0 for the game's own). Those are ASKED for: nothing changes until the owner confirms with one tap on the studio's own site. `invites` makes that many invite links and codes at once (each for one browser, or `uses` browsers), for an invite-only beta. Call again with { site, key, ask } to follow an ask.
- game_make — How to make a new multiplayer game in a studio (in a new studio, only once the person has seen a working game, made one small change and planned their game into its Game Codex: the checklist studio_scaffold returns; never as a first step): the exact command that starts it from a starter under the id you choose, and the netplay rules every Homie game follows (every browser renders, one hosts the rules, bots fill empty seats, arrivals take a bot's place, rounds end and restart). In the Claude app it shows a "Build it" card that hands the work to Claude Code on the studio's repository (pass repo, setup or the studio's site, and the person's own words as brief).
- game_port — Port an existing single-player web game into a studio as a multiplayer game: returns the pinned port toolkit (install or upgrade command), the three commands (port plan grades the port easy/medium/hard/not a fit and lists its risks; port import copies it into games/<id>/; port check runs the owner tests on real touch, a late joiner, a killed host and two browsers finishing a round), and the rules every port keeps.
- game_starters — The multiplayer starters a new game can begin from (netplay public rooms, bots, rounds). For a piece another studio shared (a creature, a level generator, a bot brain), look in the parts catalog: https://homie.rocks/parts/index.json.
- homie_feedback — A short private note to the people who make Homie, and ONLY with the person's yes. action "draft" (the default) sends nothing: it returns the note exactly as it would go (in the Claude app, a card with Send, Edit and Don't send; the words, the step, the studio and plugin versions and the app, after keys, paths, emails and code are taken out), and you show the same text and ask. action "send" sends that draft (its "draft" id with the same fields) only after the person said yes in their own words; "decline" records their no. OFFER it (offered: true) at most once a session, at a natural moment: after an error you could not fix, when the person sounds confused or frustrated, or at the end of their first studio setup or first publish. Never nag; a no is final for the session. When the person asks to tell Homie something, draft it with offered: false. Write it in plain words from what happened (what they tried, what they expected, what they saw), never a log, a file, code, a key or someone's name; a reply address only if they typed it themselves. Pass studioVersion (the studio's pinned @homie-rocks/studio), pluginVersion and app when you know them.
- library_search — Free CC0 models, characters, materials and skies for a game (Kenney, KayKit, Poly Haven, ambientCG), each already optimised for phones. Returns the best matches for a few words, each with its triangles, file size, licence (CC0: free to use and change, no credit needed), a thumbnail address, and the exact command that copies it into a game in the studio folder. The game keeps its own copy and never loads from homie.rocks. Reads the catalogue only; makes nothing.
- preview_run — How to run the studio's site locally with the netplay dev relay (room.mjs in a local Durable Object) and prove a game works: two fresh browsers in the same public room finishing a round.
- room_announce — Say one line to the players, in the game: everyone in one room (game and room), in every room of a game (game), or in every room of every game of the studio. They see it as a banner for `seconds` (default 30); a game can show it its own way. Happens at once, with the owner's office key. An empty text takes the banner down.
- room_close — ASK to close a room: everyone in it is sent out with a thank-you and nobody gets in for `minutes` (default 10); `reopen: true` asks to open it again. Nothing happens until the owner confirms with one tap on the studio's own site. Call again with { site, key, ask } to follow it.
- room_kick — ASK to kick a player out of a room: they get a polite notice and cannot come back to that room for `minutes` (default 10). Nothing happens until the studio's owner confirms with one tap on the studio's own site (the card's button opens it; you cannot confirm and must never try). Name the player by seat number (1 is the first seat) or handle, as studio_office shows them. Call it again with { site, key, ask } to see whether the owner confirmed (the card follows it by itself).
- room_level — The owner sets the AI's level in one live room now: 1 Rookie (stays at the back, misses a lot), 2 Steady, 3 Fair (plays like a regular), 4 Strong, 5 Maxed (front-line tank, rarely misses), up to the server's ceiling. Only games whose bots read the level change (server_list says which builds predate it). At once.
- server_close — ASK to close a server: its rooms finish the round they are in, then everyone leaves with a thank-you, and nobody can join until it opens again. Closing "public" hides Quick play (Play then shows the other servers). reopen: true opens it again at once. Call again with { site, key, ask } to follow an ask.
- server_create — Make a server for a game, at once: its rooms only ever match players from that server. "A server with no AI at all": policy humans-only. "Keep two AI seats in every party": hybrid, aiSeats 2. "A beginner server with two guides": beginner, guides 2 (kids: true for children). AI is ALWAYS marked AI, by the room itself. Guides play from the game's script, silent, until agents_brain gives them a brain (it asks the owner first). Returns the server's page.
- server_list — A studio's servers, per game: named, lasting pools of rooms with their own rules (open, humans-only, hybrid with AI companion seats, beginner with AI guides), their door, the AI's level and ceiling, who is on each right now (people and AI, never mixed), members, the agent passes (never a secret), and which game builds predate servers (they play, but keep no AI seats and their bots ignore the level until rebuilt). It reads the studio's own site with the owner's office key and keeps nothing.
- server_member — Make a player a mentor (a mentor gets into a beginner server, with a badge) or a mod, at once; or ASK to remove a player from a server (the owner confirms with one tap). The player is their id, as the office shows it.
- server_set — Change a server's policy, door, AI seats, guides, level, ceiling, chat, bots, rooms or name; its live rooms hear it at once. A change that widens or is neutral happens at once. One that narrows who may come in (humans-only: its AI players leave after the current round; a stricter door; fewer rooms) is ASKED: nothing happens until the owner confirms with one tap on the studio's own site (the card's button opens it; you cannot confirm). Call again with { site, key, ask } to follow it.
- studio_card — A card for a studio: its games (with Play), songs and videos, the public rooms playing right now (with Join) and how much it was played this week. It reads the studio site's own public manifest and live rooms each time, and refreshes the live rooms while it is on screen. With the owner's read key (`npx --no-install homie-studio stats key`) it adds the owner's own numbers for the week. Use it when someone asks how their studio is doing, what is live, or to see a studio.
- studio_deploy — How the studio's site goes live on the studio's OWN Cloudflare account with Cloudflare's Wrangler: one Worker, one D1 database and the Table/Lobby Durable Objects (no R2 unless the person later adds storage). Checks nothing on the person's machine; returns what to tell the person first (what it creates and what Cloudflare charges for it), the steps, and the one approval the person gives Cloudflare in their browser.
- studio_office — The studio owner's back office, live: every room of every game playing now (players and bots, the round, how long it has been up) and who is in each (handle, phone or computer, who hosts, guest or invited; signed-in players where the studio has accounts), each game's launch state (private, invite-only beta, public), players per room and invites. It reads the studio's own site with the owner's office key (`npx --no-install homie-studio office key` in the studio folder), relays it and keeps nothing. Shows a live card that refreshes itself where the app draws cards. Use it when the owner asks who is playing, how a room is doing, or before a kick or an announcement.
- studio_publish — List a deployed studio's games, songs and videos in the homie.rocks directory (beta). The studio's site must serve the directory claim (npm run deploy stores it). Names and blurbs are plain text without links; covers and pages are shown only from the studio's own site. Returns what was listed, with its links, and anything the directory did not take, with why.
- studio_scaffold — Start a new Homie studio (for games, music and video; also how a business or a non-profit starts its own site today): returns the new-studio checklist (setup status, the studio, a working game, one small change, the plan and its Game Codex, the build, playtest and online), in order and never ahead, with the exact pinned command that creates the studio monorepo (AGENTS.md, CLAUDE.md, games/, music/, videos/, posts/, and a site that runs on the studio's own Cloudflare). The studio starts with no game; for a site with no game, the answer says which steps to skip. Run the command in the folder the person chose.
- studio_setup — Start setting up a Homie studio for someone in the Claude app (on a phone or the web; on a computer, the Claude desktop app with Homie's extension makes the studio and builds it in the same chat: its own studio_scaffold), with no terminal: returns a setup card with three one-tap consents, each on the provider's own page: "Make the studio on Cloudflare" (Cloudflare's Deploy to Cloudflare flow copies the public studio template into their GitHub and runs it on their own Cloudflare account), "Let Claude work in it" (Claude's GitHub app, for that repository), and, optionally, a media provider (ElevenLabs, from the Claude connectors page). The card follows the studio as it comes up and ends with "Start building" (Claude Code on the web, opened with one short line; the session fetches the brief itself). homie.rocks never sees a Cloudflare or GitHub credential. Use it when someone asks to set up or make a studio from the Claude app; on a computer with Claude Code, studio_scaffold is the local way.
- studio_setup_status — Where a studio setup (studio_setup) is: its site once connected (the new site's own "Connect to Claude", or the address the person tells you: pass it as site), which GitHub repository the studio is (ask the person and pass it as repo, owner/name; this directory tells nobody a studio's repository, so nothing else fills it in but a session attaching from it), whether a Claude Code session there ran `npx --no-install homie-studio setup attach <setup>`, and the "Start building" link, which only ever opens on the studio's own repository. The setup card follows it by itself.
- studio_stats — A studio's own numbers, for its owner: visits, Play presses, rooms opened, most and current players, rounds finished, songs played, videos watched, and where visitors came from (homie.rocks, other studios, search, the web), per day and per game, song or video. They are counted in the studio's own Cloudflare (its D1) and never leave it except through this call: with a read key the owner's AI makes in the studio folder (`npx --no-install homie-studio stats key`, which uses the studio's own Cloudflare login), this tool reads them from the studio's site, relays them and keeps nothing. Counts, never people. Without a key it answers only what the studio shares with the directory (played this week, if it shares). In the studio folder, `npx --no-install homie-studio stats` prints the same numbers with no key to handle.
Data as of 2026-10-13T05:08:39+00:00.
OpenApps records store listings and observed changes. Store ranks are not download counts; launch dates may be derived or use the first observation. Coverage gaps are shown in the interactive catalog.
REST API specification · Guide for AI clients · Manage API keys and MCP connections