MCP server
Connect any MCP client and drive Floom with 58 tools.
Overview
Floom is a Model Context Protocol (MCP) server. Point any MCP client — Claude Code, Cursor, Codex, Windsurf, Continue — at Floom and your assistant can run workers, read runs, edit the company brain, manage connections, and resolve approvals, all scoped to one workspace.
The server exposes 58 tools across 11 categories. Most tools wrap a REST endpoint, so the MCP surface stays close to the REST API. Secrets and tokens are automatically redacted from tool results.
Connect a client
The CLI writes the right config for your client. Install it once, then add Floom:
Run floom login --cloud first so the server has a token. For clients that take a raw URL, point them at your workspace endpoint with a token header (see below). Verify any time with floom mcp test.
Transport & auth
Floom Cloud serves MCP over HTTP JSON-RPC at a per-workspace endpoint. Authenticate with a Bearer token — a personal/workspace API token is ideal because, unlike a session JWT, it does not expire and suits static client config.
{
"mcpServers": {
"floom": {
"url": "https://workeros-api.floom.dev/mcp/<workspace_id>",
"headers": { "Authorization": "Bearer <floom_token>" }
}
}
}- Endpoint —
POST https://workeros-api.floom.dev/mcp/{workspace_id}. The path’s workspace must match your token’s workspace. - Auth —
Authorization: Bearer <token>(API token recommended; Supabase JWT also accepted). - Self-hosted — the OSS server runs over stdio (the
floom-mcpbinary) usingx-floom-secretorx-floom-token.
floom mcp install fills in the URL, workspace, and token for you — reach for the raw config only when a client isn’t a supported target.Tool annotations
Each tool carries standard MCP hints so clients can render and gate it appropriately:
- readOnlyHint — the tool only reads (e.g.
workers.list,runs.get). - destructiveHint — the tool deletes or irreversibly changes state (e.g.
workers.delete). - idempotentHint — repeating the call with the same args is safe.
- openWorldHint — the tool reaches external systems (e.g. running a worker, testing a connection).
Tool reference
58 tools, grouped by category. Names are the registered tool names; some clients render dots as underscores when they namespace tools (e.g. workers.list → workers_list).
Workers · 16
Create, inspect, edit, version, and run workers.
workers.listList all workers in the workspace.workers.getGet one worker’s full record.idstringrequiredworkers.createCreate a worker from its source files.worker_ymlstringrequiredrun_pystringrequiredskill_mdstringworkers.updateUpdate a worker’s settings (trigger, schedule, inputs, capabilities).idstringrequiredtrigger_typestringcron_exprstringcron_timezonestringinput_valuesobjectcapabilitiesobjectwebhook_secret_rotatebooleanworkers.deleteDelete a worker.idstringrequiredworkers.runStart a manual run.idstringrequiredinputsobject{}.trigger_sourcestringmanual.workers.write_fileWrite or update worker files (must include worker.yml).idstringrequiredfilesarrayrequiredworkers.logsCross-run logs for a worker.idstringrequiredlevelstringsincestringlimitnumber200.workers.archiveArchive a worker (hidden from the active list, skips schedules).idstringrequiredworkers.restoreRestore an archived worker.idstringrequiredworkers.versionsList a worker’s versions.idstringrequiredlimitnumber50.workers.rollbackRestore a worker to a previous version.idstringrequiredversion_idstringrequiredworkers.statsRun statistics for the last 7 days.idstringrequiredworkers.timeseriesDaily run counts and status breakdown.idstringrequireddaysnumber30.workers.sample_inputExample input values for a worker.idstringrequiredworkers.reloadReload workers from disk (self-hosted only).Worker alerts · 3
Notify a webhook or email on worker events.
workers.alerts.listList a worker’s alerts.idstringrequiredworkers.alerts.createAdd an alert to a worker.idstringrequiredonstring[]requiredurlstringemail_tostring[]workers.alerts.deleteRemove a worker alert.idstringrequiredalert_idstringrequiredRuns · 5
List runs, watch them stream, cancel, and replay.
runs.listList runs.worker_idstringstatusstringlimitnumber50.offsetnumber0.runs.getGet a run’s detail (status, outputs, logs, approvals).idstringrequiredruns.watchPoll a run until it reaches a terminal status (blocks up to timeout_ms; poll runs.get for longer waits).idstringrequiredtimeout_msnumber30000.runs.cancelCancel a queued or running run.idstringrequiredruns.replayReplay a completed or failed run.worker_idstringrequiredrun_idstringrequiredApprovals · 3
Resolve runs that are paused for a human decision.
approvals.listList pending approvals.limitnumber50.approvals.approveApprove a pending run.run_idstringrequiredcommentstringapprovals.rejectReject a pending run.run_idstringrequiredcommentstringSecrets · 4
Manage encrypted credentials referenced by name.
secrets.listList secret names and status (values redacted).secrets.setCreate or update a secret.keystringrequiredvaluestringrequiredsecrets.deleteDelete a secret.keystringrequiredsecrets.testVerify a secret exists and is reachable.keystringrequiredConnections · 5
List app/MCP connections, register MCP servers, and check health.
connections.listList configured app and MCP connections.connections.add_mcpRegister a custom MCP server as a connection.labelstringrequiredtransportstringstreamable_http.urlstringcommandstringargsstring[][].envobject{}.cwdstringauth_secretstringallowed_toolsstring[][].connections.deleteRemove a connection.connection_idstringrequiredconnections.statusCheck a connection’s health/auth.connection_idstringrequiredconnections.testLive connectivity check (lists reachable tools).connection_idstringrequiredContexts (brain) · 9
Read and write the file packs workers draw on at run time.
contexts.listList context packs.contexts.readRead a context file (UTF-8 inline, or metadata + download URL for binary).namestringrequiredpathstringrequiredcontexts.writeCreate or update a UTF-8 text file.namestringrequiredpathstringrequiredcontentstringrequiredcontexts.uploadCreate or update a binary file (base64).namestringrequiredpathstringrequiredbase64_bytesstringrequiredcontexts.createCreate a context pack.namestringrequiredwriteablebooleanfalse.sensitivebooleantrue.contexts.deleteDelete a context and its files.namestringrequiredforcebooleanfalse.contexts.delete_fileDelete a single file from a context.namestringrequiredpathstringrequiredcontexts.versionsList a context’s versions.namestringrequiredlimitnumber50.contexts.rollbackRestore a context to a previous version.namestringrequiredversion_idstringrequiredWorkspace agent · 5
Talk to the workspace agent and manage its instructions.
workspace.chatSend a message to the workspace agent and get its reply + tool calls.messagestringrequiredconversation_idstringtimeout_msnumber120000.workspace.instructions.getRead the workspace agent’s system instructions.workspace.instructions.setUpdate the workspace agent’s instructions.contentstringrequiredworkspace.versionsList instruction versions.limitnumber20.workspace.rollbackRestore instructions to a previous version.version_idstringrequiredConversations · 2
Browse past workspace-agent conversations.
conversations.listList past conversations.limitnumber20.conversations.getGet a conversation’s full message history.idstringrequiredIntegrations & triggers · 2
Browse the catalog of apps, actions, and triggers.
integrations.catalogBrowse available integrations (apps, actions, triggers).triggers.listList integration triggers.worker_idstringappstringSystem · 4
Workspace-wide snapshots, stats, and platform info.
system.overviewFull dashboard snapshot (workers, runs, approvals, scheduler).system.statsAggregate workspace statistics (last 7 days).system.infoPlatform version, deployment mode, and feature flags.system.alertsActive system-wide alerts.