Tools
Tools
The server exposes 29 tools. This page is the full reference; the overview has the one-table summary.
How every tool behaves
- One result, two encodings. Every tool returns a JSON object, serialized
once and delivered both as the text content and as
structuredContent— they can never diverge. okis the contract. Success payloads carryok: true. Recoverable failures come back in-band as{ok: false, error_type, message, hint}with the MCPisErrorflag set:BadRequest(bad or missing arguments),Timeout(one engine call ran past its budget — the hint says how to recover),NotFound/TraceExpired(log tools),UnknownTool. Hard failures (lost engine connection, auth) surface as MCP protocol errors with the original message preserved.- Timeouts. Read-side engine calls are budgeted at 30 seconds; the
execution tools (
run_pipeline,run_dropper_pipe,send_data,send_files,terminate) get 120 seconds per engine call. - Per-caller identity. Tools act as the account behind your credential — your store, your deployments, your environment variables, your run logs.
- Pipelines are inline-only. Every
pipelineparameter takes the pipeline JSON itself (a{"pipeline": {...}}wrapper is auto-unwrapped). File paths are rejected — the client reads its own.pipefile and sends the contents.
Discover components
list_components
List the components ready to use right now: every engine service definition,
minus credentialed integrations that are not fully configured (call
list_integrations to see those and how to finish their
setup).
- Parameters: none.
- Returns:
{ok, components: [{name, category, summary, wiring?}], note?}.wiring(a config-path →${ENV_VAR}map) appears only for configured credentialed integrations;noteappears when unconfigured integrations were omitted.
describe_component
Return one component's full service definition — metadata, lanes, and config schema — plus a credential-readiness block when the component is a credentialed integration.
- Parameters:
name(string, required) — a component name fromlist_components. - Returns: the engine's whole service definition at top level, plus
ok: trueand, for integrations,credentials: {status, missing, candidates, wiring | setup}.
resolve_config
Show what a component config resolves to at load — the engine applies profile
and default merging, so the .pipe rarely says what the node actually
receives.
- Parameters:
provider(string, required) — a provider fromlist_components;config(object, optional) — the component's config block, omitted for pure defaults. - Returns: the resolved config the node would receive, plus
ok: true. - Notable: keys the resolver discarded (for example a key written beside
profileinstead of inside it) are reported with ahintexplaining where to move them — a silent drop a schema cannot express.
list_integrations
Report credential setup status for integrations — the discovery counterpart to
list_components, which hides unready ones. Only integrations with a matching
node on the connected engine are listed.
- Parameters:
name(string, optional) — request full field detail for one integration. - Returns (bare call):
{ok, integrations: [{name, title, status, missing_count}], note}with status one ofconfigured,available(needs setup — no matching variables found), orunconfirmed(candidate variables found for you to confirm, or the variable read failed). - Returns (with
name):{ok, name, title, fields, caller_variables, status, missing, candidates, wiring | setup}—setupcarries the suggested variable names, instructions to relay to the user, and a docs link. - Notable: only environment-variable names are read and reported —
values never transit MCP. Wiring values are emitted as
${VAR}placeholder strings for use in a pipeline config.
Author pipelines
validate_pipeline
Validate an inline pipeline with the engine's own validator — the same rules
use() applies, so there is no client-side drift — plus one check the engine's
pipeline path does not cover: every component must name a provider the engine
has a service for.
- Parameters:
pipeline(object, required). - Returns:
{ok, errors: [], warnings: []}—okis true only when there are no errors.
describe_pipeline
Statically parse an inline pipeline into its components, enriched with a best-effort engine lookup per provider (title, category).
- Parameters:
pipeline(object, required). - Returns:
{ok, source, components: [{id, provider, title, classType, inputs}]}. - Notable: lookups share one 30-second budget; providers the engine cannot resolve fall back to the pipeline's own metadata instead of failing the parse.
scaffold_node
Emit a local node skeleton that loads on the first try, with the manifest keys and file layout the engine requires. It returns files to write — it writes nothing itself.
- Parameters:
name(string, required) — a lowercase Python identifier;lane_in(string, optional, defaulttext);lane_out(string, optional, defaults tolane_in);class_type(string, optional, defaults tolane_in). - Returns:
{ok, name, provider, files, next_steps}—filesmapslocal_nodes/<name>/...paths to file contents. - Notable: lanes and
class_typeare validated against the connected engine's live catalog, so the allowed sets never drift from what is actually in service.
save_template
Save an inline pipeline as a reusable template under an id (stored in your
account file store at .templates/<id>.json).
- Parameters:
template_id(string, required);pipeline(object, required). - Returns:
{ok, template_id}.
load_template
Load a previously saved pipeline template.
- Parameters:
template_id(string, required). - Returns:
{ok, template_id, pipeline}.
Run pipelines
The three start/send tools share these optional start parameters: ttl
(integer — task TTL in seconds, 0 = no timeout), use_existing (boolean —
reuse an already-running task), source (string — source label), threads
(integer), and pipelineTraceLevel (none | metadata | summary | full).
Runs default to summary tracing so the replay tools
have content.
run_pipeline
Start a pipeline from an inline definition, returning a task_token;
optionally send data in the same call and get the result back synchronously.
- Parameters:
pipeline(object, required);inputs(string, optional — data to send immediately after start); plus the shared start parameters. - Returns:
{ok, task_token, projectId, source, result?}—resultonly wheninputswas passed. KeepprojectIdandsource: they key the replay tools. - Notable: if the initial send times out, the error hint still reports the
token so you can
monitorthe task instead of losing it.
run_dropper_pipe
Start a pipeline and get two self-contained URLs for sending file bytes over a separate HTTP channel (bytes cannot ride an MCP tool call).
- Parameters:
pipeline(object, required); plus the shared start parameters (noinputs). - Returns:
{ok, task_token, upload_url, dropper_url, projectId, source}.upload_urlaccepts programmatic multipart POSTs;dropper_urlis a browser page where a person can drag and drop files into the running pipeline. - Notable: the URLs embed only the task's public key (
pk_); the control token never appears in a URL. If the pipeline has no data-ingress source, the task is cleaned up and the call fails with aBadRequestinstead of leaving an orphaned run. In MCP Apps hosts the result renders as the file-dropper widget.
send_data
Send data to a running task and return its result.
- Parameters:
task_token(string, required);input(string, required). - Returns:
{ok, result}.
send_files
Upload files to a running task by token.
- Parameters:
task_token(string, required);files(array of strings, at least one, required). - Returns:
{ok, result}— per-file upload results (status, timing, processing results). - Caution: paths are resolved on the machine the engine runs on — not
through your account file store. Against RocketRide Cloud this tool is only
useful for files the engine host can already see; to get local files into a
pipeline, use
run_dropper_pipeand itsupload_urlinstead.
terminate
Terminate a running task by token — also the way to stop a runaway run.
- Parameters:
task_token(string, required). - Returns:
{ok, terminated}.
Watch what's running
monitor
Poll a task until it reaches a terminal state or the timeout elapses, then return a status snapshot. This is bounded polling, not an event stream — it always returns within the timeout.
- Parameters:
task_token(string, required);timeout(number, optional, default 30, clamped to 0–300 seconds);interval(number, optional, default 1, minimum 0.25 seconds). - Returns:
{ok, task_token, state, state_label, completed, terminal, status, counts: {completedCount, failedCount, totalCount}, errors, warnings, polls, poll_timed_out?}. - Notable:
stateis an integer enum (0 none, 1 starting, 2 initializing, 3 running, 4 stopping, 5 completed, 6 cancelled);state_labelis the readable form. Long-lived pipelines (webhook sources) legitimately sit atrunningforever — a timeout then returns the current snapshot withterminal: false, which is not an error.
list_running_pipelines
List the running pipelines on the connected server.
- Parameters: none.
- Returns:
{ok, tasks, count}— task tokens, names, and state, ready to feedmonitor,send_data, orterminate. In MCP Apps hosts the result renders as the pipelines-table widget.
Read the file store
All four tools resolve store-relative paths on the engine, scoped to your account's file store.
store_read
Read a text file from the store.
- Parameters:
path(string, required). - Returns:
{ok, path, content}.
store_list
List the entries under a store directory.
- Parameters:
path(string, optional — defaults to the store root). - Returns:
{ok, path, listing}.
store_stat
Get metadata for a store file or directory.
- Parameters:
path(string, required). - Returns:
{ok, path, stat}— existence, type, size, modified time.
store_get_url
Get a time-limited signed download URL for a store file — the out-of-band
counterpart to store_read for large or binary files.
- Parameters:
path(string, required);expires_in(integer ≥ 1, optional, default 3600 seconds);download_name(string, optional — filename the browser saves as). - Returns:
{ok, path, url, expires_in}.
Manage deployments
deploy_add
Register an inline pipeline as a deployment, optionally on a cron schedule.
- Parameters:
pipeline(object, required);schedule(string, optional cron expression). - Returns:
{ok, deployment}. - Notable: creation is not idempotent — after a timeout, call
deploy_listbefore retrying, since the deployment may already exist.
deploy_list
List your deployments.
- Parameters: none.
- Returns:
{ok, deployments, count}.
deploy_status
Detailed status of one deployment.
- Parameters:
project_id(string, required). - Returns:
{ok, deployment}.
deploy_remove
Undeploy and remove a deployment.
- Parameters:
project_id(string, required). - Returns:
{ok, removed}.
deploy_update
Update a deployment's pipeline and/or schedule.
- Parameters:
project_id(string, required);pipeline(object, optional);schedule(string, optional — a replacement cron expression or"manual"). At least one ofpipeline/scheduleis required. - Returns:
{ok, project_id, updated}— which of the two changed.
Replay past runs
The run-log (DVR) tools are keyed by projectId + source — the values
run_pipeline/run_dropper_pipe return — never by task token, so they work
for runs that have already finished. All four accept teamId (string,
optional) to address a team's deploy continuum instead of your own dev stream.
Retention: runs are evicted after 7 days (dev) / 30 days (deploy), or earlier
under storage caps. Runs recorded with pipelineTraceLevel: 'none' still have
chapters and console output but empty traces.
log_chapters
List the recorded runs (chapters) for a pipeline — begin/end times, outcome,
and each chapter's beginSeq. Works for past and live runs.
- Parameters:
projectId,source(strings, required);teamId(string, optional). - Returns:
{ok, chapters, horizonSeq}.
log_read
Read raw run-log events, cursor-paged.
- Parameters: the key parameters;
fromSeq(integer, optional — sequence to start from);cursor(integer, optional — from a previousnextCursor);maxEvents(integer, optional, default and maximum 200);types(array of strings, optional — event-type filter, e.g.["output"]for console lines only). - Returns:
{ok, events, nextCursor, truncatedAtSeq}. - Notable: pages are additionally capped at 1 MiB.
log_traces
List per-object trace summaries — one per file or document that traveled the pipeline — for the latest run or a specific past run.
- Parameters: the key parameters;
n(integer, optional, default 20, clamped 1–100);chapterBeginSeq(integer, optional — address a specific past run by its chapterbeginSeqfromlog_chapters). - Returns:
{ok, traces, open, context, note?}—tracesare finished journeys,openare still in flight; each summary carriesbeginSeq, the permanent trace id. In MCP Apps hosts the result renders in the trace-viewer widget.
log_trace
Fetch one object's full begin-to-end journey: every component enter/leave with lane data, plus node narration.
- Parameters: the key parameters;
beginSeq(integer, required — a trace id fromlog_traces). - Returns:
{ok, beginSeq, summary, events, context}. - Errors: a trace below the retention horizon returns
{ok: false, error_type: 'TraceExpired', ...}.