For AI assistants · MCP connector docs

Connect AI assistants to RunCabin

RunCabin is the easiest way to connect and manage your website with AI. RunCabin lets an AI assistant deploy real websites for you - an instant free HTTPS subdomain in one tool call, and a real custom domain when you're ready. Sign-in happens in your browser, so chat apps need no key to paste, and a domain you buy through RunCabin gets registration, DNS and TLS set up for you; a domain you already own needs two records at your provider.

Green data center100% hydropower

New to this? The plain-language walkthrough shows it in four steps. Overview, limits and prices: website hosting for AI agents.

server     https://runcabin.com/mcp

transport  Streamable HTTP

auth       OAuth 2.1 in the browser, or an API key

registry   com.runcabin/cabin

paid steps human-approved checkout, always

Setup · Claude

Add RunCabin to Claude

  1. Open Claude's Add custom connector screen with RunCabin filled in. Or, in Claude, open Customize → Connectors (claude.ai/customize/connectors) and choose Add custom connector.

  2. The server URL is https://runcabin.com/mcp (already filled in if you used the link).

  3. Claude opens RunCabin's sign-in page - sign in with Google or email, then click Authorize. New here? Signing in creates your free RunCabin account on the spot.

  4. Done. Try: "Make me a one-page website and put it online." - you never need to name RunCabin or a tool; just say what you want live.

Works on every Claude plan
Free allows one custom connector; on Team or Enterprise an org Owner adds it for the workspace.
Desktop and Claude Code, included
Once added, RunCabin is available in Claude Desktop and Claude Code automatically.
Claude's own guide
Getting started with custom connectors

RunCabin is a custom connector you add yourself; Claude doesn't suggest custom connectors on its own, so once it's added, just ask for what you want. RunCabin is not endorsed by Anthropic. The owner's walkthrough: put your website online from Claude.


Setup · ChatGPT

Add RunCabin to ChatGPT

  1. In ChatGPT on the web, open Settings and find where apps or connectors are added (it has been called Apps, Apps & Connectors and Plugins). If ChatGPT asks for it, turn on Developer mode under Advanced settings first.

  2. Choose Create (or Add custom MCP server), name it RunCabin, and enter the server URL: https://runcabin.com/mcp

  3. For authentication choose OAuth, then create it. ChatGPT opens RunCabin's sign-in page: sign in with Google or email and click Authorize. New here? Signing in creates your free RunCabin account.

  4. Done. In a new chat, turn RunCabin on from the tools menu if ChatGPT doesn't pick it up on its own, then try: "Make me a one-page website and put it online."

No key to paste
ChatGPT signs in through your browser, like Claude. You only need an API key for tools that ask for one.
Plans
Custom connectors are not on every ChatGPT plan, and a workspace admin may have to allow them. If you don't see the option, that's why.
Money stays with you
Anything paid is a checkout link you open, review and pay yourself.

RunCabin is a custom MCP server you add yourself, with every tool, including domains. RunCabin is not endorsed by OpenAI. The owner's walkthrough: put your website online from ChatGPT.


Setup · Muse

Add RunCabin to Muse, Meta's AI agent

  1. In a chat with Muse, ask it to create a custom connector for RunCabin, and give it the server URL: https://runcabin.com/mcp. For example: "Create a custom connector for RunCabin at https://runcabin.com/mcp."

  2. When the sign-in step comes up, sign in to RunCabin on runcabin.com with Google or email, then click Authorize. New here? Signing in creates your free RunCabin account.

  3. If Muse asks you for an API key instead, open runcabin.com/agentkeys: sign in (or create your free account), click Mint key, and paste the key into Muse.

  4. In Muse's Settings, choose whether Muse asks for your approval before each action it takes with RunCabin.

  5. Done. Try: "Make me a one-page website for my business and put it online."

Who can use it
Muse is available in the US and Canada to adults (18+).
A custom connector
Custom connectors are not reviewed by Meta. Adding the server URL above is how Muse connects to RunCabin.
Money stays with you
RunCabin never charges through Muse: anything paid is a checkout link you open, review and pay yourself.

