MCP tools
Every tool the run-scoped MCP server advertises, its arguments, and whether it reads the run or acts on it.
MCP server tools — 12 rows exported from
src/mcp/tools.rs
The read tools
run_status
The resolved run's registry row, re-read at call time: title, lifecycle state, progress line, `state_units` and `display_tasks` counts, worktree and branch, the recorded stop, and the owning process and its cleanup state.
Takes no arguments.
Any argument not listed above is rejected.
list_runs
Every run visible in the repository. `scope: "active"` returns the non-finished runs; the default is `all`.
| argument | accepts | what it is |
|---|---|---|
|
scope
optional |
string · one of all, active | `all` (default) returns every run; `active` returns every non-finished run, matching ordinary `gantry list`. |
Any argument not listed above is rejected.
read_ledger
The run's PROGRESS.md ledger, one row per projected task: its id, task path, title, latest ledger status, and whether the ledger has it DONE.
Takes no arguments.
Any argument not listed above is rejected.
read_plan
The raw Markdown stored in the run's `about.md` card.
Takes no arguments.
Any argument not listed above is rejected.
list_tasks
The run's tasks as the pattern declares them, under the pattern's name: a tree of nodes each carrying its id, task path, title and status, nested to the depth the pattern runs at.
Takes no arguments.
Any argument not listed above is rejected.
read_report
A named diagnosis report under the run's reports/ directory.
| argument | accepts | what it is |
|---|---|---|
|
name
required |
string | The report file name under reports/. |
Any argument not listed above is rejected.
tail_history
Recent records from the run's history.jsonl activity journal, with line/byte bounds.
| argument | accepts | what it is |
|---|---|---|
|
lines
optional |
integer · at least 0 | Trailing line count to return. |
|
max_bytes
optional |
integer · at least 0 | Maximum bytes to return. |
Any argument not listed above is rejected.
tail_log
A named stage log with line and byte bounds. `task_path` is the owning task's outermost-first position in the run tree; an omitted or empty path selects a run-root log.
| argument | accepts | what it is |
|---|---|---|
|
lines
optional |
integer · at least 0 | Trailing line count to return. |
|
max_bytes
optional |
integer · at least 0 | Maximum bytes to return. |
|
name
required |
string | The log file name under the selected task's logs/. |
|
task_path
optional |
array of string | The task's outermost-first position in the run tree. An omitted or empty value selects a run-root log. |
Any argument not listed above is rejected.
worktree_info
The run's worktree git state: branch, porcelain status, the 20 most recent commits, and the diff from the merge-base with the run's pinned home branch, bounded to 64 KiB. A run merged back and its worktree removed answers `live: false`.
Takes no arguments.
Any argument not listed above is rejected.
list_processes
The run's recorded process groups: their owner, state, process-group id, purpose, and recorded and sampled fields. A stray group's remedy is the `gantry stop <name>` command string.
Takes no arguments.
Any argument not listed above is rejected.
The action tools
run_bash
Runs a shell command in the run's worktree with the wrapper state coding agents use. Results report whether the process fence, a custom wrapper, or no wrapper was active.
| argument | accepts | what it is |
|---|---|---|
|
command
required |
string | The shell command to run in the run's worktree. |
|
timeout_secs
optional |
integer · at least 1 | Per-call wall-clock timeout in seconds (default 120, capped at 3600). |
Any argument not listed above is rejected.
answer_prompt
Answers a pending prompt on the live engine by prompt id. The answer form must match the prompt kind; without a live engine the tool returns a failed result.
| argument | accepts | what it is |
|---|---|---|
|
choice
optional |
string | The option selected for a choice prompt; it must be one the prompt offers. Exactly one of confirm, text, or choice is required. |
|
confirm
optional |
boolean | The y/N answer for a confirm prompt. Exactly one of confirm, text, or choice is required. |
|
prompt_id
required |
integer · at least 0 | The correlation id from the PromptNeeded event identifying the pending prompt to answer. |
|
text
optional |
string | The free-text answer for a text prompt. It never answers a choice or confirm prompt. Exactly one of confirm, text, or choice is required. |
Any argument not listed above is rejected.