ablative docs
↑↓ move↵ openesc close
Stack Notebook ablative.com.au

Public MCP write schemas

Complete input and output schemas for public mcp write schemas.

Open .md

save_document

Input and output schemas
{
  "inputSchema": {
    "type": "object",
    "properties": {
      "path": {
        "type": "string",
        "minLength": 1,
        "description": "Where to save the document. Workspace-relative, no `..` components, ending in `.awl` (e.g. `flows/etl.awl`)."
      },
      "source": {
        "type": "string",
        "description": "The complete AWL source to save."
      }
    },
    "required": [
      "path",
      "source"
    ],
    "additionalProperties": false
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "path": {
        "type": "string"
      },
      "source": {
        "type": "string"
      },
      "content_hash": {
        "type": "string",
        "description": "The revision identity of the saved bytes. Pass it to deploy_document unchanged."
      }
    },
    "required": [
      "path",
      "source",
      "content_hash"
    ],
    "additionalProperties": false
  }
}

deploy_document

Input and output schemas
{
  "inputSchema": {
    "type": "object",
    "properties": {
      "path": {
        "type": "string",
        "minLength": 1,
        "description": "The saved document to deploy. Workspace-relative, no `..` components, ending in `.awl` (e.g. `flows/etl.awl`)."
      },
      "content_hash": {
        "type": "string",
        "minLength": 1,
        "description": "The content hash save_document or read_document returned for the document as it is saved right now. Never construct one."
      }
    },
    "required": [
      "path",
      "content_hash"
    ],
    "additionalProperties": false
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "deployment": {
        "type": "object",
        "properties": {
          "deployment_id": {
            "type": "string"
          },
          "document_path": {
            "type": "string"
          },
          "content_hash": {
            "type": "string"
          },
          "package_id": {
            "type": "string"
          },
          "workflow_type": {
            "type": "string",
            "description": "The workflow type this deployment made startable \u2014 pass it to start_run."
          },
          "task_queue": {
            "type": "string"
          },
          "workflow_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "run_id": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "deployment_id",
          "document_path",
          "content_hash",
          "package_id",
          "workflow_type",
          "task_queue",
          "workflow_id",
          "run_id"
        ],
        "additionalProperties": false
      },
      "steps": {
        "type": "array",
        "description": "What the guided deploy did, step by step: check, compile, package, deploy.",
        "items": {
          "type": "object",
          "properties": {
            "step": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            }
          },
          "required": [
            "step",
            "detail"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "deployment",
      "steps"
    ],
    "additionalProperties": false
  }
}

start_run

Input and output schemas
{
  "inputSchema": {
    "type": "object",
    "properties": {
      "namespace": {
        "type": "string",
        "minLength": 1,
        "description": "The namespace the workflow runs under. This is the authorization scope of the call, not a label: a namespace you do not hold is answered as not-found. Read it off a previous describe_run or list_runs result; never guess it."
      },
      "workflow_type": {
        "type": "string",
        "minLength": 1,
        "description": "A deployed workflow type. An undeployed type is refused."
      },
      "input": {
        "type": [
          "object",
          "array",
          "string",
          "number",
          "boolean"
        ],
        "description": "The workflow's input as a non-null JSON value. A workflow that takes nothing receives an empty object (`{}`)."
      },
      "task_queue": {
        "type": "string",
        "description": "Task queue this run's activities dispatch to. Omit to use the namespace's default queue."
      },
      "routing_key": {
        "type": "string",
        "description": "Steers placement onto a specific shard in a clustered deployment. Omit unless you have been told to set it."
      },
      "display_name": {
        "type": "string",
        "description": "An operator-facing label for this run, shown beside its id in the console. It is only a label: no tool addresses a run by name, so you still need the run_id to act on it. Omit to leave the run showing its bare id \u2014 an empty or whitespace-only value is refused rather than treated as omitted, so the run never starts unnamed by accident."
      },
      "await_completion": {
        "type": "boolean",
        "description": "When true the call is answered as a task that settles when the run reaches a terminal status."
      }
    },
    "required": [
      "namespace",
      "workflow_type"
    ],
    "additionalProperties": false
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "namespace": {
        "type": "string"
      },
      "workflow_id": {
        "type": "string"
      },
      "run_id": {
        "type": "string"
      },
      "workflow_type": {
        "type": "string"
      },
      "status": {
        "type": "string",
        "enum": [
          "Running",
          "Completed",
          "Failed",
          "Cancelled",
          "TimedOut",
          "ContinuedAsNew",
          "Paused"
        ]
      },
      "awaited": {
        "type": "boolean",
        "description": "True when this result is the settled outcome of an awaited start rather than the immediate handles."
      }
    },
    "required": [
      "namespace",
      "workflow_id",
      "run_id",
      "workflow_type",
      "awaited"
    ],
    "additionalProperties": false
  }
}

signal

Input and output schemas
{
  "inputSchema": {
    "type": "object",
    "properties": {
      "namespace": {
        "type": "string",
        "minLength": 1,
        "description": "The namespace the workflow runs under. This is the authorization scope of the call, not a label: a namespace you do not hold is answered as not-found. Read it off a previous describe_run or list_runs result; never guess it."
      },
      "workflow_id": {
        "type": "string",
        "description": "The workflow to signal.",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
      },
      "run_id": {
        "type": "string",
        "description": "Which run. Omit for the latest.",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
      },
      "signal_name": {
        "type": "string",
        "minLength": 1,
        "description": "A signal name the workflow's code listens for."
      },
      "payload": {
        "description": "The signal payload, as plain JSON. Omit for none."
      }
    },
    "required": [
      "namespace",
      "workflow_id",
      "signal_name"
    ],
    "additionalProperties": false
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "workflow_id": {
        "type": "string"
      },
      "signal_name": {
        "type": "string"
      },
      "delivered": {
        "type": "boolean"
      }
    },
    "required": [
      "workflow_id",
      "signal_name",
      "delivered"
    ],
    "additionalProperties": false
  }
}

cancel

Input and output schemas
{
  "inputSchema": {
    "type": "object",
    "properties": {
      "namespace": {
        "type": "string",
        "minLength": 1,
        "description": "The namespace the workflow runs under. This is the authorization scope of the call, not a label: a namespace you do not hold is answered as not-found. Read it off a previous describe_run or list_runs result; never guess it."
      },
      "workflow_id": {
        "type": "string",
        "description": "The workflow to cancel.",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
      },
      "run_id": {
        "type": "string",
        "description": "Which run. Omit for the latest.",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
      },
      "reason": {
        "type": "string",
        "description": "Why it is being cancelled. Recorded in history."
      }
    },
    "required": [
      "namespace",
      "workflow_id"
    ],
    "additionalProperties": false
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "workflow_id": {
        "type": "string"
      },
      "cancelled": {
        "type": "boolean"
      },
      "reason": {
        "type": "string"
      }
    },
    "required": [
      "workflow_id",
      "cancelled",
      "reason"
    ],
    "additionalProperties": false
  }
}

Read the tool cards for behavior and the assistant for the editing loop.