⁄⁄ moonshift mcp

Moonshift in your coding agent.

Every coding agent can write code. Moonshift MCP is how it ships. Connect Claude Code, Cursor, or any MCP client and give it tools to build, deploy, check, and iterate on real apps, without leaving the editor.

What it is

A remote, hosted Model Context Protocol server at https://moonshift.io/api/mcp. The consumer is another agent, not a person: the exact sibling of the CLI, a new entrypoint to the same platform. The agent writes the code; Moonshift provisions, deploys, verifies, and hands back a live URL and a repo you own.

Connect

Claude Code:

bash
claude mcp add --transport http moonshift https://moonshift.io/api/mcp \
  --header "Authorization: Bearer msk_your_token"

Any other MCP client connects the same way: point it at the URL over Streamable HTTP and send your token as an Authorization: Bearer header. There is nothing to install, no package, and no binary.

Authentication

The endpoint is authenticated by the Moonshift platform. It accepts the same per-user token the CLI uses: a msk_ key, validated on every request and revocable at any time. Without a valid token the server returns 401 and exposes nothing, not even the tool list.

Create the token by signing in once with the CLI. It is written to ~/.moonshift/config.json; copy it from there into the header above.

bash
moonshift login

Tools

moonshift_whoami

Confirm the authenticated Moonshift account. Call it first to check the connection is authorized.

moonshift_ship

Build AND deploy an app from one prompt. Returns a runId right away; the run takes 5-40 minutes, so poll moonshift_status.

moonshift_status

Get a run's status by id. Once it's ready, this returns the deployed URL.

moonshift_iterate

Change an existing run: describe the edit and get a new version of the same app, with a new runId to poll.

A typical loop: moonshift_ship returns a runId, then the agent polls moonshift_status until the deployed URL appears, then calls moonshift_iterate to refine it.

Safety rails

The caller is an autonomous agent, not a person at a keyboard, so shipping is bounded by default:

approval by default

moonshift_ship runs in approval mode, so nothing publishes until you approve it. Pass autonomous: true to override.

spend is capped

Every run sets a maximum spend, defaulting to $5 and hard-clamped to $25, so a looping agent cannot drain your account.

Security and source

The server is remote and hosted. Nothing runs on your machine and nothing is downloaded, so there is no source or source map to inspect. Your client sends JSON-RPC and receives JSON-RPC; that is the entire visible surface.

Each tool is a thin proxy that forwards your own token to the Moonshift API, so every action is authorized and metered as you. The MCP layer grants no capability you did not already have, and holds no product logic of its own.

Troubleshooting

  • 401 Unauthorized.The token is missing, wrong, or revoked. Re-run moonshift login and copy the fresh msk_ token into your client's Authorization header.
  • Tools don't appear.MCP servers load when the client starts. Restart the client (or the session) after adding the server.
  • A ship never finishes.Runs take 5-40 minutes. Keep polling moonshift_status; the deployed URL appears when it completes.
  • Nothing publishes.That is the default. Ship runs in approval mode; approve the run, or pass autonomous: true.

Give your agent hands.

Connect once, then let your agent ship real, deployed apps from inside the editor.

Prefer a terminal? The CLI