Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 25 additions & 3 deletions docs/orchestration-v2/orchestrator-mcp-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ agent can use this endpoint to:
- create one or more ordinary top-level T3 threads;
- list a project's threads and incrementally read any thread;
- rename threads, regenerate titles, and link or unlink pull requests;
- send or steer follow-up messages; and
- wait for or interrupt ordinary thread runs.
- send or steer follow-up messages;
- wait for or interrupt ordinary thread runs; and
- schedule recurring work that runs without an active turn.

These are T3 orchestration operations, not provider-native sub-agent APIs.
Delegated tasks always create a T3 child thread and run. The child receives
Expand Down Expand Up @@ -196,7 +197,12 @@ provider selection model-visible without allowing a request that cannot run.

## Tool Surface

The server exposes eleven orchestration tools.
`OrchestratorToolkit` in
[`toolkits/orchestrator/tools.ts`](../../apps/server/src/mcp/toolkits/orchestrator/tools.ts)
is the authoritative list of orchestration tools. The sections below cover
delegation and thread tools. `t3_thread_launch` is documented with them but
registered by the project toolkit in
[`toolkits/project/tools.ts`](../../apps/server/src/mcp/toolkits/project/tools.ts).

### `orchestrator_capabilities`

Expand Down Expand Up @@ -458,6 +464,22 @@ Without `runId`, it selects the newest interruptible run. A terminal run is
returned unchanged, and a thread with no active provider turn returns
`no_active_run`.

### Scheduled tasks

`schedule_task`, `list_scheduled_tasks`, and `delete_scheduled_task` manage
recurring work in the app scheduler; `schedule_task` with a `scheduledTaskId`
updates an existing task. A schedule
runs its prompt on an interval, at a fixed time in the server's local time
zone, or on each qualifying webhook request, even when no turn is active.
Without a signature, anyone with the webhook URL can trigger a run.
Signature checks, filters, and dedupe can skip a webhook request.
`bindToCurrentThread` defaults to `true` only when the caller has a thread in
the task's project; otherwise it defaults to `false`. Bound runs post into
that thread; unbound runs each launch a fresh thread in the task's project.
Explicit `bindToCurrentThread: true` without a caller thread in that project
is rejected. Pausing uses `schedule_task` with `scheduledTaskId` and `enabled: false`;
deletion is permanent.

## Delegated Task Lifecycle

The MCP server is a command ingress into V2. It does not call provider adapters
Expand Down
Loading