Boat House

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.

Overview

AI-generated overview

Boat House lets an assistant deploy, share and manage small web apps on Boathouse managed hosting, with login, databases, domains and billing.

What you can do
Inspect the workspace: identify the account and balance, list tools with their state and releases, and read container logs and resource usage. Deploy and update apps: publish a folder with a Dockerfile, fetch a release's source, roll back, restart, and review release history. Share and control access: grant viewer, editor or admin tiers by email, handle access requests, and set default visibility. Manage secrets: list, set and delete per-tool secrets injected as environment variables. Manage domains: check availability and price, buy, attach, point, renew, repoint DNS and detach. Handle workspace members and money: add, invite or remove users, read billing and prices, top up credit and link,
When to use it
Use it when you build small apps with an AI agent and want them live at an HTTPS address with sign-in, a database and email-based sharing without setting up separate hosting, database or auth projects. Also useful for teams that need versioned deploys, rollbacks and domain management from the same assistant.
Requirements
A remote MCP endpoint reached over streamable HTTP, with a required bearer token in the Authorization header: the Boat House account key from the account page's advanced MCP settings. A Boathouse account with a confirmed email and prepaid credit before deploying. Domain purchase and card entry go through Stripe and a browser.
Before you install
The Authorization header carries an account key that grants workspace control; keep it private. Many tools change state: deploy replaces the running container, rollback, restart, share and unshare, user removal, secret set and delete, and domain changes. Domain purchase, renewal limits, capacity and top-up spend the prepaid balance; top-up opens Stripe checkout and card_link requires a browser. Secrets are injected into tool containers; values are never returned, so do not echo them.

Installation

