MCP server

Boardwalk exposes a Model Context Protocol server, a peer to the REST API over the same auth and the same org scoping. Point any MCP-aware agent at it and the agent can deploy, manage, and trigger your workflows directly, no shell required. (If you just want your coding agent to drive the CLI, the plugins are the simpler path.)

Connect

The server is a streamable-HTTP MCP endpoint at https://api.boardwalk.sh/mcp/v1, authenticated with a bearer API key. Configure it in your client the same way you add any remote MCP server:

mcp config
{
  "mcpServers": {
    "boardwalk": {
      "url": "https://api.boardwalk.sh/mcp/v1",
      "headers": { "Authorization": "Bearer bwk_your_key_here" }
    }
  }
}

It shares the REST chain's guardrails: the same per-identity rate limit, and the same org-wide two-factor policy if your org requires it.

Choosing the org

An API key already belongs to one org, so it needs nothing more. A Clerk session token can belong to several, so name the one you mean with an X-Boardwalk-Org header:

mcp config
"headers": {
  "Authorization": "Bearer <session-token>",
  "X-Boardwalk-Org": "acme"
}

Tools

The server registers these tools, grouped by what they touch:

ToolWhat it does
list_workflows / get_workflowList the org's workflows, or fetch one with its bundled files.
create_workflow / update_workflowDeploy a single-file source or a multi-file files program (update bumps the version).
delete_workflowSoft-delete a workflow.
disable_workflow / enable_workflowPause every trigger reversibly, then resume.
trigger_nowFire a one-off run, with optional args as the trigger input and optional environment (name) to pick which environment it runs in.
create_schedule / list_schedules / delete_scheduleSchedule a run later (at) or on a recurrence (cron / rate), optionally against an environment; list and cancel schedules.
list_runs / get_runList recent runs (filter by status) or read one run's status, error, and owning workflow.
get_run_output / get_run_inputRead a run's event log (agent text, tool calls, logs, output), or the input it was triggered with.
cancel_runCancel a run that's still in progress.
list_artifacts / get_artifact_download_urlList a run's artifacts and mint a signed download URL.
list_secret_names / list_inference_providersList secret names and configured providers (never values or keys).
list_environments / list_variablesList named environments and their non-secret variables (values included; injected into a run's process.env). A run/schedule targets an environment by name.
create_environment / delete_environment / create_variable / delete_variableManage environments and non-secret variables. (Secrets stay write-only via the web UI.)
list_tools / get_balance / get_usageThe built-in tools available to agent(); the org's credit balance; and run, token, and compute usage over a window.
list_audit / revoke_api_keyRead the audit log; revoke a key (the one mutating credential op allowed).

Each tool takes the same arguments as its REST cousin: create_schedule wants exactly one of cron / rate / at; get_artifact_download_url takes an optional ttlSeconds. The MCP client surfaces each tool's full input schema.

What it won't do

Credential-creating operations, writing a secret, minting an API key, wiring an inference provider, are intentionally not available over MCP (or any API key). They are present as explicitly-blocked stubs that point you at the dashboard, because they require a logged-in session, so a token can never escalate its own reach. See Authentication for the same boundary on REST.