Skip to content

MCP Tools

lacause edited this page Mar 30, 2026 · 2 revisions

MCP Tools Reference

OCC exposes 28 tools via Model Context Protocol (MCP). These are available in Claude Code and Claude Desktop when the MCP server is configured.

Chain Management

list_chains

List all available chains with metadata.

Returns: Array of {name, description, version, stepCount}

get_chain

Load a chain's full YAML definition.

Input: name (string) — chain name

Returns: Complete YAML content

create_chain

Create a new chain from a YAML definition.

Input:

  • name (string) — chain name
  • yaml (string) — full YAML content

update_chain

Update an existing chain's YAML.

Input:

  • name (string) — chain name
  • yaml (string) — updated YAML content

delete_chain

Delete a chain.

Input: name (string) — chain name


Step Editing

add_step

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_step

Update an existing step in a chain.

Input:

  • chain_name (string)
  • step_id (string)
  • updates (object) — fields to update

remove_step

Remove a step from a chain.

Input:

  • chain_name (string)
  • step_id (string)

add_pre_tool

Add a pre-tool to a step.

Input:

  • chain_name (string)
  • step_id (string)
  • pre_tool (object) — pre-tool definition

remove_pre_tool

Remove a pre-tool from a step.

Input:

  • chain_name (string)
  • step_id (string)
  • inject_as (string) — the pre-tool's inject_as name

Execution

run_chain

Execute a chain with given inputs. Runs asynchronously.

Input:

  • name (string) — chain name
  • input (object) — key-value pairs matching chain inputs

Returns: {executionId}

chain_status

Check execution status.

Input: execution_id (string)

Returns: {status, steps, durationMs, ...}

chain_result

Get the final result of a completed execution.

Input: execution_id (string)

Returns: Result string or error message

list_executions

List recent executions.

Returns: Array of execution summaries

cancel_execution

Cancel a running execution. Kills active processes.

Input: execution_id (string)


Scheduling

list_schedules

List all cron schedules.

Returns: Array of schedule objects

create_schedule

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_schedule

Delete a schedule.

Input: schedule_id (string)

toggle_schedule

Enable or disable a schedule.

Input: schedule_id (string)


Gates

list_pending_approvals

List all gate steps waiting for human approval.

Returns: Array of {executionId, stepId, chainName, prompt}

approve_gate

Approve or reject a pending gate.

Input:

  • execution_id (string)
  • step_id (string)
  • approved (boolean)

Pipelines

list_pipelines

List all available pipelines.

Returns: Array of {name, description, version, chainCount}

get_pipeline

Load a pipeline's YAML definition.

Input: name (string)

run_pipeline

Execute a pipeline with given inputs.

Input:

  • name (string)
  • input (object)

Returns: {executionId}

pipeline_status

Check pipeline execution status.

Input: execution_id (string)


Usage in Claude Code

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

See Also

Clone this wiki locally