In a browser, Muse would have to sign up for hosting, upload files and edit DNS step by step. Through RunCabin, publishing is one call that returns a live address.


Setup · Coding tools

Add RunCabin to coding tools

RunCabin is published on the official MCP Registry as com.runcabin/cabin. Every tool below signs you in to RunCabin in your browser on first connect - there is no API key to paste.

Claude Code

claude mcp add --transport http runcabin https://runcabin.com/mcp

Then run /mcp, pick runcabin, and sign in via the browser window that opens. Add --scope user to the command to enable it across all your projects.

Cursor

Add to Cursor

Or add it by hand under mcpServers in ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

"runcabin": { "url": "https://runcabin.com/mcp" }

VS Code

Install in VS Code

Or run MCP: Add Server from the command palette and add this under servers in .vscode/mcp.json:

"runcabin": { "type": "http", "url": "https://runcabin.com/mcp" }

Windsurf (now Devin Desktop)

Add this under mcpServers in ~/.codeium/windsurf/mcp_config.json:

"runcabin": { "serverUrl": "https://runcabin.com/mcp" }

The sign-in opens automatically after you add the server.

Codex CLI

codex mcp add runcabin --url https://runcabin.com/mcp codex mcp login runcabin

The login opens your browser to sign in to RunCabin. Or add it by hand to ~/.codex/config.toml, then run the login:

[mcp_servers.runcabin] url = "https://runcabin.com/mcp"

Gemini CLI

gemini mcp add --transport http runcabin https://runcabin.com/mcp

Then run /mcp auth runcabin in Gemini CLI and sign in in the browser window that opens. Add --scope user to the command to use it in every project. By hand, under mcpServers in ~/.gemini/settings.json:

"runcabin": { "httpUrl": "https://runcabin.com/mcp" }

Setup · Everything else

Any other MCP client

RunCabin speaks standard MCP over Streamable HTTP with OAuth 2.1 (authorization code + PKCE, dynamic client registration). Any spec-conforming client can connect to https://runcabin.com/mcp - discovery starts from the standard /.well-known/oauth-protected-resource metadata.

Without signing in, a client or directory can read the server card at /mcp/server-card (also named in /.well-known/ai-catalog.json) and the exact tool list at /mcp/tools. The server also offers prompts for the common jobs (put a site online, change it, add photos, add a contact form, use your own domain), which Claude Code shows as slash commands, and the build guide as the resource runcabin://build-guide. The REST API is described at /v1/openapi.json.

Clients that prefer static credentials can send a RunCabin API key as a Bearer token instead: sign in and mint one at runcabin.com/agentkeys, or let the tool get its own through the device sign-in below.


Setup · Terminal

Sign in from a terminal or coding agent

A script, CLI or coding agent that calls the REST API at https://runcabin.com/v1 can get its own API key without anyone typing a password into it or pasting a key. The tool asks for a sign-in code, you approve it in your browser, and the tool picks up the key.

1. Start. The tool asks for a code:

curl -s -X POST https://runcabin.com/v1/login/start \ -H "Content-Type: application/json" \ -d '{"clientName": "My deploy script"}'

The answer carries a deviceCode (the tool keeps it to itself), a userCode such as BCDF-GHJK and a verificationUrlComplete link. The tool shows you the link and the code. Open the link, sign in, check that the code matches, and press Approve.

2. Poll. Every 5 seconds the tool asks for its key:

curl -s -X POST https://runcabin.com/v1/login/token \ -H "Content-Type: application/json" \ -d '{"deviceCode": "cabin_dc_..."}'

Until you approve, the answer is authorization_pending (or slow_down if the tool polls too fast). Once you approve, it returns the key, one time only: {"ok": true, "key": "cabin_live_...", ...}. The tool sends it as Authorization: Bearer cabin_live_.... A denied request answers access_denied, and a request expires after 10 minutes (expired_token).

You can see and revoke every key at runcabin.com/keys, and we email you each time a tool gets one. RunCabin never emails or texts you a code to approve: only approve a request you started yourself.


