authorgravatar for me@t3.ggTheo Browne <me@t3.gg> 2026-10-05 14:57:49-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-10-05 14:57:49-07:00
logf5eb25071c042c4a729ddae9fd07bd81804907da
treea5ace875dbd84222bbbd7d7aceb72b989f66bf53
parent5eb87730871ac6125266b48b98d067de00a19ec7
signature Signed by PGP key B5690EEEBB952194

docs(mcp): thread tools reach threads in any project (#15947)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

1 files changed, 17 insertions(+), 14 deletions(-)

docs/orchestration-v2/orchestrator-mcp-server.md+17-14
......@@ -9,7 +9,7 @@ agent can use this endpoint to:
99- wait for or poll the sub-agent's durable result;
1010- cancel an active delegated task; and
1111- create one or more ordinary top-level T3 threads;
12- list and incrementally read project threads;
12- list a project's threads and incrementally read any thread;
1313- rename threads, regenerate titles, and link or unlink pull requests;
1414- send or steer follow-up messages; and
1515- wait for or interrupt ordinary thread runs.
......@@ -20,7 +20,7 @@ only the supplied task prompt, plus an optional role instruction supplied in
2020the same tool call. Parent conversation history is not copied into the child.
2121
2222`ThreadManagementService` is the shared server application boundary for V2
23WebSocket commands and MCP. It owns project-scoped lookup, listing, send-mode
23WebSocket commands and MCP. It owns thread lookup, listing, send-mode
2424selection, durable send postconditions, wait polling, and interrupt selection;
2525`OrchestratorV2` remains the lower-level command/event processor. Transport
2626adapters only authenticate, resolve transport-specific inputs, and shape
......@@ -331,15 +331,16 @@ launching again. `create_threads` remains the batch option for a shared checkout
331331
332332### `t3_thread_list`
333333
334Lists durable thread shells in the calling thread's project, newest first.
335Callers can filter by title, run status, and whether app-owned sub-agent threads
336are included. Results are bounded and offset-paginated. Deleted threads and
337threads from other projects are never exposed.
334Lists durable thread shells in one project, newest first: `projectId` when
335given, else the calling thread's project. Callers can filter by title, run
336status, and whether app-owned sub-agent threads are included. Results are
337bounded and offset-paginated. Deleted threads are never listed.
338338
339339### `t3_thread_read`
340340
341Reads a project-scoped thread's durable state, recent runs, and visible
342timeline. The default `messages` view returns user messages, assistant
341Reads the durable state, recent runs, and visible timeline of any thread in
342the environment by thread ID. A deleted thread returns `thread_not_found`. The
343default `messages` view returns user messages, assistant
343344messages, and proposed plans. The `activity` view also returns summarized tool,
344345reasoning, checkpoint, handoff, and runtime-request items. Large item text is
345346bounded and reports whether it was truncated. `afterPosition` and
......@@ -353,7 +354,7 @@ distinguishable from human-authored messages.
353354
354355### `t3_thread_update`
355356
356Updates metadata for the calling thread or another thread in the same project.
357Updates metadata for the calling thread or any other thread in the environment.
357358The typed actions are `rename`, `regenerate_title`, `link_pull_request`, and
358359`unlink_pull_request`. A link input supplies the repository, number, and URL;
359360the server records the target thread's project ID. Branch and workspace changes
......@@ -367,7 +368,7 @@ detail also exposes an in-flight title regeneration.
367368
368369### `t3_thread_send`
369370
370Sends a message to an ordinary or delegated thread in the calling project:
371Sends a message to any ordinary or delegated thread in the environment:
371372
372373- `auto` starts an idle thread, steers a fully active turn, or queues behind a
373374 turn that is not yet steerable;
......@@ -434,9 +435,11 @@ results use the latest assistant content from the final work turn.
434435 mode. It may not escalate privileges.
435436- A child interaction mode may stay equal to or narrow from `default` to
436437 `plan`. It may not escalate from `plan` to `default`.
437- General thread management is limited to the calling thread's project. Send
438 additionally enforces the same runtime and interaction privilege ceiling as
439 child creation.
438- Thread tools take any thread in the environment as a target. For a thread
439 caller, list and search cover one project: its own unless `projectId` is given.
440- A tool that changes another thread needs the calling thread's live run, and
441 the target's runtime and interaction modes may not be broader than the
442 caller's. This is the same privilege ceiling as child creation.
440443- Provider instances must be enabled, installed, available, authenticated, and
441444 backed by a V2 adapter.
442445- A requested model must be advertised by the selected provider when the
......@@ -497,7 +500,7 @@ Coverage includes:
497500- async status polling;
498501- cancellation;
499502- batch ordinary-thread creation;
500- project-scoped thread listing and timeline reads;
503- thread listing and timeline reads, including another project's threads;
501504- ordinary-thread send, wait, steering, and interruption;
502505- inheritance and per-thread provider overrides; and
503506- idempotent retries.