Files
zeekay bc4ddf332b chore: rebase the tree onto upstream master fa1a9a60
Mechanically re-derived: bin/debrand runs over a fresh import of
posthog/posthog@fa1a9a60d4 (2026-08-06).
The pipeline (.hanzo/workflows), the Dockerfiles and bin/docker*
entrypoints, compose files, LLM.md and the squashed initial migration
are restored from the shipped tree, same as the previous import.

The prune's import-closure guard kept 21 products the new core now
imports; dropping them is a refactor now, recorded rather than forced.
2026-08-06 01:25:36 -07:00

601 lines
22 KiB
YAML

# MCP tool definition — tool entries are scaffolded from the OpenAPI schema.
# The tool list and operation IDs are kept in sync automatically:
# pnpm --filter=@hanzo/mcp run scaffold-yaml -- --sync-all
#
# To enable a tool, set enabled: true and add required scopes + annotations.
# All other fields (title, description, enrich_url, etc.) are yours to configure.
category: Tasks
feature: tasks
url_prefix: /tasks
ui_apps:
loops-review:
type: custom
app_name: Insights Loop Review
description: Review card for a loop before creation, with a Create loop action.
tools:
channel-create:
operation: task_channels_create
enabled: true
scopes:
- task:write
annotations:
readOnly: false
destructive: false
idempotent: true
title: Resolve or create a channel
description: >
Resolve-or-create a public channel by name (normalized to lowercase-dashed). Idempotent: returns the
existing channel when one with the name already exists. Use channel-list first when the request names an
existing channel.
channel-instructions-retrieve:
operation: task_channels_instructions_retrieve
enabled: true
scopes:
- task:read
annotations:
readOnly: true
destructive: false
idempotent: true
title: Read channel instructions
description: >
Read a channel's CONTEXT.md instructions (versioned markdown describing the channel's context). Returns the
latest `content` and its `version` — pass that version as `base_version` when publishing an update. A
channel with no instructions yet reads as a blank version 0.
param_overrides:
id:
description: ID of the channel whose instructions to read.
channel-list:
operation: task_channels_list
enabled: true
scopes:
- task:read
annotations:
readOnly: true
destructive: false
idempotent: true
title: List channels
description: >
List the project's channels (public channels plus the requester's personal #me channel). Use this to resolve
a channel id from its name before creating or listing canvases or reading instructions.
channel-retrieve:
operation: task_channels_retrieve
enabled: true
scopes:
- task:read
annotations:
readOnly: true
destructive: false
idempotent: true
title: Get a channel
description: One channel by id, including its name and type.
param_overrides:
id:
description: ID of the channel to read.
code-invites-check-access-retrieve:
operation: code_invites_check_access_retrieve
enabled: false
code-invites-redeem-create:
operation: code_invites_redeem_create
enabled: false
loops-create:
operation: loops_create
enabled: true
scopes:
- loop:write
annotations:
readOnly: false
destructive: false
idempotent: false
title: Create loop
description: >
Create a new loop: a named, cloud-executed agent automation that runs on a schedule, a GitHub event, or an
authenticated API call. Set `instructions` (the prompt delivered to the agent on every run),
`runtime_adapter`/`model`/`reasoning_effort`, `repositories` (at most 1, may be empty for a connector-only
loop), `visibility` (`personal` or `team`), `behaviors` (PR creation, CI watch, auto-fix) and `triggers`.
feature_flag: loops
confirmed_action:
message: >
About to create the loop '{name}', a persistent automation that will run unattended with your GitHub and
connector access whenever its triggers fire. Reply 'confirm' to create it.
action_label: create loop
loops-destroy:
operation: loops_destroy
enabled: true
scopes:
- loop:write
annotations:
readOnly: false
destructive: true
idempotent: true
title: Delete loop
description: >
Soft-delete a loop and pause every trigger's schedule so it stops firing. Only the loop owner or a project
admin can delete a loop.
feature_flag: loops
loops-list:
operation: loops_list
enabled: true
scopes:
- loop:read
annotations:
readOnly: true
destructive: false
idempotent: true
list: true
title: List loops
description: >
List loops visible to the current user in the project: personal loops the user owns plus every team-visible
loop. Returns loop config, trigger summaries, and run bookkeeping (`last_run_at`, `last_run_status`,
`consecutive_failures`).
feature_flag: loops
loops-partial-update:
operation: loops_partial_update
enabled: true
scopes:
- loop:write
annotations:
readOnly: false
destructive: false
idempotent: false
title: Update loop
description: >
Update an existing loop's config. On a team loop, identity-bearing fields (`instructions`, `repositories`,
`connectors`, `behaviors`, `triggers`) are editable only by the current owner: editing them as another
member takes ownership and re-validates repositories and connectors against that member's own access.
Editing a loop never affects its in-flight or queued runs; every run snapshots its config at fire time.
feature_flag: loops
loops-preview-create:
operation: loops_preview_create
enabled: true
scopes:
- loop:read
annotations:
readOnly: true
destructive: false
idempotent: true
title: Preview a loop fire
description: >
Dry-run a loop: render the assembled instructions and trigger context for a sample payload (or a synthetic
schedule fire when omitted) without creating a task, run, or any other side effect. Use it to check a loop's
prompt before enabling it.
feature_flag: loops
loops-retrieve:
operation: loops_retrieve
enabled: true
scopes:
- loop:read
annotations:
readOnly: true
destructive: false
idempotent: true
enrich_url: '{id}'
title: Get loop
description: >
Get a specific loop by ID, including its full config (instructions, model, repositories, triggers,
behaviors, connectors, notifications) and run bookkeeping.
feature_flag: loops
loops-run-create:
operation: loops_run_create
enabled: true
scopes:
- loop:write
annotations:
readOnly: false
destructive: false
idempotent: false
title: Manually run a loop
description: >
Manually fire a loop right now, outside its configured triggers. Creates a fresh task run using the loop's
current config snapshot and returns it. Subject to the same usage-gate, overlap policy and rate limits as
trigger-fired runs.
feature_flag: loops
loops-runs-retrieve:
operation: loops_runs_retrieve
enabled: true
scopes:
- loop:read
annotations:
readOnly: true
destructive: false
idempotent: true
enrich_url: '{id}/runs'
list: true
title: List loop runs
description: >
List a loop's run history, newest first, cursor-paginated. Each entry carries the run's status, branch,
error message and output (including any PR URL), so an agent can check whether a loop's runs succeeded and
what they produced.
feature_flag: loops
loops-skill-bundles-update:
operation: loops_skill_bundles_update
enabled: false
loops-trigger-create:
operation: loops_trigger_create
enabled: false
sandbox-create:
operation: sandbox_create
enabled: false
sandbox-custom-images-build-create:
operation: sandbox_custom_images_build_create
enabled: false
sandbox-custom-images-builder-task-create:
operation: sandbox_custom_images_builder_task_create
enabled: false
sandbox-custom-images-create:
operation: sandbox_custom_images_create
enabled: false
sandbox-custom-images-destroy:
operation: sandbox_custom_images_destroy
enabled: false
sandbox-custom-images-list:
operation: sandbox_custom_images_list
enabled: false
sandbox-custom-images-partial-update:
operation: sandbox_custom_images_partial_update
enabled: false
sandbox-custom-images-retrieve:
operation: sandbox_custom_images_retrieve
enabled: false
sandbox-destroy:
operation: sandbox_destroy
enabled: false
sandbox-list:
operation: sandbox_list
enabled: false
sandbox-partial-update:
operation: sandbox_partial_update
enabled: false
sandbox-retrieve:
operation: sandbox_retrieve
enabled: false
task-activity-list:
operation: task_activity_list
enabled: false
task-activity-mark-read-create:
operation: task_activity_mark_read_create
enabled: false
task-automations-create:
operation: task_automations_create
enabled: false
task-automations-destroy:
operation: task_automations_destroy
enabled: false
task-automations-list:
operation: task_automations_list
enabled: false
task-automations-partial-update:
operation: task_automations_partial_update
enabled: false
task-automations-retrieve:
operation: task_automations_retrieve
enabled: false
task-automations-run-create:
operation: task_automations_run_create
enabled: false
task-channels-context-generation-retrieve:
operation: task_channels_context_generation_retrieve
enabled: false
task-channels-context-generation-update:
operation: task_channels_context_generation_update
enabled: false
task-channels-destroy:
operation: task_channels_destroy
enabled: false
task-channels-feed-create:
operation: task_channels_feed_create
enabled: false
task-channels-feed-list:
operation: task_channels_feed_list
enabled: false
task-channels-instructions-destroy:
operation: task_channels_instructions_destroy
enabled: false
task-channels-instructions-partial-update:
operation: task_channels_instructions_partial_update
enabled: false
task-channels-instructions-update:
operation: task_channels_instructions_update
enabled: false
task-channels-instructions-versions-retrieve:
operation: task_channels_instructions_versions_retrieve
enabled: false
task-channels-partial-update:
operation: task_channels_partial_update
enabled: false
task-channels-star-create:
operation: task_channels_star_create
enabled: false
task-mentions-list:
operation: task_mentions_list
enabled: false
tasks-active-wizard-run-retrieve:
operation: tasks_active_wizard_run_retrieve
enabled: false
tasks-create:
operation: tasks_create
enabled: true
scopes:
- task:write
annotations:
readOnly: false
destructive: false
idempotent: false
enrich_url: '{id}'
title: Create task
description: >
Create an agent task in the current project — a unit of work an AI agent picks up and actions, such as
investigating an inbox report, fixing an error, or opening a pull request. `description` is the prompt
handed to the agent, so make it specific and actionable. Pass `repository` in `organization/repo` format for
code tasks so the agent knows where to work; omit it for investigation-only tasks. This creates the task
record only — it does not start the agent. Returns the created task including its URL; open that URL to
start the run. Requires the calling token's organization to have Tasks access enabled.
include_params:
- title
- description
- repository
param_overrides:
description:
description: >
The task for the agent to carry out, written as a direct prompt (e.g. "Investigate the spike in
$exception events on the checkout page and open a PR with a fix"). Passed verbatim to the agent as
its instructions, so be specific.
required: true
feature_flag: tasks
response:
include:
- id
- task_number
- title
- description
- origin_product
- repository
- internal
- created_at
- updated_at
tasks-destroy:
operation: tasks_destroy
enabled: false
tasks-list:
operation: tasks_list
enabled: true
scopes:
- task:read
annotations:
readOnly: true
destructive: false
idempotent: true
enrich_url: '{id}'
list: true
title: List tasks
description: >
List agent tasks in the current project. Supports filtering by `origin_product`, `stage`, `organization`,
`repository`, `created_by`, and `internal`. Returns lightweight task metadata only — call tasks-retrieve for
the full task including its latest run, or tasks-runs-list for run history. Requires the calling token's
organization to have Tasks access enabled.
feature_flag: tasks
response:
include:
- id
- task_number
- title
- description
- origin_product
- repository
- internal
- created_at
- updated_at
tasks-partial-update:
operation: tasks_partial_update
enabled: false
tasks-pin-create:
operation: tasks_pin_create
enabled: false
tasks-pinned-retrieve:
operation: tasks_pinned_retrieve
enabled: false
tasks-presence-create:
operation: tasks_presence_create
enabled: false
tasks-presence-destroy:
operation: tasks_presence_destroy
enabled: false
tasks-repositories-retrieve:
operation: tasks_repositories_retrieve
enabled: false
tasks-repository-readiness-retrieve:
operation: tasks_repository_readiness_retrieve
enabled: false
tasks-retrieve:
operation: tasks_retrieve
enabled: true
scopes:
- task:read
annotations:
readOnly: true
destructive: false
idempotent: true
enrich_url: '{id}'
title: Get task
description: >
Get a specific task by ID, including its description, repository, origin product, current stage, and latest
run summary. Sandbox connection credentials and the presigned log URL are omitted from the embedded
`latest_run`. Use tasks-runs-list or tasks-runs-retrieve to inspect past executions.
feature_flag: tasks
response:
exclude:
- latest_run.log_url
- latest_run.state.sandbox_connect_token
- latest_run.state.sandbox_url
tasks-run-create:
operation: tasks_run_create
enabled: false
tasks-runs-append-log-create:
operation: tasks_runs_append_log_create
enabled: false
tasks-runs-artifacts-create:
operation: tasks_runs_artifacts_create
enabled: false
tasks-runs-artifacts-download-create:
operation: tasks_runs_artifacts_download_create
enabled: false
tasks-runs-artifacts-finalize-upload-create:
operation: tasks_runs_artifacts_finalize_upload_create
enabled: false
tasks-runs-artifacts-prepare-upload-create:
operation: tasks_runs_artifacts_prepare_upload_create
enabled: false
tasks-runs-artifacts-presign-create:
operation: tasks_runs_artifacts_presign_create
enabled: false
tasks-runs-cancel-create:
operation: tasks_runs_cancel_create
enabled: false
tasks-runs-command-create:
operation: tasks_runs_command_create
enabled: false
tasks-runs-connection-token-retrieve:
operation: tasks_runs_connection_token_retrieve
enabled: false
tasks-runs-create:
operation: tasks_runs_create
enabled: false
tasks-runs-list:
operation: tasks_runs_list
enabled: true
scopes:
- task:read
annotations:
readOnly: true
destructive: false
idempotent: true
list: true
title: List task runs
description: >
List all runs for a specific task. Returns lightweight run metadata only — call tasks-runs-retrieve for full
run detail including state, output, and artifacts.
feature_flag: tasks
response:
include:
- id
- task
- stage
- branch
- status
- environment
- error_message
- state.sandbox_environment_id
- created_at
- updated_at
- completed_at
tasks-runs-living-artifacts-chart:
operation: tasks_runs_living_artifacts_chart
enabled: false
tasks-runs-living-artifacts-create:
operation: tasks_runs_living_artifacts_create
enabled: false
tasks-runs-living-artifacts-edit:
operation: tasks_runs_living_artifacts_edit
enabled: false
tasks-runs-living-artifacts-list:
operation: tasks_runs_living_artifacts_list
enabled: false
tasks-runs-living-artifacts-open:
operation: tasks_runs_living_artifacts_open
enabled: false
tasks-runs-partial-update:
operation: tasks_runs_partial_update
enabled: false
tasks-runs-relay-message-create:
operation: tasks_runs_relay_message_create
enabled: false
tasks-runs-resume-in-cloud-create:
operation: tasks_runs_resume_in_cloud_create
enabled: false
tasks-runs-retrieve:
operation: tasks_runs_retrieve
enabled: true
scopes:
- task:read
annotations:
readOnly: true
destructive: false
idempotent: true
title: Get task run
description: >
Get full details for a specific task run including status, stage, environment, branch, artifacts summary,
state, error message, and timestamps. Sandbox connection credentials (`state.sandbox_connect_token`,
`state.sandbox_url`) and the presigned `log_url` are omitted from the response.
feature_flag: tasks
response:
exclude:
- log_url
- state.sandbox_connect_token
- state.sandbox_url
tasks-runs-session-logs-retrieve:
operation: tasks_runs_session_logs_retrieve
enabled: true
scopes:
- task:read
annotations:
readOnly: true
destructive: false
idempotent: true
title: Get task run session logs
description: >
Fetch session log events emitted by the agent for a specific run. Supports filtering by `event_types`,
`exclude_types`, pagination with `limit`/`offset`, and `after` cursor. Use this instead of the streaming
endpoint when invoking from an MCP client.
param_overrides:
limit:
description: Maximum number of entries to return (default 100, max 5000)
default: 100
feature_flag: tasks
tasks-runs-set-output-partial-update:
operation: tasks_runs_set_output_partial_update
enabled: false
tasks-runs-start-create:
operation: tasks_runs_start_create
enabled: false
tasks-runs-stream-retrieve:
operation: tasks_runs_stream_retrieve
enabled: false
tasks-runs-stream-token-retrieve:
operation: tasks_runs_stream_token_retrieve
enabled: false
tasks-runs-task-session-retrieve:
operation: tasks_runs_task_session_retrieve
enabled: false
tasks-runs-task-session-sync-create:
operation: tasks_runs_task_session_sync_create
enabled: false
tasks-slack-thread-context-retrieve:
operation: tasks_slack_thread_context_retrieve
enabled: false
tasks-staged-artifacts-finalize-upload-create:
operation: tasks_staged_artifacts_finalize_upload_create
enabled: false
tasks-staged-artifacts-prepare-upload-create:
operation: tasks_staged_artifacts_prepare_upload_create
enabled: false
tasks-summaries-create:
operation: tasks_summaries_create
enabled: false
tasks-thread-messages-create:
operation: tasks_thread_messages_create
enabled: false
tasks-thread-messages-destroy:
operation: tasks_thread_messages_destroy
enabled: false
tasks-thread-messages-list:
operation: tasks_thread_messages_list
enabled: false
tasks-thread-messages-send-to-agent-create:
operation: tasks_thread_messages_send_to_agent_create
enabled: false
tasks-update:
operation: tasks_update
enabled: false
tasks-warm-create:
operation: tasks_warm_create
enabled: false