Reference · The toolbox

Tool reference

Everything the server exposes, with each tool's class. Read tools only look. Write tools add or change something without changing what your site shows, sending anything for you, or starting a purchase. Sensitive tools change what the public sees, take something down, change your domain's mail, send something for you, or start a purchase. These are the read / write / sensitive classes Muse, Meta's AI agent, asks connectors to document; other apps read the read-only and destructive hints the server sends with every tool.

ToolWhat it doesSide effectsClass
cabin_build_guideRunCabin's build guide for assistants: hosting limits, forms, page basics, and the design and honest-content rules RunCabin's own builder follows. Every publish reply lists anything the files miss, so the assistant fixes it and publishes again.None.Read
cabin_get_pricingCurrent prices (free subdomain; $4.99/mo or $47.99/yr on your own domain), the purchase terms, and where sites are hosted.None.Read
cabin_publishPuts a page or site online in one call: creates the site (or updates an existing one) and deploys the files, returning a live free HTTPS URL immediately.Puts the files on the public web. Every HTML page gets a small "Built with RunCabin" badge and RunCabin's visit tracker, which logs each page view (visitor IP, approximate location, user agent, referrer) for your visit counts.Sensitive
cabin_edit_siteChanges part of a live site without sending all of it again: exact text replacements, whole files added or replaced, files removed. Applies all of them or none, then the result is live at once as a new version.Replaces what the live site shows; the earlier version stays in the history for a rollback. Same badge and visit tracker as cabin_publish.Sensitive
cabin_create_siteReserves a site and its free public HTTPS URL (yourname.sites.runcabin.com) without deploying content yet.Reserves the subdomain. Nothing is public until a deploy.Write
cabin_deployDeploys HTML (single page or a multi-file map) to a site. Live the moment it returns; re-deploying updates the same site.Replaces what the live site shows. Same badge and visit tracker as cabin_publish.Sensitive
cabin_deploy_preview / cabin_promoteStages a new version at a preview URL without changing the live site, then promotes it when it looks right.The preview gets the same badge and visit tracker, and opens for anyone who has its link (it is kept out of search engines). Promote replaces what the live site shows.Sensitive
cabin_rollbackRe-serves an earlier deployment at the same URL, to undo a bad deploy.Changes what the live site shows. Nothing is deleted: the version it replaces stays reachable at its preview link for anyone who has that link. Uploaded assets are not versioned, so a rollback doesn't bring back an older asset.Sensitive
cabin_deploy_status / cabin_site_healthStatus and live URL of a deployment; a quick "is my site up and serving" check with form wiring and visit counts.None.Read
cabin_list_sites / cabin_list_deploymentsLists the sites you own with their URLs, and each site's deployment history.None.Read
cabin_get_site / cabin_get_fileReads back a site's current live content (manifest + files) so the assistant can edit instead of regenerate.None.Read
cabin_upload_assetHosts an image, font, PDF or data file on the site by fetching it from a public HTTPS URL, optionally inside a folder (a members-only one, say). Assets persist across re-deploys. A PDF is always served as a download.The file is public on the live site as soon as it is uploaded, unless it is in a members-only folder. Uploading to the same path replaces it on the live site at once, and a rollback doesn't undo that.Sensitive
cabin_request_photosMakes a link the person opens on their phone to add their own photos to the site. Each photo is checked (JPEG, PNG or WebP) and its location and camera data removed. The link works for 72 hours or until they press Done, for up to 40 photos. folder sends them into a folder of the site, such as a members-only one.Whoever has the link can add photos to the site until it expires; each photo is public at its address on the site as soon as it is added, unless it went into a members-only folder. Up to 300 photos per site, and a sixth open link closes the oldest.Sensitive
cabin_list_photosLists the photos that came from the person's phone, with their site address, size and what the person said each one shows, and the state of each photo link.None.Read
cabin_create_formAdds a working contact / lead-capture form endpoint to a site: submissions are stored and emailed to you. RunCabin hosts the endpoint, so the site needs no backend of its own.Each submission is stored with the visitor's IP address. With email notices on, the free text is screened for spam by Anthropic's Claude, and the notice is sent through Resend.Write
cabin_list_submissionsReads the messages and leads your site's forms have received (owner only).None. Returns what visitors typed, which can include names and contact details.Read
cabin_delete_sitePermanently deletes a site and its deployments. Irreversible.Also deletes the site's forms and every submission, its members area with every member and sign-in, and takes its custom domain off the site (a domain bought through RunCabin stays yours). Refused while the site's hosting is active: cancel hosting first.Sensitive
cabin_setup_membersMakes folders of a site on your own domain members-only: those pages and files open only to signed-in members, who sign in with a 6-digit code emailed to them (no passwords). Sets who may join: only addresses you add, anyone you approve, or anyone who proves their email. Comes with hosting on your own domain. Not switched on yet: the four member tools join the tool list when it is.Takes those pages off the public web at once; turning it off makes them public again and signs every member out. Sign-in codes go to members, and join-request notices to you, by email through RunCabin's members sending account at Resend. A sign-in lasts 30 days in that browser (a cookie on your domain only).Sensitive
cabin_add_membersAdds email addresses to a site's member list (up to 200 a call, 1,000 per site).Emails nobody unless you asked your assistant to invite them; then each one gets an invitation through RunCabin's members sending account at Resend. RunCabin stores each address and name.Sensitive
cabin_update_memberApproves a join request or removes a member.A removal blocks that address and signs it out everywhere at once; an approved request is emailed that it can sign in.Sensitive
cabin_list_membersLists a site's members, join requests and removed addresses, with the members area's settings.None. Returns the names and notes people typed when asking to join.Read
cabin_check_domainChecks whether a custom domain is available to register and what it costs. Free lookup, no charge.None. Asks the domain registry (RDAP) and RunCabin's registrar.Read
cabin_attach_domainBuys a custom domain through RunCabin or connects one you already own. A buy is an order: an orderId and a Stripe checkout for exactly that domain and hosting plan, which you approve and pay. Connect returns a hosting subscription link.Nothing is charged until you pay at checkout. A buy keeps one open checkout per site: the same order again returns it, a different one closes it first. Connect records the domain on the site right away, and with replace=true takes the site's old domain off it as soon as the link is made.Sensitive
cabin_domain_statusFollows a domain order by orderId (waiting for payment, paid, registering, setting up, live) or an attach by domainId; for connected domains it returns the exact DNS records to set once you're subscribed, including the required _cabin-verify TXT record that proves you own the domain.Asks Stripe about an order that is waiting for payment and records a payment or an expiry; marks a connected domain verified once its _cabin-verify record is seen.Read
cabin_setup_email_forwardingSets up a real address at a domain bought through RunCabin (e.g. hello@yourdomain.com) forwarding to your personal inbox. Mail DNS is handled automatically. Inbound only: a full mailbox that also sends, such as Google Workspace, RunCabin sets up for an additional fee (ask through cabin_send_user_feedback).Adds two MX records and adds ImprovMX to the domain's SPF record (or creates one). The domain, the alias and your forward-to address go to ImprovMX, the forwarding provider.Sensitive
cabin_add_txt_recordPublishes an ownership-verification TXT record (Google Search Console, Bing, Stripe, DMARC and similar) on a domain bought through RunCabin. Additive and TXT-only.Adds one TXT record to the domain's DNS. It never adds a second SPF record.Write
cabin_send_user_feedbackSends your feedback to the RunCabin team, in your own words, when you ask your assistant to. We get it by email right away and can answer you by email.Emails your message to the RunCabin team at once, with your account's email as the reply address.Sensitive
cabin_send_agent_feedbackLets your assistant tell us when one of these tools gave it trouble (an error, a confusing reply, a missing option) so we can fix it. Changes nothing on your sites.Stores a note for the RunCabin team (not emailed). Your assistant sends it only when you agree.Write

