-
Notifications
You must be signed in to change notification settings - Fork 2
MCP Tools
OCC exposes 28 tools via Model Context Protocol (MCP). These are available in Claude Code and Claude Desktop when the MCP server is configured.
List all available chains with metadata.
Returns: Array of {name, description, version, stepCount}
Load a chain's full YAML definition.
Input: name (string) — chain name
Returns: Complete YAML content
Create a new chain from a YAML definition.
Input:
-
name(string) — chain name -
yaml(string) — full YAML content
Update an existing chain's YAML.
Input:
-
name(string) — chain name -
yaml(string) — updated YAML content
Delete a chain.
Input: name (string) — chain name
Add a new step to an existing chain.
Input:
-
chain_name(string) -
step(object) — step definition with id, type, prompt, output_var, etc. -
after(string, optional) — insert after this step ID
Update an existing step in a chain.
Input:
-
chain_name(string) -
step_id(string) -
updates(object) — fields to update
Remove a step from a chain.
Input:
-
chain_name(string) -
step_id(string)
Add a pre-tool to a step.
Input:
-
chain_name(string) -
step_id(string) -
pre_tool(object) — pre-tool definition
Remove a pre-tool from a step.
Input:
-
chain_name(string) -
step_id(string) -
inject_as(string) — the pre-tool's inject_as name
Execute a chain with given inputs. Runs asynchronously.
Input:
-
name(string) — chain name -
input(object) — key-value pairs matching chain inputs
Returns: {executionId}
Check execution status.
Input: execution_id (string)
Returns: {status, steps, durationMs, ...}
Get the final result of a completed execution.
Input: execution_id (string)
Returns: Result string or error message
List recent executions.
Returns: Array of execution summaries
Cancel a running execution. Kills active processes.
Input: execution_id (string)
List all cron schedules.
Returns: Array of schedule objects
Create a new cron schedule for a chain.
Input:
-
chain_name(string) -
cron(string) — cron expression (e.g.,"0 8 * * *") -
input(object) — chain inputs -
label(string, optional) — display name -
enabled(boolean, optional) — default true
Delete a schedule.
Input: schedule_id (string)
Enable or disable a schedule.
Input: schedule_id (string)
List all gate steps waiting for human approval.
Returns: Array of {executionId, stepId, chainName, prompt}
Approve or reject a pending gate.
Input:
-
execution_id(string) -
step_id(string) -
approved(boolean)
List all available pipelines.
Returns: Array of {name, description, version, chainCount}
Load a pipeline's YAML definition.
Input: name (string)
Execute a pipeline with given inputs.
Input:
-
name(string) -
input(object)
Returns: {executionId}
Check pipeline execution status.
Input: execution_id (string)
Once configured via .mcp.json, Claude automatically uses these tools:
User: "List all my chains"
Claude: [uses list_chains] → Shows chain list
User: "Run deep-researcher on quantum computing"
Claude: [uses run_chain] → Starts execution, polls chain_status
User: "Create a chain that reviews PRs"
Claude: [uses create_chain, add_step] → Builds chain interactively
- Getting Started — MCP configuration
- REST API — Equivalent HTTP endpoints
-
Configuration —
.mcp.jsonsetup