In SourceWeft

  1. Open Boat House in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

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.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "boat-house": {
      "type": "http",
      "url": "https://mcp.boathousecloud.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Boat House

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.

Self-hostManaged hosting
SoftwareFree under Apache 2.0Same open-source foundation
Infrastructure and operationsYou provide and maintain themBoat House operates them
PriceYour server, domain and provider costs$10 per organization per month for up to five lightweight tools; domain purchases are separate
Getting startedSelf-hosting guideSign up, confirm email, copy the connection into your agent

What is included

  • A FastAPI control plane and Caddy HTTPS gateway.
  • Account sign-in, email invitations, per-tool Viewer / Editor / Admin access, and signed identity passed to apps.
  • Per-tool PostgreSQL databases, persistent file volumes, container resource limits, and saved source releases.
  • Deployment, source checkout, updates, rollback, export, and backup/restore commands.
  • The bh CLI, an MCP endpoint, and an agent skill for Claude Code, Codex and other compatible agents.
  • Optional email, domain registration, and prepaid billing integrations. Self-hosters configure their own providers; metering can be disabled.

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.

Start with managed hosting

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:

sh
npx skills add allenzhangyiteng/boathouse-skills

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:

sh
bh init my-app --template teamcd my-apppython3 app.py --local

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.

Run your own installation

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.

Development

Python 3.12 is used by the container image. In a virtual environment:

sh
python -m pip install -r control/requirements.txt -r requirements-dev.txtpython -m pytest -qpython scripts/check_public_tree.py

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.

Repository layout

PathPurpose
control/app/API, account UI, gateway authorization, deployment and providers
control/site/Public-site source and static assets
cli/bhStandard-library Python CLI
skill/boathouse/Agent instructions
caddy/, docker-compose.ymlGateway and services
deploy/Host installation, synchronization and backup scripts
examples/hello/Minimal app that checks signed identity
tests/Regression tests with synthetic data

Contributions are welcome; see CONTRIBUTING.md. Report vulnerabilities using SECURITY.md.

Source: README.md at commit d3e4562

Tools

41

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.

Parametersworkspace

list_tools

Every 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.

Parametersworkspace

get_tool

One tool in detail: URL, container state, current release, who it is visible to, and the list of people it has been shared with.

Parameterstoolrequiredworkspace

deploy

Deploy 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.

Parametersbasenamenotetoolrequiredfilesrequiredbase64workspace

pull

Fetch 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.

Parameterstoolrequiredreleaseworkspace

logs

The tool container's recent log lines, newest last. Use this to find out why a tool is failing.

Parameterstailtoolrequiredsinceworkspace

releases

The 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.

Parameterstoolrequiredworkspace

rollback

Put 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.

Parameterstotoolrequiredworkspace

restart

Restart the tool's container with its current release and current secrets.

Parameterstoolrequiredworkspace

share

Give 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.

Parameterstiertoolrequiredemailrequiredlabelsworkspace

unshare

Take away one person's access to one tool. They keep their workspace account.

Parameterstoolrequiredemailrequiredworkspace

request_access

Ask 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.

Parameterstiertargetrequiredmessageworkspace

access_requests

Everyone waiting to be let into one of this workspace's tools: request id, email, tier asked for, and their message. Owners and tool admins.

Parametersworkspace

allow_request

Let 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.

Parametersidrequiredworkspace

set_access

Set 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.

Parametersmoderequiredtiertoolrequiredworkspace

secrets_list

The names of a tool's secrets (API keys and the like), when each was last set and by whom. Values are never returned.

Parameterstoolrequiredworkspace

secrets_set

Set 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.

Parametersnamerequiredtoolrequiredvaluerequiredworkspace

secrets_delete

Remove one secret from a tool. It disappears on the tool's next restart or deploy.

Parametersnamerequiredtoolrequiredworkspace

users_list

Everyone in the workspace: role (owner, member or guest), name, and whether they have set a password yet.

Parametersworkspace

users_add

Add 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.

Parametersroleemailrequiredworkspace

users_invite

Resend 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.

Parametersemailrequiredworkspace

users_remove

Remove a person from the workspace. Their sessions, project keys, invites and tool grants stop working immediately. Owners only.

Parametersemailrequiredworkspace

domains_list

The addresses this workspace answers on: the free <workspace>.boathousecloud.com address, the primary domain, and every custom domain with its DNS state.

Parametersworkspace

domain_check

Ask 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.

Parametersdomainrequiredworkspace

domain_buy

Buy 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.

Parametersdomainrequiredconfirmquote_idworkspacemax_cost_cents

domain_renewals

Read domain expiry dates, renewal status, spending limits and billing problems. Owners only.

Parametersworkspace

domain_renewal_set

Set 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.

Parametersdomainrequiredconfirmenabledrequiredworkspacemax_cost_cents

domain_attach

Bring 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.

Parameterstooldomainrequiredworkspace

domain_point

Make a domain (and its www) open one tool instead of the workspace's tool list. An empty tool clears it. Owners only.

Parameterstooldomainrequiredworkspace

domain_primary

Make one of the workspace's domains the primary one: the address tool URLs and emails use. Owners only.

Parametersdomainrequiredworkspace

domain_dns

The DNS records the registrar currently holds for a domain Boathouse bought or manages. Changes nothing.

Parametersdomainrequiredworkspace

domain_repoint

Rewrite a Boathouse-managed domain's DNS records to point at this Boathouse again (after a move, or if someone changed them). Owners only.

Parametersdomainrequiredworkspace

domain_detach

Stop serving a domain. The registration itself is untouched and domain_attach brings it back. Owners only.

Parametersdomainrequiredworkspace

usage

Check storage, memory, CPU and the reason an app is paused. Tool admins only.

Parameterstoolrequiredworkspace

capacity

Quote additional app storage. Show the maximum extra monthly price and get owner approval before confirming. No automatic upgrade. Owners only.

Parameterstoolrequiredconfirmquote_idworkspacestorage_gbmax_extra_monthly_cents

billing

The 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.

Parametersworkspace

prices

What Boathouse charges, in plain words: one organization plan for up to five lightweight tools, shared limits, storage, and the domain margin.

Parametersworkspace

referral

This 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).

Parametersworkspace

topup

Open 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.

Parameterscentsrequiredconfirmworkspaceoperation_id

delete_tool

Delete 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.

Parameterstoolrequiredpurgeworkspacepurge_confirm

Version history

1
  1. v1.0.0LatestSep 18, 2026

Score

100% 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.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts