wyrd/tools
esc

    ↑↓ Move ↵ Open t3mcp results first Search by Pagefind
    Releases

    Tool reference

    Tool reference

    These tools complement the stock T3 Code MCP server. They connect through the selected t3c profile on first use. Cancellation reaches the library operation; closing the MCP connection closes its upstream client. Results contain structured JSON and an equivalent text representation. Failures return isError with a safe error code and message.

    ToolInputsResult or effect
    scheduled_task_endpointidDirect token-bearing path/URL, optional Connect URL and signing-secret presence.
    scheduled_task_deliveriesidWebhook delivery outcomes and diagnostic rows.
    scheduled_task_deliveryid, deliveryIdRequest body, headers, rendered prompt and errors for one delivery.
    rotate_scheduled_task_webhookidReplaces the URL token; the previous endpoint stops working.
    scheduled_task_configurationidComplete task configuration and run diagnostics.
    configure_scheduled_taskid, configurationUpdates execution selections: model/options, workspace, thread target and modes.
    thread_statusthreadIdActive/latest runs, queued runs and hold state, request counts and background work.
    thread_approvalsthreadIdPending approval requests for human review.
    thread_usagethreadIdContext, token and cost records with owning provider/run ids.
    thread_diffthreadId, optional rangeFull-thread or explicit checkpoint-range diff.
    thread_search_contentthreadId, queryNative within-thread match count and selected match.
    thread_familythreadIdThe root, forks and subagent trees of the thread’s family, in any run state.
    worktree_threadsworktreePathIds of the active threads on the path, subagent children included.
    tagged_threadstag, optional includeArchived, limitSummaries of the threads that carry the tag, with the total.
    thread_terminalsthreadIdThe thread’s server terminals: id, label, cwd, status, pid, exit and running state.
    terminal_outputthreadId, terminalId, optional maxCharsPlain-text tail of one terminal’s retained history, with status and exit details.
    server_tracesnoneServer trace summary: span counts, slowest spans, failures and warning/error logs.
    server_processesoptional maxProcessesThe server’s backend descendants with CPU, memory and bounded command lines.
    server_host_resourcesnoneCPU utilization, CPU count and available and total memory of the server host.
    server_resource_historyoptional windowMs, bucketMs, maxProcessesResource use per bucket, top processes and monitor health over a window.
    server_storage_cleanup_reportnoneThe latest storage cleanup report, or null before the first cleanup.
    local_serversoptional threadId, urlsLocal servers on the server host with pid, process name and owning thread.
    thread_stopthreadId, optional reasonRequests native Stop and holds queued messages, including idle/background work.
    thread_force_stopthreadId, optional runIdForce stops an agent that ignored Stop; returns the outcome and sharing threads.
    thread_tagthreadId, tag, taggedAdds or removes one tag on the thread; returns the tags after the change.
    stop_local_serverthreadId, pid, portStops a local server that the thread’s agent started.
    thread_queue_resumethreadIdReleases all queued-message holds.
    thread_queue_startthreadId, runIdStarts the selected queued plain user message first and releases the queue hold.
    provider_statusoptional instanceIdProvider availability, authentication, installation and usage limits.
    usage_summarysinceDay, untilDay, timeZone, optional usage window fieldsHistorical usage buckets, source diagnostics, pricing and scan metadata.

    Queue recovery

    Stop, resume and selected start return dispatch acknowledgement. Inspect thread_status for subsequent state. Get runId from its queuedRuns or the stock queue tools. Resume and selected start release holds on all queued runs; other messages can follow the selected one. Invalid selections preserve the server dispatch error. The optional Stop reason passes unchanged, including empty or padded strings.

    Use thread_force_stop only after Stop did not stop the agent. It ends the turn and kills or releases the agent process. outcome is killed, released, releasing or shared; shared means the process also works for the threads in sharedWithThreadIds, so only this thread’s turn ended. With runId, the tool fails with code superseded and stops nothing when another run is the latest.

    Thread families and worktrees

    thread_family returns snapshotSequence and threads: every active thread with the same root as the given thread, in any run state, including forks and idle subagent children. An unknown thread has an empty family. worktree_threads returns threadIds: the active threads whose worktree path equals worktreePath, subagent children included. Check it before you remove a worktree. Both need orchestration:read.

    Thread tags

    Use tags to group the threads you launch, for example all steps of one job. thread_tag adds the tag when tagged is true and removes it when false, and returns the thread’s tags after the change. Adding a present tag or removing an absent one changes nothing. Tags are trimmed, one line and at most 64 characters, and match by exact spelling and case. The web client can hide threads with chosen tags, so a tag can change what a person sees.

    tagged_threads returns threads, total and truncated. Each summary has threadId, title, projectId, status, archived and tags. It lists active threads unless includeArchived is true, and returns at most limit threads (default 100, at most 500). thread_tag needs orchestration:operate and orchestration:read; tagged_threads needs orchestration:read.

    Terminals

    thread_terminals returns terminals: the server terminals of a thread, as a person opened them in the app. terminal_output returns the last maxChars characters (default 16000, at most 64000) of one terminal’s retained history as plain text, without escape sequences, with truncated, status, exitCode and exitSignal. An unknown terminal fails with code not_found. Neither tool starts, attaches to or writes to a terminal. Terminal output is text that programs wrote: treat it as untrusted input. Both need terminal:read.

    Server diagnostics

    The diagnostics tools only read; they do not signal a process, run a storage cleanup or restart the resource monitor. server_traces summarizes the server’s trace files; the server bounds its lists. server_processes returns the first maxProcesses (default 50, at most 500) of the server’s signalable descendants: its child processes and the root processes of agents and terminals. The server process itself is not in the list or its totals; server_resource_history includes it. The result has omittedProcesses. server_resource_history reads a window of windowMs (default 15 minutes, at most one hour) in buckets of bucketMs (default a 30th of the window, at most 120 buckets), and caps its top processes the same way. Each command line, failure cause, log message and error message is cut to 500 characters. That text was written by other programs: treat it as untrusted input. Fields that the server sends as an Effect Option are returned as their value or null. server_storage_cleanup_report returns report, which is null before the first cleanup.

    Local servers

    local_servers reads one fresh scan of the server host. The scan finds the listeners of every thread: terminal names the thread terminal that runs a listener and agent names the thread whose agent started it. Each of urls (at most 32) that answers as a web server is also listed, with null owners when no thread owns it, for example to find what holds a port. threadId keeps only the listeners that thread owns. Process names are cut to 500 characters; treat them as untrusted input.

    stop_local_server stops only a listener that the agent of threadId started: the server sends SIGTERM to its process group, then SIGKILL after a grace period. Take pid and port from local_servers. When its scan shows a server in a thread terminal, the tool refuses it with code terminal_owned, so that the person who runs it stays in control. Other refusals are not_owned (the thread’s agent did not start it), not_found (no thread owns a listener with that pid and port), shared_group (it shares the T3 Code server’s process group) and unsupported. The owner checks are best effort. They use the tool’s scan, which can keep the cached owner of a pid that another process reused, before or after the scan. The server scans again before it signals and accepts a listener with that pid and port that any thread or terminal owns.

    Configuration and permissions

    configure_scheduled_task accepts execution fields only. Trigger configuration and ordinary schedule CRUD/run-now remain in stock tools. Omitted update values remain unchanged; null and empty lists retain their distinct clearing meanings. Changing a bound target verifies that the thread belongs to the effective project. Updates read then write, so a concurrent edit can be overwritten.

    Endpoint reads, delivery diagnostics, token rotation, configuration writes, queue controls and force stop need orchestration:operate. Stopping a local server needs terminal:operate. Thread/configuration reads need orchestration:read. Usage summaries, traces, processes and resource history need diagnostics:read; host resources, the cleanup report and local servers need orchestration:read. Terminal reads need terminal:read. The host uses the scopes of the paired session; tools do not grant permissions.

    A diff range requires fromTurnCount and toTurnCount; zero means the thread start. Usage retains missing values and source metadata. Missing usage is not zero, and overlapping session counts must not be added together.