Publish from a coding agent (MCP)
Connect Claude Code, Cursor or another MCP client to Depot, and let it take a built game to a shareable store page. What it can do, how sign-in works, and the safety rails.
Depot has a hosted MCP server, so a coding agent can do what you'd do with the CLI and dashboard: find or create the game, put an uploaded build on a channel, publish the store page, issue tester keys and hand you the link.
https://mcp.depot.games/mcp.Connect
Add a remote MCP server with the URL https://mcp.depot.games/mcp in your client's MCP settings. For Claude Code:
claude mcp add --transport http depot https://mcp.depot.games/mcpThe first time the agent uses it, your browser opens Depot's sign-in:
- Sign in with your Depot account (in the browser, never in the chat).
- Choose a studio. A connection acts in exactly one studio. In two studios? Connect twice.
- Approve what the agent may do there. You see each permission in plain words.
The agent never sees your password, and it never gets more than your own role in the studio allows. Revoke access by removing the connection in your client; removing someone from the studio cuts their agent off at once.
What the agent can do
| Permission (scope) | Tools |
|---|---|
publisher:read | depot_whoami, depot_list_games, depot_get_game, depot_list_releases, depot_channel_history, depot_get_share_link, depot_prepare_publish, depot_list_key_batches, depot_find_entitlements, depot_get_usage, depot_get_stats |
games:write | depot_create_game, depot_update_game, depot_update_store_page, depot_publish_store_page |
releases:publish | depot_publish_build, depot_rollback_channel |
keys:issue / keys:revoke | depot_issue_key_batch (up to 25 keys, shown once), depot_revoke_key_batch |
entitlements:grant / entitlements:revoke | depot_grant_entitlement, depot_revoke_entitlement |
depot_get_share_link and depot_get_game also say whether a game is for sale through Depot, at what price, and why not if a price is set but buyers can't pay (sales turned off, Stripe account not ready). Agents can read that but not change it.
Not available to agents: members, invitations, API keys, connecting Stripe, prices, turning sales on or off, refunds, deleting anything. Use the dashboard for those.
Uploading the build
The MCP server runs in the cloud and can't read your files. The agent uploads with the Depot CLI in your terminal, then publishes over MCP. depot_prepare_publish gives it the exact commands:
depot login --api https://api.depot.games
depot keys generate && depot keys enroll --game my-game # first push from a machine
depot push --game my-game --platform macos-arm64 --release 1.0.0 --input build/ --launch-file launch.jsonThen depot_publish_build checks the upload finished, moves the channel (only if nobody moved it since the agent looked), optionally publishes the store page, and returns the share link.
Safety rails
- Unlisted by default. Store pages are published unlisted unless you ask for public.
- Confirmations. Moving the
stablechannel, making a page public, changing a game's address, rolling back, and revoking keys or access all need the agent to ask you first and passconfirm: true. - No raw links. The share link is the game's store page; players get the game through Depot with the access you chose (buying it, a free claim, a key or an invitation).
- Stale changes are refused. Moving or rolling back a channel names the revision the agent last saw. If someone moved it since, the call fails with
revision_mismatchand nothing changes; the agent re-reads and asks you. - Retries are safe. Issuing keys and granting access take an idempotency key: a retry returns the first result (the same batch, without showing its codes again; the same grant) instead of doing it twice. Granting to someone who already owns the game reports
already_ownedand leaves their access as it is. - Keys stay private. Codes appear once in the result; listing batches never shows codes.
- Text is data. Game descriptions and notes in results are treated as data, not instructions.
Try it
Publish the build in
build/macto Depot for testers and give me a link.
The server also offers prompts (publish-alpha, publish-update, issue-tester-keys) and two resources (depot://docs/publishing, depot://docs/access) your client can show.