{
  "count": 115,
  "product": "Horde",
  "scopes": {
    "admin": "Available to the operator's own MCP bridge (`horde mcp`).",
    "worker": "Also available to task-scoped worker credentials."
  },
  "specVersion": "1.0",
  "tools": [
    {
      "description": "Inspect local disk space and storage policy",
      "name": "runtime_storage_status",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Configure host disk reserve and completed worker workspace retention",
      "name": "runtime_storage_configure",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "automatic_cleanup": {
            "type": "boolean"
          },
          "cleanup_command": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "cleanup_timeout_seconds": {
            "type": "integer"
          },
          "min_free_bytes": {
            "type": "integer"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "resume_free_bytes": {
            "description": "Free-space threshold in bytes; null restores the threshold derived from the preceding level.",
            "type": [
              "integer",
              "null"
            ]
          },
          "retention_seconds": {
            "type": "integer"
          },
          "warning_free_bytes": {
            "description": "Free-space threshold in bytes; null restores the threshold derived from the preceding level.",
            "type": [
              "integer",
              "null"
            ]
          },
          "watch_paths": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Preview or reclaim eligible completed worker workspaces; dry run by default",
      "name": "runtime_storage_cleanup",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "dry_run": {
            "type": "boolean"
          },
          "limit": {
            "type": "integer"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect granted account quotas and usage attributed to this project",
      "name": "account_usage",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Install administrator-approved project settings from a TOML file",
      "name": "project_configure",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "file": {
            "type": "string"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [
          "project",
          "file"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Create an isolated project with no inherited resource grants",
      "name": "project_create",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "concurrency": {
            "type": "integer"
          },
          "id": {
            "type": "string"
          },
          "isolation": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "tenant_id": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "List projects visible to this connection",
      "name": "project_list",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect a project and its resource grants",
      "name": "project_inspect",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "type": "string"
          }
        },
        "required": [
          "project"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Change project concurrency and isolation requirements",
      "name": "project_update",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "concurrency": {
            "type": "integer"
          },
          "isolation": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "tenant_id": {
            "type": "string"
          }
        },
        "required": [
          "project"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Register a checkout and its worktrees to a project",
      "name": "project_repo_add",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "path": {
            "type": "string"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [
          "project",
          "path"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Authorize a runtime for a project",
      "name": "project_runtime_grant",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "dedicated": {
            "type": "boolean"
          },
          "project": {
            "type": "string"
          },
          "runtime": {
            "type": "string"
          }
        },
        "required": [
          "project",
          "runtime"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Revoke a project's runtime authorization",
      "name": "project_runtime_revoke",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "type": "string"
          },
          "runtime": {
            "type": "string"
          }
        },
        "required": [
          "project",
          "runtime"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Create a provider account owned by a project",
      "name": "account_create",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "auth_mode": {
            "type": "string"
          },
          "base_url": {
            "type": "string"
          },
          "concurrency": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "provider"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "List accounts granted to the selected project",
      "name": "account_list",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect a granted provider account without exposing credentials",
      "name": "account_inspect",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "type": "string"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [
          "account"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Explicitly share an account with another project",
      "name": "account_grant",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "type": "string"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [
          "project",
          "account"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Revoke a project's account grant",
      "name": "account_revoke",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "type": "string"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [
          "project",
          "account"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Import a versioned credential from a private file",
      "name": "account_credential_set",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "type": "string"
          },
          "credential_file": {
            "type": "string"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [
          "account",
          "credential_file"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect credential delivery and revocation state",
      "name": "account_delivery_list",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "type": "string"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [
          "account"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Administer default-project legacy provider sign-in; managed accounts use account_credential_set",
      "name": "provider_login",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "enum": [
              "start",
              "status",
              "submit",
              "cancel"
            ],
            "type": "string"
          },
          "input": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "session_id": {
            "type": "string"
          },
          "timeout_seconds": {
            "default": 600,
            "maximum": 1800,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "action"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Create a funded Tuara account using an authorized Stripe Link wallet, with durable payment recovery and private inference-key installation",
      "name": "provider_signup",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "accept_terms": {
            "description": "Explicit operator acceptance of the supplied Tuara terms_version; required for start.",
            "type": "boolean"
          },
          "action": {
            "enum": [
              "start",
              "status",
              "resume",
              "cancel"
            ],
            "type": "string"
          },
          "agent_name": {
            "type": "string"
          },
          "amount_cents": {
            "maximum": 50000,
            "minimum": 500,
            "type": "integer"
          },
          "max_charge_cents": {
            "description": "Maximum authorized USD card charge including fees. Link wallets support at most 50000 cents.",
            "maximum": 50000,
            "minimum": 500,
            "type": "integer"
          },
          "organization_name": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "replace_existing": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "terms_version": {
            "type": "string"
          },
          "test_mode": {
            "description": "Create a Stripe Link test-mode payment credential for a Tuara test-mode signup; the underlying Link payment method is not charged.",
            "type": "boolean"
          }
        },
        "required": [
          "action",
          "request_id"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Configure, inspect, disable, or check automatic Tuara top-ups within explicitly authorized per-charge and monthly limits",
      "name": "provider_topup",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "accept_terms": {
            "description": "Explicit operator acceptance of this terms version and recurring charge limits; required for configure.",
            "type": "boolean"
          },
          "action": {
            "enum": [
              "configure",
              "status",
              "disable",
              "check"
            ],
            "type": "string"
          },
          "amount_cents": {
            "maximum": 50000,
            "minimum": 500,
            "type": "integer"
          },
          "max_charge_cents": {
            "maximum": 50000,
            "minimum": 500,
            "type": "integer"
          },
          "monthly_limit_cents": {
            "description": "Explicitly authorized UTC calendar-month total for this Horde policy, including funding fees. Disabling or reconfiguring preserves spending history.",
            "maximum": 100000000,
            "minimum": 500,
            "type": "integer"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "terms_version": {
            "type": "string"
          },
          "test_mode": {
            "description": "Use Stripe Link test-mode credentials for this bounded automatic top-up policy.",
            "type": "boolean"
          },
          "threshold_cents": {
            "maximum": 50000,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "action",
          "provider"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Set up the Link wallet through MCP: inspect readiness, install Link, authenticate through a verification link, and guide payment-detail entry on Link before Tuara signup or funding",
      "name": "provider_wallet",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "enum": [
              "inspect",
              "install",
              "login_start",
              "status",
              "cancel",
              "login_status",
              "login_cancel",
              "details"
            ],
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "request_id": {
            "description": "Stable caller ID for install or login_start; reuse after a lost reply.",
            "type": "string"
          },
          "session_id": {
            "description": "Session returned by install or login_start, used for status or cancel.",
            "type": "string"
          },
          "timeout_seconds": {
            "maximum": 1800,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "action"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect this runtime's file-based default skill pack and content hash",
      "name": "skill_pack_list",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Install a local directory of skills for new tasks, independently of the runtime binary",
      "name": "skill_pack_install",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "path": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Send this controller's current default skill pack to a worker by name or ID; request_id makes retries safe and running tasks retain their pins",
      "name": "runtime_skills_update",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "request_id"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Discover local and connected worker executors, models, capacity, and authentication evidence before choosing delegation",
      "name": "runtime_capabilities",
      "parameters": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Resolve work roles into allowed machine/model pools; reports blockers and leaves task choices to the parent agent",
      "name": "plan_execution",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "roles": {
            "additionalProperties": {
              "additionalProperties": false,
              "properties": {
                "models": {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 64,
                  "minItems": 1,
                  "type": "array"
                },
                "runtime": {
                  "type": "string"
                }
              },
              "required": [
                "runtime",
                "models"
              ],
              "type": "object"
            },
            "description": "Named work roles, each with a machine and an allowed model/executor pool; the parent chooses which member to use.",
            "maxProperties": 32,
            "minProperties": 1,
            "type": "object"
          }
        },
        "required": [
          "roles"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Inspect a client-neutral parent, configure child worker roles and providers, and guide fleet and billing setup without exposing secrets",
      "name": "agent_setup",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "enum": [
              "inspect",
              "verify",
              "configure_provider",
              "configure_workers",
              "configure_controller",
              "create_fleet_key",
              "join_worker",
              "restart_local"
            ],
            "type": "string"
          },
          "api_key_env": {
            "type": "string"
          },
          "auth_mode": {
            "type": "string"
          },
          "base_url": {
            "type": "string"
          },
          "concurrency": {
            "type": "integer"
          },
          "credential": {
            "description": "Provider API key supplied by the user through their trusted agent. Use exactly one of credential, credential_env, credential_file. Never repeat the value in responses.",
            "type": "string"
          },
          "credential_env": {
            "type": "string"
          },
          "credential_file": {
            "type": "string"
          },
          "expires_in": {
            "type": "integer"
          },
          "explicit_root": {
            "type": "boolean"
          },
          "invitation_file": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "max_workers": {
            "type": "integer"
          },
          "model": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "no_start": {
            "type": "boolean"
          },
          "output_file": {
            "type": "string"
          },
          "program": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "repo": {
            "description": "Absolute repository path to inspect for parent registration. Follow a project_repo_add next action when unregistered.",
            "type": "string"
          },
          "roles": {
            "description": "Child executor role names. configure_workers requires at least one role and changes only role assignments for an existing provider.",
            "items": {
              "type": "string"
            },
            "maxItems": 32,
            "type": "array"
          }
        },
        "required": [
          "action"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read shipped skills and effective project instructions, including content and version hashes",
      "name": "skill_inspect",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "repo": {
            "type": "string"
          }
        },
        "required": [
          "repo"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Draft a project skill change for discussion; does not activate it",
      "name": "skill_propose",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "type": "string"
          },
          "expected_hash": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "repo": {
            "type": "string"
          }
        },
        "required": [
          "repo",
          "name",
          "content"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Apply an explicitly accepted project skill proposal; running tasks keep their pinned versions",
      "name": "skill_apply",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "accepted": {
            "const": true,
            "description": "Set only after the user agrees to this proposed persistent skill change.",
            "type": "boolean"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "proposal_id": {
            "type": "string"
          },
          "repo": {
            "type": "string"
          }
        },
        "required": [
          "repo",
          "proposal_id",
          "accepted"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect the project's saved skill revisions",
      "name": "skill_history",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "before_revision": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "repo": {
            "type": "string"
          }
        },
        "required": [
          "repo",
          "name"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Propose restoring a previous project skill revision for acceptance",
      "name": "skill_rollback",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "repo": {
            "type": "string"
          },
          "revision": {
            "type": "integer"
          }
        },
        "required": [
          "repo",
          "name",
          "revision"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Resume queued fleet updates after inspecting a failed rollout",
      "name": "runtime_updates_resume",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect and adopt a provider resource after uncertain provisioning",
      "name": "runtime_reconcile",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "resource": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "request_id",
          "resource"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "List workers and managed runtimes by name and status",
      "name": "runtime_list",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "all_projects": {
            "type": "boolean"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Assign a memorable name to a runtime",
      "name": "runtime_rename",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Remove a disconnected runtime entry without deleting its host",
      "name": "runtime_forget",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect managed runtime",
      "name": "runtime_inspect",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Create managed runtime",
      "name": "runtime_create",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "profile",
          "request_id"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Destroy managed runtime",
      "name": "runtime_destroy",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "request_id"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Restart managed runtime",
      "name": "runtime_restart",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "request_id"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Request a signed runtime update on a connected worker by name or ID; inspect the operation until completion",
      "name": "runtime_update",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "request_id",
          "version"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Stop managed runtime",
      "name": "runtime_stop",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "request_id"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Start managed runtime",
      "name": "runtime_start",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "request_id"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read runtime concurrency",
      "name": "runtime_config_get",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Change runtime concurrency without interrupting work",
      "name": "runtime_config_set",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "concurrency": {
            "type": "integer"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [
          "concurrency"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Stop new dispatches",
      "name": "runtime_drain",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Resume runtime dispatch",
      "name": "runtime_resume",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect version and drain status",
      "name": "runtime_status",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect account capacity and freshness",
      "name": "account_status",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Record an explicit account quota observation",
      "name": "account_observe",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "type": "string"
          },
          "observed_at": {
            "type": "integer"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "reset_at": {
            "type": "integer"
          },
          "source": {
            "type": "string"
          },
          "used_percent": {
            "type": "number"
          },
          "window": {
            "type": "string"
          }
        },
        "required": [
          "account",
          "provider",
          "window",
          "observed_at",
          "source"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read runtime management events",
      "name": "management_events",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "integer"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Acknowledge management events",
      "name": "management_ack",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "consumer": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "seq": {
            "type": "integer"
          }
        },
        "required": [
          "consumer",
          "seq"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Import a completed child and verify the combined result",
      "name": "integrate_child",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "child": {
            "type": "string"
          },
          "validation": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "child",
          "validation"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Inspect owned application environments and cleanup state",
      "name": "environments",
      "parameters": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Explicitly refresh selected application bundle versions",
      "name": "refresh_bundles",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Create a bounded child task; id is required for retry deduplication",
      "name": "delegate_task",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "bundles": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "execution": {
            "additionalProperties": false,
            "description": "Parent-selected capability and allowed runtime/capability pairs from discovery. Children may narrow this pool; no credentials or global configuration changes.",
            "properties": {
              "allowed": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "capabilities": {
                      "items": {
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    },
                    "runtime": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "runtime",
                    "capabilities"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "type": "array"
              },
              "requirements": {
                "additionalProperties": false,
                "properties": {
                  "arch": {
                    "enum": [
                      "aarch64",
                      "x86_64"
                    ],
                    "type": "string"
                  },
                  "compose": {
                    "type": "boolean"
                  },
                  "docker": {
                    "type": "boolean"
                  },
                  "isolation": {
                    "enum": [
                      "native",
                      "lima",
                      "gvisor"
                    ],
                    "type": "string"
                  },
                  "os": {
                    "enum": [
                      "macos",
                      "linux"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "selected": {
                "additionalProperties": false,
                "properties": {
                  "capability": {
                    "type": "string"
                  },
                  "runtime": {
                    "type": "string"
                  }
                },
                "required": [
                  "runtime",
                  "capability"
                ],
                "type": "object"
              }
            },
            "required": [
              "allowed",
              "selected"
            ],
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "objective": {
            "type": "string"
          },
          "peer": {
            "type": "string"
          },
          "repo": {
            "type": "string"
          },
          "skills": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "template": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "objective"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Inspect immediate child tasks",
      "name": "list_children",
      "parameters": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "List the task’s pinned skill names and hashes",
      "name": "list_skills",
      "parameters": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Read a pinned skill or relative resource; default path SKILL.md, paged by byte offset",
      "name": "read_skill",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "offset": {
            "type": "integer"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Read original source context using bounded pages",
      "name": "read_context",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Root caller: append authoritative context with provenance and invalidate stale acceptance",
      "name": "update_context",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "mandatory": {
            "type": "boolean"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "provenance": {
            "type": "string"
          },
          "supersedes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [
          "content",
          "provenance"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read questions addressed to this caller",
      "name": "pending_questions",
      "parameters": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Forward the original question one level to your parent",
      "name": "escalate_question",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "commentary": {
            "type": "string"
          },
          "question": {
            "type": "string"
          }
        },
        "required": [
          "question"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Acknowledge durable events through a consumer cursor",
      "name": "ack_events",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "consumer": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "seq": {
            "type": "integer"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [
          "consumer",
          "seq"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Planner-only: propose parallel or dependent steps. Runtime validates and inserts them before the planning step’s pending successors",
      "name": "propose_steps",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "steps": {
            "description": "Workflow Step objects. Call this tool with a steps array; step IDs are data, never tool names. Use expanded steps, not nested template invocations.",
            "items": {
              "properties": {
                "acceptance": {
                  "default": [],
                  "description": "Criteria that must pass before the step is accepted.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "artifacts": {
                  "default": [],
                  "description": "Repository-relative artifact paths to collect after execution.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "attempts": {
                  "default": 1,
                  "description": "Maximum number of attempts, from 1 through 20.",
                  "format": "uint32",
                  "maximum": 20,
                  "minimum": 1,
                  "type": "integer"
                },
                "command": {
                  "default": [],
                  "description": "Command argv for a command step, not a shell string.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "environment": {
                  "additionalProperties": false,
                  "default": null,
                  "description": "Required when kind is environment; describes the disposable app and its test.",
                  "properties": {
                    "allow_external_resources": {
                      "default": false,
                      "type": "boolean"
                    },
                    "browser_test": {
                      "default": null,
                      "description": "Optional checked-in browser test spec. `test` remains the fallback command.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "compose_file": {
                      "default": "compose.yaml",
                      "type": "string"
                    },
                    "cpus": {
                      "default": 2.0,
                      "exclusiveMinimum": 0,
                      "format": "double",
                      "type": "number"
                    },
                    "docker_context": {
                      "default": null,
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "env_file": {
                      "default": ".env",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "memory_mb": {
                      "default": 2048,
                      "format": "uint64",
                      "minimum": 64,
                      "type": "integer"
                    },
                    "readiness_seconds": {
                      "default": 60,
                      "description": "Positive readiness deadline, no greater than timeout_seconds.",
                      "format": "uint64",
                      "maximum": 86400,
                      "minimum": 1,
                      "type": "integer"
                    },
                    "ready_service": {
                      "default": null,
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "ready_url": {
                      "default": "http://127.0.0.1:${PORT}/",
                      "type": "string"
                    },
                    "runner": {
                      "default": "process",
                      "enum": [
                        "process",
                        "compose"
                      ],
                      "type": "string"
                    },
                    "services": {
                      "default": [],
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "start": {
                      "default": [],
                      "description": "Start command argv, required for the process runner.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "test": {
                      "description": "Test command argv; required for both process and Compose runners.",
                      "items": {
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    },
                    "timeout_seconds": {
                      "default": 1800,
                      "format": "uint64",
                      "maximum": 86400,
                      "minimum": 1,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "test"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "id": {
                  "description": "Unique workflow-local name for this step, not a tool/function name.",
                  "minLength": 1,
                  "type": "string"
                },
                "inputs": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "default": {},
                  "description": "String substitutions for nested template compilation.",
                  "type": "object"
                },
                "instructions": {
                  "default": "",
                  "description": "Assignment for this step; use ${dependency.result} for a direct dependency's output.",
                  "type": "string"
                },
                "kind": {
                  "default": "agent",
                  "description": "Execution kind. Planner proposals cannot request delivery.",
                  "enum": [
                    "agent",
                    "command",
                    "simulated",
                    "environment"
                  ],
                  "type": "string"
                },
                "needs": {
                  "default": [],
                  "description": "Workflow-local IDs of dependencies, not task UUIDs. Planner dependency is added automatically.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "output_types": {
                  "additionalProperties": {
                    "enum": [
                      "string",
                      "number",
                      "integer",
                      "boolean",
                      "array",
                      "object",
                      "null"
                    ],
                    "type": "string"
                  },
                  "default": {},
                  "description": "Extra result field names mapped to string, number, integer, boolean, array, object, or null.",
                  "type": "object"
                },
                "role": {
                  "default": "worker",
                  "description": "Configured executor role (defaults to worker). Must exist for planner proposals.",
                  "type": "string"
                },
                "scope": {
                  "default": [],
                  "description": "Repository-relative files/directory prefixes to claim for writes; use . for the whole repo.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "skills": {
                  "default": [],
                  "description": "Pinned skill names to include in this step prompt. Names must be available in the task catalog.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "step_budget_exempt": {
                  "default": false,
                  "description": "Disable the progress budget for this command step; command timeout still applies.",
                  "type": "boolean"
                },
                "step_budget_seconds": {
                  "default": null,
                  "description": "Seconds without durable progress before the daemon ends an attempt.",
                  "format": "uint64",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "template": {
                  "description": "Planner proposals must be expanded; omit template.",
                  "type": "null"
                },
                "tools": {
                  "default": [],
                  "description": "Allowed native tools, e.g. read_file, search, write_file, apply_patch, command.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "when": {
                  "additionalProperties": false,
                  "default": null,
                  "description": "Optional condition on a direct dependency's terminal status.",
                  "properties": {
                    "status": {
                      "enum": [
                        "succeeded",
                        "failed",
                        "skipped"
                      ],
                      "type": "string"
                    },
                    "step": {
                      "description": "Workflow-local ID that must also appear in needs.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "step",
                    "status"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "workspace": {
                  "description": "Command working directory: isolated integrated worktree by default, or the live checkout.",
                  "enum": [
                    "worktree",
                    "checkout",
                    null
                  ],
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "id"
              ],
              "title": "Step",
              "type": "object"
            },
            "maxItems": 32,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "steps"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Ask for required information; hold this worker while its caller answers or escalates",
      "name": "request_question",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "evidence": {
            "type": "string"
          },
          "human_only": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "recommendation": {
            "type": "string"
          }
        },
        "required": [
          "question"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Reported usage, cost, latency, retries, and coordination overhead",
      "name": "metrics",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read paginated daemon-owned advisory decisions for one task",
      "name": "decisions",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "integer"
          },
          "limit": {
            "default": 50,
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [
          "task"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read advisory work-product reviews, evidence coverage, and freshness for one task",
      "name": "reviews",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "integer"
          },
          "limit": {
            "default": 50,
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [
          "task"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Submit work with a stable request_id for safe retries, optional runtime and execution pool; returns durable task id",
      "name": "submit_task",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "brief_id": {
            "type": "string"
          },
          "context": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "execution": {
            "additionalProperties": false,
            "description": "Parent-selected capability and allowed runtime/capability pairs from discovery. Children may narrow this pool; no credentials or global configuration changes.",
            "properties": {
              "allowed": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "capabilities": {
                      "items": {
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    },
                    "runtime": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "runtime",
                    "capabilities"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "type": "array"
              },
              "requirements": {
                "additionalProperties": false,
                "properties": {
                  "arch": {
                    "enum": [
                      "aarch64",
                      "x86_64"
                    ],
                    "type": "string"
                  },
                  "compose": {
                    "type": "boolean"
                  },
                  "docker": {
                    "type": "boolean"
                  },
                  "isolation": {
                    "enum": [
                      "native",
                      "lima",
                      "gvisor"
                    ],
                    "type": "string"
                  },
                  "os": {
                    "enum": [
                      "macos",
                      "linux"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "selected": {
                "additionalProperties": false,
                "properties": {
                  "capability": {
                    "type": "string"
                  },
                  "runtime": {
                    "type": "string"
                  }
                },
                "required": [
                  "runtime",
                  "capability"
                ],
                "type": "object"
              }
            },
            "required": [
              "allowed",
              "selected"
            ],
            "type": "object"
          },
          "objective": {
            "type": "string"
          },
          "on": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "repo": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "template": {
            "type": "string"
          },
          "thread_id": {
            "type": "string"
          }
        },
        "required": [
          "objective",
          "repo"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Get a local checkout of completed remote work for review",
      "name": "remote_result",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [
          "task"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Inspect a task including steps, attempts, workers, questions, and integration",
      "name": "inspect",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Terminal summary: status, step outcomes, integrated head, delivery outcome",
      "name": "summary",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Merge the expected current main into a durable Run branch",
      "name": "run_integrate_main",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "expected_head": {
            "type": "string"
          },
          "expected_main_head": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read the current remote release base commit for a Run",
      "name": "run_main_head",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Fast-forward a Run branch from authorized external commits",
      "name": "run_reconcile",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "expected_head": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Validate and commit stranded agent work for a failed local step, then resume its Run",
      "name": "run_recover_step",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "expected_run_head": {
            "type": "string"
          },
          "expected_worker_head": {
            "type": "string"
          },
          "idempotency_key": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "step": {
            "type": "string"
          },
          "task": {
            "type": "string"
          },
          "validation": {
            "items": {
              "type": "string"
            },
            "maxItems": 32,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "task",
          "step",
          "expected_worker_head",
          "expected_run_head",
          "validation",
          "idempotency_key"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Release a stopped Run's account pin to use its project's granted account pool",
      "name": "run_unpin_account",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "type": "string"
          },
          "idempotency_key": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [
          "task",
          "account",
          "idempotency_key"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Validate and record an exact Run branch checkpoint",
      "name": "run_checkpoint",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "artifact_digest": {
            "type": "string"
          },
          "build_id": {
            "type": "string"
          },
          "expected_head": {
            "type": "string"
          },
          "expected_main_head": {
            "type": "string"
          },
          "idempotency_key": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          },
          "validation": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Publish a verified Run checkpoint without force push",
      "name": "run_publish",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "expected_head": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Reconcile and retry a held exact preview publication job",
      "name": "run_preview_retry",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "expected_head": {
            "type": "string"
          },
          "idempotency_key": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [
          "task",
          "expected_head",
          "idempotency_key"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read versioned, project-scoped Run events",
      "name": "run_events",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read bounded structural Run diagnostics without secret or transcript data",
      "name": "run_diagnostics",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "List submitted tasks and their status",
      "name": "list_tasks",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "all_projects": {
            "type": "boolean"
          },
          "project": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read ordered activity events",
      "name": "events",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "integer"
          },
          "consumer": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Cancel a task",
      "name": "cancel",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Resume paused or failed work; interrupted processes require reconciliation",
      "name": "resume",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Answer a pending question",
      "name": "answer_question",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "answer": {
            "type": "string"
          },
          "human": {
            "type": "boolean"
          },
          "question": {
            "type": "string"
          }
        },
        "required": [
          "question",
          "answer"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Create task-scoped worker identity and token",
      "name": "register_worker",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "step": {
            "type": "string"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Register path, branch and base before editing",
      "name": "register_workspace",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "base": {
            "type": "string"
          },
          "branch": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "path",
          "branch",
          "base"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Persist a message to worker id, group:name, or task. Supply id for deduplication",
      "name": "send_message",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "actionable": {
            "type": "boolean"
          },
          "body": {
            "type": "string"
          },
          "destination": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "refs": {
            "type": "object"
          }
        },
        "required": [
          "id",
          "destination",
          "body"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Operator: post a message to workers on a task; omit worker to fan out, or set worker to target one",
      "name": "steer",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "actionable": {
            "type": "boolean"
          },
          "body": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "refs": {
            "type": "object"
          },
          "task": {
            "type": "string"
          },
          "worker": {
            "type": "string"
          }
        },
        "required": [
          "body"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Read unacknowledged messages; after is an optional sequence cursor",
      "name": "read_messages",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Acknowledge an explicit list of message ids",
      "name": "acknowledge_messages",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "ids": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "ids"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "List worker identities and status",
      "name": "list_workers",
      "parameters": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Set idle, working, blocked, or stopped status",
      "name": "set_worker_status",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Join a named group channel",
      "name": "join_channel",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "type": "string"
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Acquire exclusive paths in a registered workspace",
      "name": "claim_paths",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "paths": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "paths"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Atomically hand off a claim to another worker",
      "name": "transfer_claim",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "path": {
            "type": "string"
          },
          "to": {
            "type": "string"
          }
        },
        "required": [
          "to",
          "path"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Release claims after worker is stopped or idle",
      "name": "release_claims",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          },
          "worker": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Confirm an interrupted process exited, then make step resumable",
      "name": "reconcile_worker",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          },
          "worker": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Append validated steps as a durable workflow revision",
      "name": "add_steps",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "steps": {
            "description": "Workflow Step objects. Call this tool with a steps array; step IDs are data, never tool names. Use expanded steps, not nested template invocations.",
            "items": {
              "properties": {
                "acceptance": {
                  "default": [],
                  "description": "Criteria that must pass before the step is accepted.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "artifacts": {
                  "default": [],
                  "description": "Repository-relative artifact paths to collect after execution.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "attempts": {
                  "default": 1,
                  "description": "Maximum number of attempts, from 1 through 20.",
                  "format": "uint32",
                  "maximum": 20,
                  "minimum": 1,
                  "type": "integer"
                },
                "command": {
                  "default": [],
                  "description": "Command argv for a command step, not a shell string.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "environment": {
                  "additionalProperties": false,
                  "default": null,
                  "description": "Required when kind is environment; describes the disposable app and its test.",
                  "properties": {
                    "allow_external_resources": {
                      "default": false,
                      "type": "boolean"
                    },
                    "browser_test": {
                      "default": null,
                      "description": "Optional checked-in browser test spec. `test` remains the fallback command.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "compose_file": {
                      "default": "compose.yaml",
                      "type": "string"
                    },
                    "cpus": {
                      "default": 2.0,
                      "exclusiveMinimum": 0,
                      "format": "double",
                      "type": "number"
                    },
                    "docker_context": {
                      "default": null,
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "env_file": {
                      "default": ".env",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "memory_mb": {
                      "default": 2048,
                      "format": "uint64",
                      "minimum": 64,
                      "type": "integer"
                    },
                    "readiness_seconds": {
                      "default": 60,
                      "description": "Positive readiness deadline, no greater than timeout_seconds.",
                      "format": "uint64",
                      "maximum": 86400,
                      "minimum": 1,
                      "type": "integer"
                    },
                    "ready_service": {
                      "default": null,
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "ready_url": {
                      "default": "http://127.0.0.1:${PORT}/",
                      "type": "string"
                    },
                    "runner": {
                      "default": "process",
                      "enum": [
                        "process",
                        "compose"
                      ],
                      "type": "string"
                    },
                    "services": {
                      "default": [],
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "start": {
                      "default": [],
                      "description": "Start command argv, required for the process runner.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "test": {
                      "description": "Test command argv; required for both process and Compose runners.",
                      "items": {
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    },
                    "timeout_seconds": {
                      "default": 1800,
                      "format": "uint64",
                      "maximum": 86400,
                      "minimum": 1,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "test"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "id": {
                  "description": "Unique workflow-local name for this step, not a tool/function name.",
                  "minLength": 1,
                  "type": "string"
                },
                "inputs": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "default": {},
                  "description": "String substitutions for nested template compilation.",
                  "type": "object"
                },
                "instructions": {
                  "default": "",
                  "description": "Assignment for this step; use ${dependency.result} for a direct dependency's output.",
                  "type": "string"
                },
                "kind": {
                  "default": "agent",
                  "description": "Execution kind. Planner proposals cannot request delivery.",
                  "enum": [
                    "agent",
                    "command",
                    "delivery",
                    "simulated",
                    "environment"
                  ],
                  "type": "string"
                },
                "needs": {
                  "default": [],
                  "description": "Workflow-local IDs of dependencies, not task UUIDs. Planner dependency is added automatically.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "output_types": {
                  "additionalProperties": {
                    "enum": [
                      "string",
                      "number",
                      "integer",
                      "boolean",
                      "array",
                      "object",
                      "null"
                    ],
                    "type": "string"
                  },
                  "default": {},
                  "description": "Extra result field names mapped to string, number, integer, boolean, array, object, or null.",
                  "type": "object"
                },
                "role": {
                  "default": "worker",
                  "description": "Configured executor role (defaults to worker). Must exist for planner proposals.",
                  "type": "string"
                },
                "scope": {
                  "default": [],
                  "description": "Repository-relative files/directory prefixes to claim for writes; use . for the whole repo.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "skills": {
                  "default": [],
                  "description": "Pinned skill names to include in this step prompt. Names must be available in the task catalog.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "step_budget_exempt": {
                  "default": false,
                  "description": "Disable the progress budget for this command step; command timeout still applies.",
                  "type": "boolean"
                },
                "step_budget_seconds": {
                  "default": null,
                  "description": "Seconds without durable progress before the daemon ends an attempt.",
                  "format": "uint64",
                  "minimum": 1,
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "template": {
                  "default": null,
                  "description": "Nested template name, expanded only during template compilation. Submit expanded steps to revision tools.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "tools": {
                  "default": [],
                  "description": "Allowed native tools, e.g. read_file, search, write_file, apply_patch, command.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "when": {
                  "additionalProperties": false,
                  "default": null,
                  "description": "Optional condition on a direct dependency's terminal status.",
                  "properties": {
                    "status": {
                      "enum": [
                        "succeeded",
                        "failed",
                        "skipped"
                      ],
                      "type": "string"
                    },
                    "step": {
                      "description": "Workflow-local ID that must also appear in needs.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "step",
                    "status"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "workspace": {
                  "description": "Command working directory: isolated integrated worktree by default, or the live checkout.",
                  "enum": [
                    "worktree",
                    "checkout",
                    null
                  ],
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "id"
              ],
              "title": "Step",
              "type": "object"
            },
            "type": "array"
          },
          "task": {
            "type": "string"
          }
        },
        "required": [
          "steps"
        ],
        "type": "object"
      },
      "scope": "admin"
    },
    {
      "description": "Store content with input fingerprint and verification status",
      "name": "put_artifact",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "type": "string"
          },
          "inputs": {
            "type": "object"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "content"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Read a task artifact by hash",
      "name": "get_artifact",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "hash": {
            "type": "string"
          }
        },
        "required": [
          "hash"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Find a verified artifact with identical input fingerprint",
      "name": "reuse_artifact",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "inputs": {
            "type": "object"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "inputs"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Store fact, decision or evidence with provenance",
      "name": "add_knowledge",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "inputs": {
            "type": "object"
          },
          "kind": {
            "enum": [
              "fact",
              "decision",
              "evidence"
            ],
            "type": "string"
          },
          "provenance": {
            "type": "object"
          },
          "scope": {
            "default": "task",
            "enum": [
              "task",
              "family"
            ],
            "type": "string"
          },
          "supersedes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "topic": {
            "type": "string"
          },
          "valid_under": {
            "type": "object"
          }
        },
        "required": [
          "kind",
          "content",
          "provenance"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Read task knowledge or query bounded task/family notebook pages",
      "name": "knowledge",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "string"
          },
          "include_inactive": {
            "type": "boolean"
          },
          "limit": {
            "type": "integer"
          },
          "query": {
            "type": "string"
          },
          "scope": {
            "default": "task",
            "enum": [
              "task",
              "family"
            ],
            "type": "string"
          },
          "topic": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Read bounded relationship pages for a visible knowledge record",
      "name": "knowledge_edges",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "after": {
            "type": "string"
          },
          "limit": {
            "type": "integer"
          },
          "source": {
            "type": "string"
          }
        },
        "required": [
          "source"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Read the task's knowledge topics, scopes, and task-specific schemas",
      "name": "knowledge_options",
      "parameters": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Withdraw an owned knowledge claim while retaining its provenance",
      "name": "retract_knowledge",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "provenance": {
            "type": "object"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "reason",
          "provenance"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Link two knowledge records with a relationship",
      "name": "link_knowledge",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "relation": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "target": {
            "type": "string"
          }
        },
        "required": [
          "source",
          "target",
          "relation"
        ],
        "type": "object"
      },
      "scope": "worker"
    },
    {
      "description": "Integrate a committed worker worktree; optional validation argv",
      "name": "integrate",
      "parameters": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project ID or slug; cannot change a project-bound connection.",
            "type": "string"
          },
          "task": {
            "type": "string"
          },
          "validation": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "worker": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "scope": "admin"
    }
  ],
  "transport": {
    "args": [
      "mcp"
    ],
    "command": "horde",
    "kind": "stdio",
    "protocol": "mcp",
    "version": "2024-11-05"
  }
}
