Skip to main content

MCP tools and limits

Every tool the TaskJuice MCP server exposes, its arguments, its errors, and the per-plan call budgets.

The server exposes at most 16 tools per connection: the fixed tools below, plus one taskjuice_<workflow-slug> tool per workflow you have exposed, newest first.

Run tools

Available to sign-in connections and API keys.

ToolArgumentsReturns
list_workflowsstatus?, query?, limit? (≤ 50)Runnable workflows with slug, name, description, and a one-line input summary. query matches the name; status: "draft" requires authoring access.
describe_workflowworkflowSlugThe full input schema (derived from the trigger, or a permissive fallback marked inputSchemaSource: "fallback"), description, and activation time.
run_workflowworkflowSlug, input?, idempotencyKey?Waits up to 25 seconds. A finished run returns its output; a longer run returns {status: "running", runId} — follow up with get_run.
get_runrunIdRun status, per-step progress, and — once completed — the output.
list_runsworkflowSlug?, status?, limit? (≤ 50)Recent runs, newest first.
taskjuice_<slug>The workflow's own input fieldsSame behavior as run_workflow for that one workflow — a convenience the agent can pick by name.

Details worth knowing:

  • input is the trigger payload. Whatever the agent passes arrives at the workflow exactly as a webhook body would. describe_workflow shows the expected shape.
  • idempotencyKey prevents double runs. The same key from the same connection within 24 hours returns the original run instead of dispatching again. Use it whenever an agent might retry.
  • Outputs are capped at 256 KB. Larger outputs come back truncated with outputTruncated: true; the full result stays in the run detail view.
  • Two workflows with the same name get distinct slugs suffixed with the workflow id's first 8 characters, so tool names never collide.

Authoring tools

Available only to sign-in connections on a workspace URL, on plans that include authoring.

ToolArgumentsReturns
create_workflow_draftname, description?A new empty draft: ids, the draft's graph hash, and an editor link.
get_draftworkflowIdThe draft graph, its hash (the base for propose_changes), validation state, unconnected apps, and the editor link.
propose_changesworkflowId, changeSet, baseGraphHash?Applies a change-set all-or-nothing. Rejections list every violation; success persists and returns the new graph hash.
validate_draftworkflowIdJudges the draft against the same gate the in-app drafter uses: green with any apps still needing connections, or the blocker.
describe_nodecanonicalOne node's configuration schema. An unknown canonical returns found: false with a ground_apps hint — not an error.
ground_appsappSlugs (≤ 10)Loads app catalogs for proposing nodes, with per-app connection status. Unknown slugs come back in unknownSlugs.
preview_mappingexpression, sampleOutput, bindings?Evaluates a JSONata mapping against sample data and returns the output plus warnings.

Two rules hold everywhere: agents propose, the platform validates — an invalid change never persists — and connecting accounts or publishing always happens in the app, from the editor link the draft carries.

Errors

Every tool failure is a structured result with a code, a message, a retryable flag, and usually a hint naming the fix.

CodeMeaningRetry?
invalid-argumentsAn argument failed validation; the message names the field.Yes, corrected
not-foundNo such workflow, run, or draft in this connection's scope.No
entitlement-deniedThe tool isn't available to this connection (plan, key capability, scope).No
rate-limitedAn hourly bound or the daily budget was hit.Yes, after the hint's backoff
run-refusedThe platform declined to start the run (limits, safety, disabled workflow).Not this session
proposal-rejectedThe change-set violated the workflow schema; every violation is listed.Yes, corrected
stale-draftThe draft changed since the hash you proposed against.Yes — re-read with get_draft and rebase
compile-refusedvalidate_draft found a blocker; the message names it.Yes, after repairing the draft
payload-too-largeTool arguments exceeded 256 KB.Yes, smaller

Limits

Tool calls are counted per account per day, shared across every connection and key — adding credentials never adds budget.

PlanTool calls per day
Starter1,000
Growth5,000
Scale20,000

On top of the daily budget, hourly bounds protect against runaways: 10,000 calls per account, and per-credential class caps (3,000 reads, 600 runs, 600 authoring calls, 300 mapping previews). An API key's optional daily call cap bounds that key's share of the account budget — it lowers what one key can spend, never raises the total.

Authoring availability by plan: Starter includes run tools only; Growth and Scale include authoring.

Workflow runs started through MCP are normal runs — they appear in run history and count toward your plan's usage like any other run.

Next steps

Was this helpful?