whoami
Who this project key belongs to: the email, the workspace, the domain its tools live on, and the prepaid balance. Call it first if you are not sure which workspace you are acting in.
workspace
com.boathousecloudPublished by boathousecloud.comOfficial publisherv1.0.0Updated Oct 24, 2026
Deploy and share small apps with team login, persistent data, versioned updates and domains.
Boat House lets an assistant deploy, share and manage small web apps on Boathouse managed hosting, with login, databases, domains and billing.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.boathousecloud%2Fboathouse/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"boat-house": {
"type": "http",
"url": "https://mcp.boathousecloud.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}Open-source infrastructure for small software built with AI agents.
Boat House gives a tool a live HTTPS address, sign-in, a database, persistent files, and sharing by email. Editors use the app in a browser. Developers with Admin access can use their own agents to fetch its source and publish versioned updates to the same address.
The software is licensed under Apache 2.0. You can run it on your own infrastructure or use Boat House managed hosting.
bh CLI, an MCP endpoint, and an agent skill for Claude Code, Codex and other compatible agents.Admin is full control of a tool, including its source, secrets, sharing and deletion. Software collaboration uses source checkout and versioned publication. App code enforces its own record-level access rules.
Create an account at boathousecloud.com, confirm your email, then choose Copy connection and paste the message into your coding agent. Ask it to put a tool online or share it by email. Add credit before deploying. No separate hosting, database or sign-in project is needed.
Install the agent skill in Cursor, Codex or Windsurf:
For Claude Code, add /plugin marketplace add allenzhangyiteng/boathouse-skills, then /plugin install boathouse@boathouse. See the skill and plugin repository and installation guide.
The CLI can create a working app before you connect an account:
Use --template static for an HTML website. boathouse is an alias installed alongside bh when available. The starter format is ordinary source plus boathouse.json; no proprietary runtime is needed. See the runnable guides, llms.txt and complete agent docs.
See the self-hosting guide for a Linux host with Docker, DNS and HTTPS. The public release contains no accounts, credentials, database snapshots, hosted customer tools or production configuration. All examples use placeholders; generate your own secrets.
This is infrastructure for trusted teams and trusted app builders. The control plane manages the host Docker daemon. Resource limits and container networks do not make it a secure sandbox for hostile code. Read the security model before exposing an installation.
Python 3.12 is used by the container image. In a virtual environment:
Tests create temporary local state and use fake providers. Do not point tests at production credentials or state. CI runs the tests, publication hygiene checks, and Gitleaks.
Contributions are welcome; see CONTRIBUTING.md. Report vulnerabilities using SECURITY.md.
Source: README.md at commit d3e4562
Who this project key belongs to: the email, the workspace, the domain its tools live on, and the prepaid balance. Call it first if you are not sure which workspace you are acting in.
workspaceEvery tool in the workspace with its state (running/absent), current release, public URL and who can see it. A 'tool' is one small web app Boathouse runs behind the workspace login.
workspaceOne tool in detail: URL, container state, current release, who it is visible to, and the list of people it has been shared with.
toolrequiredworkspaceDeploy a folder as a tool and make it live at https://<tool>.<workspace domain>. Send the whole folder in `files`, which MUST include a top-level Dockerfile whose process listens on $PORT (8080). Creates the tool on the first deploy; afterwards it replaces the running container. If you got these files from `pull`, pass the release number you pulled as `base` so a deploy someone else made in the meantime is not silently overwritten.
basenamenotetoolrequiredfilesrequiredbase64workspaceFetch the exact source folder a release was built from, so you can edit it and deploy it back. Returns the release number and the files as text (binary files come back base64 encoded). Tool admins only.
toolrequiredreleaseworkspaceThe tool container's recent log lines, newest last. Use this to find out why a tool is failing.
tailtoolrequiredsinceworkspaceThe last 20 releases of a tool: number, status (live/superseded/failed), when, who and the note. A failed release shows the last line of its build log.
toolrequiredworkspacePut an earlier release back in service. With no `to`, goes back to the release before the live one. This rolls back the software, never the database.
totoolrequiredworkspaceRestart the tool's container with its current release and current secrets.
toolrequiredworkspaceGive one person access to one tool by email, at a tier: viewer (read only; the gateway blocks their writes), editor (may change the data), admin (may change the software, secrets, sharing). If the person is new, Boat House emails a secure invitation when email is configured. Check emailed in the result; if delivery failed, share the invitation page so the person can request their secure email.
tiertoolrequiredemailrequiredlabelsworkspaceTake away one person's access to one tool. They keep their workspace account.
toolrequiredemailrequiredworkspaceAsk to be let into a tool in someone else's workspace, at viewer, editor or admin. Its owners get an email with one Allow button; nobody there runs a command. The person is emailed when it is allowed.
tiertargetrequiredmessageworkspaceEveryone waiting to be let into one of this workspace's tools: request id, email, tier asked for, and their message. Owners and tool admins.
workspaceLet a waiting person in at the tier they asked for. Their tool grant is made and they get an email saying what to do next. Owners and tool admins.
idrequiredworkspaceSet who a tool is open to by default: 'members' means anyone in the workspace (at the given tier), 'listed' means only the people it has been explicitly shared with. Use 'listed' for anything sensitive.
moderequiredtiertoolrequiredworkspaceThe names of a tool's secrets (API keys and the like), when each was last set and by whom. Values are never returned.
toolrequiredworkspaceSet one secret on a tool. It is injected as an environment variable of that name and the tool is restarted. Names are UPPER_SNAKE_CASE. Never echo the value back to the user.
namerequiredtoolrequiredvaluerequiredworkspaceRemove one secret from a tool. It disappears on the tool's next restart or deploy.
namerequiredtoolrequiredworkspaceEveryone in the workspace: role (owner, member or guest), name, and whether they have set a password yet.
workspaceAdd a person to the workspace, or change their role. owner = may spend money, buy domains and manage people, and is admin on every tool; member = may see tools open to members and deploy their own; guest = sees only what is explicitly shared with them. Returns a one-time invite link for someone new. Owners only.
roleemailrequiredworkspaceResend an invitation to someone in the workspace. New accounts confirm their mailbox through the emailed link; established accounts receive a normal sign-in URL. Password recovery is self-service on that page, and only the account holder's mailbox receives a reset link. Check emailed before offering a fallback.
emailrequiredworkspaceRemove a person from the workspace. Their sessions, project keys, invites and tool grants stop working immediately. Owners only.
emailrequiredworkspaceThe addresses this workspace answers on: the free <workspace>.boathousecloud.com address, the primary domain, and every custom domain with its DNS state.
workspaceAsk the registrar whether a domain is free and what it costs per year. Buys nothing. total_cents is the price the workspace pays (registrar_cents plus Boathouse's margin_cents); show that one.
domainrequiredworkspaceBuy a domain through Boathouse's registrar and point it at this box, paid from the workspace's prepaid balance. Without confirm it only returns the quote (cost now, renewal price, your balance) and buys nothing. Owners only.
domainrequiredconfirmquote_idworkspacemax_cost_centsRead domain expiry dates, renewal status, spending limits and billing problems. Owners only.
workspaceSet automatic renewal and a maximum prepaid renewal charge. Quote the change first, then require explicit approval with confirm true. Turning renewal off lets the domain expire. Owners only.
domainrequiredconfirmenabledrequiredworkspacemax_cost_centsBring a domain the workspace already owns elsewhere: Boathouse starts answering on it and returns the DNS records to make at the current DNS host. Optionally point it at one tool at the same time. Owners only.
tooldomainrequiredworkspaceMake a domain (and its www) open one tool instead of the workspace's tool list. An empty tool clears it. Owners only.
tooldomainrequiredworkspaceMake one of the workspace's domains the primary one: the address tool URLs and emails use. Owners only.
domainrequiredworkspaceThe DNS records the registrar currently holds for a domain Boathouse bought or manages. Changes nothing.
domainrequiredworkspaceRewrite a Boathouse-managed domain's DNS records to point at this Boathouse again (after a move, or if someone changed them). Owners only.
domainrequiredworkspaceStop serving a domain. The registration itself is untouched and domain_attach brings it back. Owners only.
domainrequiredworkspaceCheck storage, memory, CPU and the reason an app is paused. Tool admins only.
toolrequiredworkspaceQuote additional app storage. Show the maximum extra monthly price and get owner approval before confirming. No automatic upgrade. Owners only.
toolrequiredconfirmquote_idworkspacestorage_gbmax_extra_monthly_centsThe workspace's money: prepaid balance, whether it is paused, how fast running tools burn credit, how many days are left, whether a card is on file, and the last ledger lines.
workspaceWhat Boathouse charges, in plain words: one organization plan for up to five lightweight tools, shared limits, storage, and the domain margin.
workspaceThis person's referral code and link, the deal in words, and what each referred workspace has earned them so far (10% of usage charges, paid monthly in cash).
workspaceOpen secure Stripe checkout to add prepaid hosting credit; the owner completes payment there. Without confirm it only quotes and returns operation_id. Confirm the same cents and operation_id after user approval; reuse the ID on retries. Between $5.00 (500) and $1,000.00 (100000). Owners only.
centsrequiredconfirmworkspaceoperation_idA one-time link where a workspace owner types a card into Stripe. This is the only part of Boathouse that needs a browser. Owners only.
workspaceDelete a tool: its container, its releases and its sharing. By default the tool's database and files are kept. purge true also destroys them forever, and then requires purge_confirm true as well.
toolrequiredpurgeworkspacepurge_confirm100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
npx skills add allenzhangyiteng/boathouse-skillsbh init my-app --template teamcd my-apppython3 app.py --localpython -m pip install -r control/requirements.txt -r requirements-dev.txtpython -m pytest -qpython scripts/check_public_tree.py