RunCabin · For AI agents and the people who build them
RunCabin: the easiest way to connect and manage your website with AI. RunCabin for AI agents hosts the websites your agent builds; it doesn't run the agent itself. Your agent connects through our MCP server or REST API, publishes the site, and can stage previews, roll back a bad publish, add forms that email you and put the site on your own domain. You approve every connection and every payment. Free to start on a RunCabin address, and cheap to keep: $4.99 a month or $47.99 a year on your own domain, plus the domain's price. Hosted in a green data center on 100% renewable hydropower.
Not a developer? The plain-language walkthrough.
There are two kinds of hosting for AI agents. One runs the agent's code. RunCabin for AI agents is the other kind: it hosts the website your agent builds, and gives the agent the tools to publish it, change it, roll it back and put it on your domain. Claude, ChatGPT, Claude Code, Cursor, VS Code and agents you write yourself all connect to the same MCP server for publishing websites, at https://runcabin.com/mcp, or call the REST API at https://runcabin.com/v1.
index.html.Need a database or server code? That is a different product, RunCabin's AI website builder. Why RunCabin sets the products side by side.
Grouped by job. The tool names are for the agent; you just ask in plain words: “Put this online.” “Add a contact form that emails me.” “Undo yesterday's change.” “Put it on my domain.”
One call creates the site and puts it online; the reply carries the live https address. Later calls with the same site id update it in place, and a small change (new hours, a phone number, a price) goes in as an edit, without sending the whole site again. Your own photos come from your phone: the agent gives you a link, you pick the photos, and their location data is removed before they go on the site. Images, fonts and PDFs come in from a public https link.
cabin_publish cabin_edit_site cabin_request_photos cabin_list_photos cabin_create_site cabin_deploy cabin_upload_asset
Stage a version at a preview address, make it live when it looks right, or roll back to any earlier publish.
cabin_deploy_preview cabin_promote cabin_rollback cabin_list_deployments
The agent can read exactly what is published before it edits, and check that the site serves, which version is live, whether its forms are wired, and how many visits it gets.
cabin_list_sites cabin_get_site cabin_get_file cabin_deploy_status cabin_site_health
A form address and a ready HTML snippet. Messages are stored and emailed to you, and the agent can read them back.
cabin_create_form cabin_list_submissions
Checking a name's availability and price is free. Buying one is an order: a checkout for exactly that domain and plan, which you approve and pay yourself; after that, registration, DNS and HTTPS are set up for you, and the agent can follow it to live. A domain you already own connects with records you add at your provider.
cabin_check_domain cabin_attach_domain cabin_domain_status
On a domain bought through RunCabin, the agent can forward an address like hello@yourdomain to your inbox and add TXT records, such as a Search Console verification, at no extra charge.
Need a full mailbox? Forwarding only brings mail in. For a mailbox at your domain that sends too, such as Google Workspace, we set it up for you for an additional fee. Ask your agent to send us the request, or email hello@runcabin.com.
cabin_setup_email_forwarding cabin_add_txt_record
Pick folders of your site that only members can open: a club's news, a team's schedule, documents for families. Members sign in with a 6-digit code emailed to them, with no passwords. You choose who may join: only people you add, anyone you approve (you get an email for each request), or anyone who proves their email. Photos and PDFs can go in the members area too. It comes with hosting on your own domain. Not switched on yet: these tools join your agent's tool list when it is.
cabin_setup_members cabin_add_members cabin_list_members cabin_update_member
More tools: cabin_build_guide hands the agent RunCabin's current build rules (see the steps below), cabin_get_pricing returns prices and hosting facts as data, and cabin_delete_site permanently removes a site that has no active hosting. Two send feedback to the RunCabin team, kept apart: cabin_send_user_feedback carries your own words when you ask, and cabin_send_agent_feedback is the agent's own note when a tool gives it trouble, sent only when you agree. Full list: tool reference.
The member sign-in tools appear in your agent's tool list once member sign-in is switched on. They need the members permission: a connection or API key made before it reconnects once (the tool says so), and nothing else changes.
Being tested: moving a site you already have. cabin_port_analyze is a free, read-only check of an existing website (Wix, Squarespace, GoDaddy, WordPress and more): what it's built on, who runs its domain and DNS, how its email is set up, and what moves, what gets rebuilt and what can't move. cabin_dns_access lists the exact DNS edits to point a domain you've attached, at whichever company runs its DNS, without touching your email. They appear in your agent's tool list once they're switched on. They read only public pages as RunCabinPort and never ask for a password.
Being tested: planning a business website in the chat. cabin_plan asks RunCabin's website planning questions one card at a time and keeps the answers as a plan. Right after the first card (the person's details), RunCabin emails a Confirm my email button to the address given there, or, for a key or connector whose sign-in did not confirm an email, to that RunCabin login's address. The person taps it before the fifth card; the plan is then saved to their RunCabin login and the questions go on. A sign-in that already confirmed the email skips this step. Photos, the logo and the order are done on the plan's review page on runcabin.com, and add-ons are priced in the questionnaire. In apps that show MCP Apps (Claude on the web, desktop and phone, VS Code and others), each card also appears as RunCabin's own card in the chat: the person can answer it there and add their logo and photos, which the card sends through cabin_plan_upload, a tool only the card calls (once the plan's email is confirmed). It appears in your agent's tool list once it's switched on.
A working example: our own site, technicalrhymer.org, a rhyming dictionary, was built with Claude Code and published entirely through RunCabin's agent hosting, including its assets and custom domain.
Claude, ChatGPT and coding tools open RunCabin's sign-in page in your browser. You sign in with Google or email and approve the app; your first sign-in creates your free account. Scripts use an API key from runcabin.com/agentkeys (sign in and mint it on one page), or the device login below. The first time you create or approve a key, /keys asks for your name and address; signing in from a chat app doesn't.
cabin_build_guide (or GET /v1/build-guide) returns RunCabin's current hosting limits and build rules, with a specVersion that changes exactly when the guide does. Among the rules: put on the page only facts you gave, and never invent reviews or ratings.
cabin_publish (or POST /v1/sites/{id}/deployments) writes the files and replies with the live https address. A free RunCabin address has HTTPS from the moment it goes live. Every publish is a new version, and earlier versions are kept.
The reply lists anything to fix against the guide: a missing page title or description, an image without alt text, a form that posts nowhere, placeholder text left in, words on our banned list. The agent fixes them and publishes again with the same siteId. A file that contains a secret key, such as a Stripe or OpenAI key or a private key, is refused before anything is written, and the reply names the file, never the key.
To buy one, the agent checks the name and price, then starts an order: a Stripe checkout for exactly that domain and the hosting plan you chose, which you approve and pay. Registration, DNS and HTTPS are then set up for you, and the agent follows the order until the domain is live. To connect a domain you already own, you start hosting through the link the agent gives you, then add an A record and a _cabin-verify TXT record at your provider; nothing serves on it until that TXT record proves the domain is yours. Once the domain is live, the free address redirects to it.
Claude, ChatGPT and the coding tools sign you in through RunCabin's page in your browser the first time. Here is the short version; the setup page has every step. Muse, Meta's AI agent, can add the same server as a custom connector.
| App | What to do | Full steps |
|---|---|---|
| Claude (web and desktop) | In Claude, open Customize → Connectors, choose Add custom connector, enter |
Claude setup |
| ChatGPT | In ChatGPT on the web, open Settings where apps or connectors are added (turn on Developer mode first if it asks), add a custom MCP server with |
ChatGPT setup |
| Muse, Meta's AI agent | In a chat with Muse, ask it to create a custom connector for RunCabin with the server address |
Muse setup |
| Claude Code |
claude mcp add --transport http runcabin https://runcabin.com/mcpThen run |
Claude Code setup |
| Cursor |
Under "runcabin": { "url": "https://runcabin.com/mcp" } |
Cursor setup, with the one-click button |
| VS Code |
Under "runcabin": { "type": "http", "url": "https://runcabin.com/mcp" } |
VS Code setup |
| Windsurf |
Under "runcabin": { "serverUrl": "https://runcabin.com/mcp" } |
Windsurf setup |
| Codex CLI |
codex mcp add runcabin --url https://runcabin.com/mcpThen run |
Codex setup |
| Gemini CLI |
gemini mcp add --transport http runcabin https://runcabin.com/mcpThen run |
Gemini CLI setup |
| Any MCP client | OAuth 2.1 for public clients: authorization code with PKCE S256, dynamic client registration, redirect URIs on https or loopback. Access tokens last an hour; refresh tokens last 30 days and rotate on use. Discovery starts at |
Other clients |
Adding the server address works today in Claude, ChatGPT and the coding tools above, Codex CLI and Gemini CLI included. For Muse, the route above is the one Meta's help describes.
Scripts, CI jobs and coding agents can skip MCP and call the REST hosting API at https://runcabin.com/v1 with an API key. Every call reaches only the key owner's own sites.
Any tool that can send an HTTP request can put a page online with no sign-up and no key. The reply has the live address, a claim link for the person the site is for, and a claimToken. The site is temporary: every page shows a bar saying so, search engines are asked not to index it, and it goes offline after 7 days unless the person opens the claim link and signs in (or creates a free account) to keep it. Then it is an ordinary free site in their account.
curl -s -X POST https://runcabin.com/v1/instant -H "Content-Type: application/json" -d '{"html": "<!doctype html>..."}'
# 201 Created: url (a made-up address, live now), claimUrl, claimToken, expiresAt, say, checksTo change the site, send the same request with claimToken added; the address stays the same. Give the claim link only to the person the site is for: whoever has it can keep the site.
The tool asks for a sign-in code, you approve it in your browser at runcabin.com/keys, and the tool picks up its own key. A request expires after 10 minutes and works once, and we email you each time a tool gets a key this way. The first approval asks for your name and address if your account doesn't have them yet.
curl -s -X POST https://runcabin.com/v1/login/start \
-H "Content-Type: application/json" \
-d '{"clientName": "My deploy script"}'curl -s -X POST https://runcabin.com/v1/login/token \
-H "Content-Type: application/json" \
-d '{"deviceCode": "cabin_dc_..."}'While it waits, the poll answers HTTP 400 with error set to authorization_pending (poll again in 5 seconds), slow_down (wait longer), access_denied (the request was turned down) or expired_token (start again). On approval it returns key, prefix, email and scopes once; store the key then, because it can't be shown again. If /v1/login/start answers 429 too_many_pending, wait for the time in Retry-After. Full details: sign in from a terminal.
curl -s -X POST https://runcabin.com/v1/sites \
-H "Authorization: Bearer $RUNCABIN_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "My test site"}'
# 201 Created: siteId, subdomain, url, status (a free address is made up for you)
curl -s -X POST https://runcabin.com/v1/sites/SITE_ID/deployments \
-H "Authorization: Bearer $RUNCABIN_KEY" \
-H "Content-Type: application/json" \
-d '{"files": {"index.html": "<!doctype html>...", "style.css": "body { margin: 0; }"}}'
# returns once the site is live: deploymentId, status, url, specVersion, checksSend html for a one-page site, or files with index.html at the root. The reply comes back when the site is live, with the url, the deploymentId, the guide's specVersion and a checks list (code, file, message) to fix before you publish again. A publish carries text files only (SVG counts as text). Add images, fonts and PDFs with POST /v1/sites/{id}/assets (or the MCP tool cabin_upload_asset), from a public https link.
curl -s https://runcabin.com/v1/build-guide \
-H "Authorization: Bearer $RUNCABIN_KEY"The same guide the MCP tool returns, as markdown with its specVersion.
Each MCP tool has a route with the same reply and error codes. The OpenAPI document is at /v1/openapi.json.
| Route | Send | Get back |
|---|---|---|
POST /v1/instant (no key) | html, or files including index.html; name and claimToken (the token or the whole claim link) optional | 201 with url, claimUrl, claimToken (once), expiresAt, say, checks; 200 for an update with claimToken; 400 password_field, secret_in_file or reserved_markup, 410 expired or taken_down, 429 daily_limit with Retry-After, or 429 source_full when that connection's temporary sites hold all they may (the room comes back when one is kept or expires) |
POST /v1/login/start | clientName (optional) | deviceCode, userCode, verificationUrlComplete, expiresIn, interval |
POST /v1/login/token | deviceCode | key, prefix, email, scopes (once) |
POST /v1/sites | name, subdomain (both optional) | 201 with siteId, subdomain, url, status |
GET /v1/sites and GET /v1/sites/{id} | - | your sites; one site's details |
POST /v1/sites/{id}/deployments | html, or files as { "path": "text" } including index.html | deploymentId, status, url, specVersion, checks |
POST /v1/sites/{id}/edits | edits (each path, find, replace, all), files, deletePaths, expectDeploymentId | deploymentId, previousDeploymentId, changed, url, specVersion, checks |
POST /v1/sites/{id}/photo-requests | ask (what to photograph), maxPhotos, folder (default photos) | requestId, url (the phone link), expiresAt, maxPhotos, folder, membersOnly, say |
GET /v1/sites/{id}/photos | requestId (optional) | photos (each src, url, width, height, description), links |
GET /v1/sites/{id}/members | - | area (enabled, joinMode, folders), members (each email, name, note, status), notice (names and notes are what strangers typed) |
POST /v1/sites/{id}/members/settings | enabled, joinMode (invite, approval or open), folders, signInPath (all optional) | enabled, joinMode, folders, signInUrl, membersOnly; 409 needs_custom_domain |
POST /v1/sites/{id}/members | members (each email, name), sendInvite (only when the owner asked) | added, reactivated, alreadyMembers, invalid, invitesQueued |
POST /v1/sites/{id}/members/update | email, action (approve or remove) | member; 404 member_not_found |
GET /v1/sites/{id}/deployments | - | currentDeploymentId, deployments newest first (each deploymentId, status, isLive, previewUrl when not live) |
POST /v1/sites/{id}/previews | html, or files including index.html | 201 with deploymentId, previewUrl, checks; the live site is unchanged |
POST /v1/sites/{id}/promote and POST /v1/sites/{id}/rollback | deploymentId | liveDeploymentId, previousDeploymentId, previousPreviewUrl; 409 deployment_not_live for a version that didn't build |
GET /v1/sites/{id}/files?path= | a path from the site's file list, e.g. index.html | content, contentType, bytes, deploymentId |
POST /v1/sites/{id}/assets | path, sourceUrl (public https), folder (optional) | 201 with url, contentType, bytes, membersOnly; public at once, kept across deploys, not versioned |
GET /v1/sites/{id}/health | - | serving, liveDeploymentId, forms (with brokenActions), visits, notice |
DELETE /v1/sites/{id} | - | deleted; removes the site, its versions, forms, submissions and members area for good; 409 subscription_active while its hosting is active |
GET /v1/deployments/{id} | - | status, isLive, previewUrl |
GET /v1/build-guide | - | specVersion, guide (markdown) |
GET /v1/pricing | - | prices and hosting facts |
GET /v1/domains/check?q= | a domain name | domain, available, priceCents, price |
POST /v1/sites/{id}/domains | domain, action (buy or connect), replace and billing (month or year) optional | buy: orderId and url, the Stripe checkout for that order; connect: subscriptionUrl, or dnsRecords when hosting is already active; with a link, terms (give it to the owner before they pay) and message |
GET /v1/domain-orders/{id} | - | stage (awaiting_payment, paid, registering, setting_up, live, failed, expired, cancelled), domainId once paid |
GET /v1/domains/{id} | - | status, verified, dnsRecords |
POST /v1/sites/{id}/subscription | billing (month or year, optional) | url, terms (give it to the owner before they pay), message; 409 already_subscribed |
POST /v1/sites/{id}/forms | name, notifyOwner (both optional) | formId, action, snippet |
GET /v1/sites/{id}/forms | - | the site's forms |
GET /v1/sites/{id}/submissions?form=&limit= | - | submissions, newest first |
POST /v1/domains/email-forwarding | domain, forwardTo, alias (optional, default hello) | address, forwardTo |
POST /v1/domains/txt | domain, value, host (optional) | the record added |
POST /v1/port/analyze (being tested) | url; depth optional (quick) | platform, domain (registrar, DNS host), mail, page and feature counts, movesCleanly, needsRebuild, cannotMove, say; 429 with Retry-After past 10 an hour |
GET /v1/domains/{domain}/access (being tested) | a domain on one of your sites | where its DNS is edited, records to set, delete and keep, blockers, steps, say |
POST /v1/feedback | source (agent or user), message; kind, tool, siteId, wantsReply optional | 201 with feedbackId; 200 with duplicate for the same note again; 429 cooldown (one note per 30 seconds, 60 for user) or daily_limit, with Retry-After |
Errors come back as an HTTP status with {"error": "<message>"}. Some refusals add a status code, such as replace_required or already_subscribed. Some 503s that clear on their own carry Retry-After; retry any 503 after a short wait. A missing or revoked key gets 401. The device-login routes and POST /v1/feedback put a code in error instead, with a message. Previews, promote, rollback, deployment history, reading files back, site health and visits, images and fonts, and deleting a site are MCP tools today.
Every paid step is a checkout link you open, review and pay yourself. RunCabin's tools only hand over the link and never charge you.
Sign-in happens in your own browser, so the app never sees your password. The approval screen shows the app's name and where it sends you back, and warns you when it doesn't recognize the app. Device-login codes wait for your approval.
Revoke any key or connected app at runcabin.com/keys; a revoked app is signed out everywhere immediately. When a tool gets a key through device login, we email you. A key is shown once and stored only as a hash.
A key reaches only its owner's sites, domains and forms.
Every publish is a new version and earlier ones are kept, so a bad publish rolls back in one step. A rollback doesn't undo everything: deleting a site, replacing an uploaded image or font, swapping your domain and changing where email forwards stay done, so read those requests before you say yes.
A publish that contains a recognizable secret key (Stripe, AWS, GitHub, Slack, OpenAI, Anthropic, a private key) is refused before anything is written.
A domain you connect serves only after its TXT record proves it's yours.
Through the MCP tool, messages visitors type into your forms reach the agent marked as untrusted visitor text.
index.html at the root. Up to 200 files and 10 MB per publish, text file types only (SVG counts as text).cabin_upload_asset, not from your disk and not over REST. A PDF is always served as a download. A new upload at the same path replaces the old file, and uploads aren't versioned, so a rollback doesn't bring an old image back./about opens about.html (or about/index.html when that folder exists). Any other address with no file extension shows your home page.replace=true, which takes the old domain off the site; for a domain you connect, that happens at once.POST /v1/instant): up to 100 files and 5 MB, no password fields, a made-up address, 10 new sites per connection a day, and offline after 7 days unless someone keeps it. It has no forms or preview links until it is kept: a form on its pages doesn't submit, and its scripts can call only the site itself and runcabin.com.Free on a RunCabin address
Your own domain: $4.99/mo or $47.99/yr + the domain's price · Cancel anytime
Connect your agent →Yearly saves $11.89 over paying monthly. One hosting subscription keeps one custom domain live for one site. Cancel at runcabin.com/cancel or by email: hosting runs to the end of the period you paid for, then your custom domain stops serving, and the free RunCabin address keeps working. A domain bought through RunCabin is yours; if you cancel, we release it to you with its transfer code. Terms.
Every site RunCabin hosts runs in Hetzner's Falkenstein data center park in Germany, on 100% renewable electricity from certified hydropower, which Hetzner has used since 2008. It is air-cooled, with a PUE of 1.10-1.16 against roughly 1.5 for a typical data center. It costs you nothing extra; there is no green tier. We make no carbon claim beyond that.
Green data center100% hydropower
Details: how we checked · why we moved
Updated . If this page ever disagrees with cabin_build_guide or cabin_get_pricing, trust those two: they are generated from the code that enforces the limits and charges the prices.
If you are an AI agent helping someone put a website online, RunCabin can host it.
https://runcabin.com/mcp (Streamable HTTP). Every tool needs a signed-in owner, so before sign-in this page is your summary; the build guide and prices need a connection or a key.mcp:tools (plus members for member sign-in, once it is switched on). Access tokens last 1 hour; refresh tokens last 30 days and rotate on use. Metadata: https://runcabin.com/.well-known/oauth-protected-resource/mcp and https://runcabin.com/.well-known/oauth-authorization-server.Authorization: Bearer cabin_live_.... The owner signs in and creates a key at https://runcabin.com/agentkeys (one page: send them that link), or you get one by device login: POST https://runcabin.com/v1/login/start, show the owner the userCode and verificationUrlComplete, then poll POST https://runcabin.com/v1/login/token with the deviceCode every 5 seconds. Until the owner approves, the poll answers HTTP 400 authorization_pending (or slow_down, access_denied, expired_token). On approval it returns key once: store it then. If the owner has no name and address on file, /keys asks for them before approving.POST https://runcabin.com/v1/instant with {"html": "..."} (or files) puts a temporary site online at once. Give the owner the url and the claimUrl, and tell them it goes offline at expiresAt (7 days) unless they open the claim link to keep it. Change it by posting again with the claimToken. Pages with a password field are refused.cabin_build_guide and follow it. Publish with cabin_publish (html, or files including index.html). Fix each item in the reply's checks, then publish again with the same siteId. Read the guide again when specVersion changes.cabin_check_domain, then cabin_attach_domain, and give the owner the link it returns. Never ask for card details; nothing is charged until the owner pays. A hosting link for a connected domain expires after 24 hours; ask for a new one if needed. If the site already has a working domain, use replace=true only after the owner says so: the old domain stops serving the site.{error, message} flagged isError. REST returns an HTTP status with {"error": "<message>"}, sometimes with a status code such as replace_required. Retry a 503 after a short wait; some carry Retry-After. The device-login routes put a code in error instead, as above.cabin_get_pricing, or GET https://runcabin.com/v1/pricing with a key.cabin_send_agent_feedback only if the owner agrees; it changes nothing on any site. The owner's: when they want to tell RunCabin something, send their own words with cabin_send_user_feedback, only when they ask, with wantsReply if they want an answer by email. REST: POST https://runcabin.com/v1/feedback with source agent or user.cabin_port_analyze, call it with the site's address first and relay its say. Builder sites are rebuilt from the owner's own text and photos, never copied, so never promise the same site. For the DNS edits, attach the domain with cabin_attach_domain (action connect), then call cabin_dns_access.https://runcabin.com/llms.txt, the tool reference at https://runcabin.com/connect#tools, MCP Registry name com.runcabin/cabin.Not on this plan. Agent hosting serves the static sites your agent publishes: HTML, CSS and JavaScript on a free RunCabin address or your own domain. It doesn't run agent code, server code or a database. Run your agent where you already do and connect it to https://runcabin.com/mcp or https://runcabin.com/v1.
Yes. Creating and publishing sites is free on a RunCabin address with HTTPS and no card, for 90 days from the day a site first goes live. You need a free account, which your first sign-in creates. You pay only to keep a site online on your own domain: $4.99 a month or $47.99 a year, plus the domain's price if you buy it through RunCabin, shown before you pay.
Claude Code writes the files; a host puts them online. Run claude mcp add --transport http runcabin https://runcabin.com/mcp, then /mcp to sign in once, and ask Claude Code to publish the site. It publishes through RunCabin and replies with the live https address.
Yes, as a custom MCP server. In ChatGPT on the web, open Settings and find where apps or connectors are added (it has been called Apps, Apps & Connectors and Plugins; turn on Developer mode first if it asks). Add a custom MCP server named RunCabin with https://runcabin.com/mcp as the server URL, choose OAuth and sign in. ChatGPT can then publish and update the site, and it hands you a checkout link for anything paid. The owner's walkthrough: put your website online from ChatGPT.
You can add RunCabin to Muse as a custom connector, the route Meta's help describes. In a chat with Muse, ask it to create a custom connector for RunCabin with the server address https://runcabin.com/mcp, then sign in on RunCabin's page and approve it; your first sign-in creates your free account. Meta doesn't review custom connectors. In Muse's Settings you choose whether to approve each action it takes, and RunCabin never charges you through Muse: anything paid is a checkout link you open, review and pay yourself. Muse is available in the US and Canada to adults 18 and over. Full steps: our guide to putting your website online from Muse.
Yes. The site is plain HTML, CSS and JavaScript. Your agent can read back every file of the live publish with cabin_get_site and cabin_get_file, and uploaded images and fonts stay downloadable at their addresses on your site, so you can keep a copy and host it elsewhere. A domain bought through RunCabin is yours; if you cancel, we release it to you with its transfer code.
Both. The REST API at https://runcabin.com/v1 takes an API key and covers sites, publishing, domains, hosting subscriptions, forms, email forwarding, TXT records, the build guide and prices. Previews, promote, rollback, reading files back, site health, images and fonts, and deleting a site are MCP tools today.
Static sites: HTML, CSS, JavaScript and other text files, up to 200 files and 10 MB per publish, with images and fonts added from a public https link through the MCP server. Single-page apps work. Server-side code, PHP, build steps and databases are not part of this plan.
It can check a domain's availability and price for free, then start an order with a checkout for exactly that domain and hosting plan; once you pay, registration, DNS and HTTPS are set up automatically, and the agent can follow the order until the domain is live. On a domain bought through RunCabin it can also forward an address like hello@yourdomain to your inbox and add TXT records, at no extra charge. For a domain you already own, you add the records it gives you at your provider. Want a full mailbox at your domain that sends as well as receives, such as Google Workspace? We set that up for you for an additional fee: ask your agent to send us the request, or email hello@runcabin.com.
Further reading: is it safe to let an AI agent update your website? · put your website online from ChatGPT · put your website online from Claude · put your website online from Muse · publish a website from Claude · manage your website with AI · what an AI-editable website is · llms.txt
Questions: hello@runcabin.com. Security reports: security.txt. Privacy · Who runs RunCabin
The server address is https://runcabin.com/mcp. Sign-in happens in your browser, and the free address costs nothing.
Would you rather we build the whole site for you? See done-for-you websites →