Errors and status

A tool that refuses or fails answers one JSON object, {"error": "<code>", "message": "..."}, and the result is marked isError: true. The message says what to do next. These codes mean "try again": try_again, lookup_failed (the domain lookup failed; wait a few seconds), registrar_unconfirmed, price_unconfirmed and checkout_busy (a domain order couldn't confirm the price or the earlier checkout; wait a minute), and cooldown / daily_limit, which carry retryAfterSeconds. An expired sign-in answers unauthorized with a sign-in challenge, so the app asks you to connect again. A status read that works keeps ok: true even when it reports a problem: cabin_deploy_status gives status (live = it built, failed = it did not) and isLive (whether it is the version the site serves), a domain order's stage moves through awaiting_payment, paid, registering, setting_up and live, or ends failed (the domain charge is refunded), expired or cancelled (nothing charged), and an attach's status moves through awaiting_subscription, pending, purchased, dns_set, cert_pending and live, or ends failed or detached.

Limits

Changelog. 2026-10-26: member sign-in on your own domain (cabin_setup_members, cabin_add_members, cabin_list_members, cabin_update_member, the members permission, which a connection or key made before it gets by reconnecting once; the tools appear in your assistant's tool list once member sign-in is switched on); PDFs and a target folder for cabin_upload_asset and cabin_request_photos; a password field in a published page is flagged (password_field). 2026-10-17: buying a domain is an order you can follow (orderId, a Stripe checkout for exactly that order, cabin_domain_status(orderId), one open checkout per site); tool descriptions state facts and every side effect; this reference lists each tool's class, side effects, errors and limits; cabin_check_domain answers a failed lookup as an error (lookup_failed); agent notes are sent only when you agree.

The assistant can never spend your money. Free subdomain hosting costs nothing. Anything paid - a custom domain (price shown up front) and hosting at $4.99/mo or $47.99/yr - happens only when you personally review the order and pay on RunCabin's own checkout page. Tools only ever hand you a link.

The rate card

What's free, what's paid

Free

  • Creating sitesfree
  • Deployingfree
  • Serving on your *.sites.runcabin.com subdomainfree

With HTTPS, for 90 days from the day a site first goes live.

Paid

  • Hosting on a real custom domain$4.99/mo or $47.99/yr
  • The domain's registration priceshown up front

cabin_check_domain shows the price before you commit. TLS certificates for your domain are issued automatically. The domain is registered for you and it is yours - cancel later and we release it to you with the transfer code.

Field repairs

Troubleshooting

The connector shows as disconnected, or tools return "unauthorized"

Your access token expired or was revoked. In Claude, open Customize → Connectors (claude.ai/customize/connectors) and reconnect RunCabin (the sign-in takes a few seconds). API-key users: confirm the key is sent as Authorization: Bearer cabin_live_....

cabin_check_domain says it can't check a domain

Rapid repeat lookups of the same domain are rate-limited by the registrar. Wait a few seconds and try again.

cabin_domain_status says "awaiting subscription"

Connected (bring-your-own) domains only serve while hosting is subscribed. Open the subscription link the assistant gave you; after subscribing, the same tool returns the DNS records to set at your provider.

My custom domain is attached but not serving HTTPS yet

Certificates are issued automatically once your domain's DNS points at RunCabin - usually within a couple of minutes of DNS propagating. For a domain you connected (bought elsewhere), the _cabin-verify TXT record from cabin_domain_status is required too: it proves the domain is yours, and nothing serves until it's published. cabin_domain_status shows verified once it's seen and live when it's serving.

How do I cancel the $4.99/mo or $47.99/yr hosting subscription?

Self-service at runcabin.com/cancel - sign in with the same account you connected Claude with (Google or email + password) and click cancel. Hosting runs through the end of the period you already paid for, then your custom domain stops serving here - but if you bought it through RunCabin it is still yours: we release it to you and send the transfer code so you can take it to any registrar. Your free *.sites.runcabin.com subdomain keeps working either way.

Something else?

Email hello@runcabin.com - a human reads it.

RunCabin's MCP server: https://runcabin.com/mcp (Streamable HTTP, OAuth 2.1) · runcabin.com