Brod

Your agent built it. Brod puts it online for your team.

Brod is a cloud for small software: the tools you build with an AI agent for yourself or your team. One step from code to a private address, with sign-in, roles and storage already there.

Or connect your agent now: https://brod.sh/mcp
Where do I paste it? Steps for Claude, Cursor, VS Code and others

Claude Code

  1. In a terminal, run claude mcp add --transport http brod https://brod.sh/mcp
  2. Start claude, type /mcp, choose brod and sign in when the browser opens.

Claude (web and desktop app)

  1. Open Settings, then Connectors, then Add custom connector.
  2. Name it Brod, paste https://brod.sh/mcp as the URL, and add it.
  3. Press Connect and sign in when the browser opens.

Cursor

  1. Open ~/.cursor/mcp.json (or Settings, then MCP, then Add new MCP server) and add:
    { "mcpServers": { "brod": { "url": "https://brod.sh/mcp" } } }
  2. Brod shows up in the MCP list; press Connect and sign in when the browser opens.

VS Code

  1. Create .vscode/mcp.json in your project with:
    { "servers": { "brod": { "type": "http", "url": "https://brod.sh/mcp" } } }
  2. Press Start above the entry, sign in when the browser opens, and use Brod in Copilot's agent mode.

Any other agent

  1. Add a remote MCP server over HTTP with the address https://brod.sh/mcp.
  2. When the browser opens, sign in with your email and pick the workspace the agent may use.
  3. No browser sign-in in your agent? Make a token on your workspace's Connections page and send it as Authorization: Bearer brod_…

Then ask: “Put this online with Brod.”

Any agent that speaks MCPExample

Put the shift swap tool online for the warehouse team.

get_workspaceReads your groups and roles, so the app fits without being told.
deploy_appShift swap, version 1. Live in seconds.
https://shift-swap.harborops.brod.sh
Private. Only you can open it. Sharing waits for you
The agent asked to share it with everyone in Harbor Ops.

From a chat to your team in four moves

Building small tools got easy. Putting them somewhere safe, with the right people signed in, did not. Brod is the missing step.

  1. Connect once

    Add Brod to your agent as an MCP server. It works with any agent that speaks MCP. Setup steps for your agent.

  2. Ask

    “Put this online for the team.” The agent reads your workspace first, then deploys what it built.

  3. Get an address

    The app is live on HTTPS at its own address, and private to you until you say otherwise.

  4. Share with a click

    The agent proposes who gets in. You confirm. Teammates sign in once and find it on the workspace home page.

What every app gets without asking

No regions, instance sizes, access policies or login code. The parts every small tool needs are already attached.

Sign-in
People sign in with an emailed link. Your app never sees a password and keeps no user table.
GET /_brod/me
Roles and groups
Owner, editor and viewer by default. Define groups once in the workspace and every app uses them.
x-brod-role
A database
Each app has its own SQLite database, with transactions.
env.DB.query(sql, params)
Key-value and files
Small values and uploaded files, stored per app.
env.KV   env.FILES
Secrets
Write-only. Nobody can read one back after it is set, the agent included.
set_secret
Versions and rollback
Every deploy is kept. Rolling back takes effect on the next request and rebuilds nothing.
rollback
A safe deploy
A version whose server code does not start is refused, and the working version stays live.
deploy_app
Logs
Console output and errors for recent requests, kept seven days, searchable by the agent that is fixing the bug.
get_logs

One workspace, one sign-in, every app

A workspace holds your team's people, groups and apps. Add a colleague to a group and they have the right access everywhere. Remove them and it ends everywhere.

  1. Private

    Only the app's owner and workspace admins.

  2. People

    Only the people and groups you give a role.

  3. Workspace

    Everyone in your workspace.

  4. Signed in

    Anyone who signs in.

  5. Public

    Anyone, with no sign-in.

An agent cannot open an app up by itself. Narrowing access applies at once. Widening it, or inviting someone, waits for a person to confirm.

An app is a folder. Server code is one file.

Static files are served as they are. Add a _worker.js and it answers every other request, with the signed-in person in the headers and the app's storage on env.

Your agent already knows this. Brod tells it when it connects.

// _worker.js
export default {
  async fetch(request, env) {
    const role = request.headers.get('x-brod-role');
    if (role !== 'editor' && role !== 'owner')
      return new Response('Ask an editor', { status: 403 });

    const open = await env.DB.query(
      'SELECT * FROM swaps WHERE status = ?', ['open']);
    return Response.json(open);
  }
};

Free to start. A plan, never a bill per app.

Brod is priced as a plan for a workspace, with room for a number of apps and people. Deploying inside it never adds a charge.

Free
  • 10 running apps. Paused apps do not count.
  • 10 people in the workspace
  • 250 MB of storage
  • Sign-in, roles, database, secrets, rollback and logs
Start free

The next tool your agent builds can be in front of your team today.

Start free