_ registry / mcp streamable-http · checked 32m ago

boathouse

https://mcp.boathousecloud.com

Registry code: 9839725151879560

api record

Boathouse is a small cloud: a workspace deploys folder-with-a-Dockerfile tools that become login-protected URLs (https://<tool>.<workspace domain>), shares them by email at three tiers (viewer, editor, admin), keeps their source, secrets, logs and releases, and buys domains. Every tool below acts as the workspace whose project key you send: set the header Authorization: Bearer <project key> on this MCP connection (minted on the workspace's account page, or with `bh keys create`). The server is stateless: no session id, no server-to-client stream. Anything that spends money (domain_buy, topup)…

endpoint
https://mcp.boathousecloud.com/mcp
protocol
streamable-http ·2025-03-26
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is boathouse live?
Yes — it answered the hub's last check (checked 32m ago). It answered 100% of checks over the last 30 days.
Is boathouse free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does boathouse have?
41 tools: list_tools, deploy, pull, request_access, secrets_list, secrets_set, users_list, users_add, ….
Is boathouse safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.6%

90 days 99%· all time 99%

latency
470ms

last good check

priced tools
0

of 41 tools

_ answered our checks, 90 days 495 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • deploy a dockerfile folder as a web tool
  • share a tool by email
  • buy and point a domain
  • set tool secrets
  • roll back a release
takes → gives
code, text, payments → data
tools
12 reads11 changes data2 moves money
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 41 tools
41 auth-required 41 of 41 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_tools reads auth-required 45d ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • deploy changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool",
        "files"
      ],
      "properties": {
        "base": {
          "type": "integer",
          "description": "The release number these files were pulled from. The deploy is refused with STALE_BASE if a newer release is live."
        },
        "name": {
          "type": "string",
          "description": "Human name for the tool, used when it is created (e.g. 'CRCS Finance')."
        },
        "note": {
          "type": "string",
          "description": "Why this release exists; shown in the release list."
        },
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "files": {
          "type": "object",
          "description": "The folder: relative path -> the file's text content, e.g. {\"Dockerfile\": \"FROM python:3.12-slim\\n...\", \"app.py\": \"...\"}. No leading slash and no '..' in paths.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "base64": {
          "type": "object",
          "description": "Optional binary files: relative path -> base64 of the bytes.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 43 lines
  • pull reads auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "release": {
          "type": "integer",
          "description": "Which release to fetch. Defaults to the live one."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 20 lines
  • request_access changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "target"
      ],
      "properties": {
        "tier": {
          "enum": [
            "viewer",
            "editor",
            "admin"
          ],
          "type": "string",
          "description": "Default viewer."
        },
        "target": {
          "type": "string",
          "description": "<workspace>/<tool>, for example chloe/db."
        },
        "message": {
          "type": "string",
          "description": "One line the owners see, e.g. who you are and why."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 29 lines
  • secrets_list auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • secrets_set changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool",
        "name",
        "value"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "UPPER_SNAKE_CASE environment variable name, e.g. STRIPE_KEY."
        },
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "value": {
          "type": "string",
          "description": "The secret value."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 26 lines
  • users_list reads auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • users_add changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "email"
      ],
      "properties": {
        "role": {
          "enum": [
            "member",
            "owner",
            "guest"
          ],
          "type": "string",
          "description": "Default member."
        },
        "email": {
          "type": "string",
          "description": "The person's email address."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 25 lines
  • users_invite auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "email"
      ],
      "properties": {
        "email": {
          "type": "string",
          "description": "The person's email address."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • domain_attach auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "Optional: the tool the bare domain and www should open."
        },
        "domain": {
          "type": "string",
          "description": "A full domain name you control, e.g. 'crcstools.com'."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 20 lines
  • domain_primary auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "A domain the workspace answers on."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • domain_detach auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "A domain the workspace answers on."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • usage reads auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • topup moves money auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "cents"
      ],
      "properties": {
        "cents": {
          "type": "integer",
          "description": "Amount in cents, e.g. 2000 for $20.00."
        },
        "confirm": {
          "type": "boolean",
          "description": "False or absent returns the quote and does nothing. True actually does it."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        },
        "operation_id": {
          "type": "string",
          "description": "The payment quote ID, required when confirming or retrying."
        }
      }
    }
    arguments 24 lines
  • delete_tool auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "purge": {
          "type": "boolean",
          "description": "Also destroy the tool's database and uploaded files. Irreversible."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        },
        "purge_confirm": {
          "type": "boolean",
          "description": "Must be true alongside purge, as a second confirmation."
        }
      }
    }
    arguments 24 lines
  • logs reads auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tail": {
          "type": "integer",
          "description": "How many lines from the end (default 200, max 5000)."
        },
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "since": {
          "type": "integer",
          "description": "Unix seconds: only lines after this moment."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 24 lines
  • domain_point changes data auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool to open, or an empty string to show the tool list again."
        },
        "domain": {
          "type": "string",
          "description": "A domain the workspace answers on."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 20 lines
  • billing auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • domain_renewals auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • rollback changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "to": {
          "type": "integer",
          "description": "Release number to restore. Defaults to the previous one."
        },
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 20 lines
  • unshare auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool",
        "email"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "email": {
          "type": "string",
          "description": "The person's email address."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 21 lines
  • access_requests reads auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • secrets_delete changes data auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The secret's name."
        },
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 21 lines
  • users_remove auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "email"
      ],
      "properties": {
        "email": {
          "type": "string",
          "description": "The person's email address."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • domains_list reads auth-required 45d ago

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

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • domain_buy moves money auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "The domain to buy, e.g. 'crcstools.com'."
        },
        "confirm": {
          "type": "boolean",
          "description": "False or absent returns the quote and does nothing. True actually does it."
        },
        "quote_id": {
          "type": "string",
          "description": "The quote_id from the dry run. Required to confirm; reuse it on retries."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        },
        "max_cost_cents": {
          "type": "integer",
          "minimum": 1,
          "description": "Maximum approved total, including Boathouse's margin. Required to confirm."
        }
      }
    }
    arguments 29 lines
  • domain_dns reads auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "A domain the workspace answers on."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • prices auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • referral auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • card_link reads auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • whoami auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 10 lines
  • releases reads auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • restart auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • share changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool",
        "email"
      ],
      "properties": {
        "tier": {
          "enum": [
            "viewer",
            "editor",
            "admin"
          ],
          "type": "string",
          "description": "viewer, editor or admin. Default viewer."
        },
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "email": {
          "type": "string",
          "description": "The person's email address."
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional app-specific words passed to the tool as headers (e.g. ['consultant']). Labels are not permissions."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 37 lines
  • set_access auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool",
        "mode"
      ],
      "properties": {
        "mode": {
          "enum": [
            "members",
            "listed",
            "public"
          ],
          "type": "string",
          "description": "members (anyone in the workspace), listed (only people shared with), or public (anyone on the internet may read; writes still need sign-in)."
        },
        "tier": {
          "enum": [
            "viewer",
            "editor",
            "admin"
          ],
          "type": "string",
          "description": "The tier workspace members get when mode is 'members'."
        },
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 35 lines
  • domain_check reads auth-required 35d ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "A full domain name, e.g. 'crcstools.com'."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • domain_renewal_set changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain",
        "enabled"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "A domain owned through this organization, including detached domains."
        },
        "confirm": {
          "type": "boolean",
          "description": "False or absent returns the quote and does nothing. True actually does it."
        },
        "enabled": {
          "type": "boolean",
          "description": "True renews from prepaid credit; false lets the domain expire."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        },
        "max_cost_cents": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Approved maximum per renewal including the service fee; required when enabling."
        }
      }
    }
    arguments 31 lines
  • domain_repoint changes data auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "domain"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "description": "A domain the workspace answers on."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • capacity reads auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "confirm": {
          "type": "boolean",
          "description": "False or absent returns the quote and does nothing. True actually does it."
        },
        "quote_id": {
          "type": "string",
          "description": "The exact capacity quote the owner approved."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        },
        "storage_gb": {
          "type": "integer",
          "description": "Requested total storage in whole GB; starts with a price quote."
        },
        "max_extra_monthly_cents": {
          "type": "integer",
          "description": "Maximum extra monthly price from the approved quote, in cents."
        }
      }
    }
    arguments 32 lines
  • get_tool auth-required 35d ago

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "tool"
      ],
      "properties": {
        "tool": {
          "type": "string",
          "description": "The tool's short name, for example 'finance', or 'acme/finance' to select its workspace."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
  • allow_request changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The request id from access_requests."
        },
        "workspace": {
          "type": "string",
          "description": "Workspace slug to act in. Use this when you belong to several workspaces; whoami lists them."
        }
      }
    }
    arguments 16 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 9839725151879560.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/9839725151879560/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/9839725151879560/badge.svg)](https://brick.blue/agent/9839725151879560?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.