What it does
ShipRust runs a Model Context Protocol server at https://shiprust.com/mcp. Connect it to a coding agent and the agent can list your projects, see every generator choice, create a project and fetch the download, all as tools it calls itself instead of HTTP requests you write for it.
The server is the same generator as the site and the JSON API: the same validation, the same lifetime-access check and the same saved projects. Anything you create from an agent appears on your dashboard, and anything you create on the site is visible to the agent.
Connect an agent
For Codex, use the native ShipRust plugin. It bundles this MCP server and the ShipRust skill. The standalone MCP setup is only a fallback when native plugins are unavailable.
Create a personal API key in Settings and export it in the shell your agent runs from. The same variable is used for the connection and for downloading the generated zip.
export SHIPRUST_API_KEY=sr_...
Claude Code registers the server with one command:
claude mcp add --transport http shiprust https://shiprust.com/mcp \
--header "Authorization: Bearer $SHIPRUST_API_KEY"
To keep the key out of the saved configuration, put the server in a project's .mcp.json instead and let Claude Code expand the variable when it starts:
{
"mcpServers": {
"shiprust": {
"type": "http",
"url": "https://shiprust.com/mcp",
"headers": { "Authorization": "Bearer ${SHIPRUST_API_KEY}" }
}
}
}
Cursor and other clients with a mcp.json file use the same shape:
{
"mcpServers": {
"shiprust": {
"url": "https://shiprust.com/mcp",
"headers": { "Authorization": "Bearer sr_..." }
}
}
}
Any client that speaks MCP's Streamable HTTP transport and can send a fixed Authorization header works. There is no OAuth sign-in: the API key is the credential, so revoking it in Settings disconnects the agent on its next call.
Tools
| Tool | What it does |
|---|---|
get_account | The account behind the key and whether it has lifetime access. Points to the billing page when it does not. |
list_options | Hosting choices, Sentry and PostHog capability keys with descriptions, defaults, limits and the template revision. |
list_projects | Your saved projects, newest first, each with its choices and download URL. |
create_project | Save a new project. Takes the same fields and defaults as the new-project form; only name is required. |
get_project | One project by id, with its download URL and command. |
delete_project | Remove a project from your list. Downloaded code is unaffected. The tool is marked destructive so agents ask first. |
Creating and reading a project require lifetime access, exactly like the site and the API. Listing works for every account. Typos are caught: an unknown field or capability key makes the tool fail with a message the agent can act on rather than silently changing the result.
Download the codebase
Generated zips are not sent through the MCP connection. A full Rust project encoded into a tool result would land in the agent's context window, so create_project and get_project return a download_url and a ready-to-run command instead:
curl -fL -o acme-app.zip "https://shiprust.com/api/v1/projects/…/download" \
-H "Authorization: Bearer $SHIPRUST_API_KEY" && unzip acme-app.zip
The command uses the SHIPRUST_API_KEY variable from the step above, so the agent's shell needs it too. The archive is the same one the site serves. Continue with Download and run your codebase; the generated README.md and AGENTS.md tell the agent how the codebase works.
Your generated project gets one too
Every project generated with Include an MCP server (on by default, alongside the JSON API) ships with its own /mcp endpoint built on the same protocol core: the account tool, the same bearer-key authentication, and a guide for adding product tools. The generated docs/mcp page explains it.
A typical session
Ask the agent for what you want in plain words: "Create a ShipRust project called Acme App with CapRover hosting and Stripe, download it into this folder and start it." A capable agent calls get_account, checks list_options when you asked for anything beyond the defaults, calls create_project, runs the download command, unzips the archive and reads AGENTS.md before touching the code.
Protocol details
The server speaks MCP protocol versions 2025-06-18, 2025-03-26 and 2024-11-05 over the Streamable HTTP transport in its stateless form. Every JSON-RPC message is one POST /mcp answered with JSON; there are no sessions to resume and no server-sent event stream, and GET /mcp returns 405. The server offers tools only, with no resources or prompts.
Failures you can fix are reported inside the tool result with isError: true, the message and the status the JSON API would have sent (402 without lifetime access, 404 for a project that is not yours, 409 for a taken slug, 422 for invalid input). A missing, invalid or revoked key is an HTTP 401. Malformed JSON-RPC is answered with the standard error codes.
Install the agent toolkit
Use the AI agent setup guide for the official skills, client-specific MCP configurations and REST fallback. Your dashboard has a copyable setup prompt.