Appearance
MCP tools
Every tool ahpc mcp and ahpc serve can serve, with its arguments. This page is built from the tool table in the client, so it matches the installed version.
core tools are always served. The others are served when --mcp-tools names their group. See Tool server.
core
| Tool | What it does | Arguments |
|---|---|---|
list_sessionscore, read only | The sessions on the connected host, newest first. Start here: every other session tool takes a session URI from this list. Give a limit to read one page and take nextCursor from the answer. | archivedbooleanInclude archived sessions. Off by default. limitintegerRead at most this many sessions. A positive whole number. Omit to read the whole catalogue. cursorstringThe nextCursor of the previous page. Omit to start from the newest session. |
show_sessioncore, read only | What the host says about one session: its title, what it is doing, and the directories it works in. | sessionstring, requiredA session URI from list_sessions. |
list_agentscore, read only | The harnesses this host serves and the models each offers. The provider name from here is what new_session takes. | |
new_sessioncore | Create a session on the host and return its URI. The agent is not asked anything until send_turn. | providerstringA provider from list_agents. The first one the host serves, if omitted. workingDirectorystringAn absolute path on the host for the agent to work in. configobjectConfiguration values, as a flat object of strings. |
dispose_sessioncore | Dispose of a session. The transcript is the host's to keep or drop; the agent behind it stops. | sessionstring, required |
session_historycore, read only | The turns in a session, oldest first, as text rather than as a tree of parts. | sessionstring, requiredallbooleanLoad the whole conversation rather than the window the host opened with. |
send_turncore | Say something to a session and block until the agent has finished answering, then return what it said. A turn that stops to ask a person something is not finished: this keeps waiting, and wait_for_attention is how to find out what it wants. | sessionstring, requiredtextstring, requiredWhat to say. modelstringA model id from list_agents. The session's own, if omitted. timeoutSecondsnumberHow long to wait. 900 by default. busyqueue | steerWhere a turn is already running: queue this behind it, or steer it into that turn. A running turn is refused without this. |
queue_turncore | Queue a message to be said once the running turn finishes. Returns at once, unlike send_turn. | sessionstring, requiredtextstring, required |
cancel_turncore | Interrupt whatever the agent is doing. What it had already said stays in the transcript. | sessionstring, required |
wait_for_attentioncore, read only | Block until the session needs an answer - a tool call to approve, a question to fill in - or until it goes quiet, and say which. This is what makes a session drivable from here: without it a caller has no way to see what send_turn is waiting on. | sessionstring, requireduntilstringinput, the default, waits for something that wants a person; idle waits for the session to go quiet. timeoutSecondsnumber300 by default. |
confirm_tool_callcore | Answer a tool call the agent is blocked on. The id comes from wait_for_attention. | sessionstring, requiredtoolCallIdstring, requiredapprovedboolean, requiredTrue to allow it, false to refuse. optionIdstringOne of the options the request offered, where it offered any. |
answer_questioncore | Fill in a question the agent put to a person. The request id and the fields come from wait_for_attention. | sessionstring, requiredrequestIdstring, requiredanswersobjectThe answers, keyed by question id. rejectbooleanDecline to answer instead. |
list_automationscore, read only | What the host runs on a schedule, whether each is on, and when it next fires. |
resources
| Tool | What it does | Arguments |
|---|---|---|
list_directoryresources, read only | What is in a directory the host serves. Takes a file:// URI on the host. | pathstring, requiredA file:// URI of a directory on the host. |
read_fileresources, read only | The contents of a file the host serves. Text comes back as text; anything the host sends as bytes comes back base64 with the encoding said. | pathstring, requiredA file:// URI on the host. |
write_fileresources | Write a file on the host, refusing if it changed since it was read. Pass force to write over whatever is there now. A host that has not granted write access to that directory refuses this, and only a person at the host can grant it. | pathstring, requiredA file:// URI on the host. contentstring, requiredThe whole new contents. This replaces the file. createOnlybooleanRefuse if the file already exists. forcebooleanWrite even if the file changed since it was last read. |
make_directoryresources | Create a directory on the host. | pathstring, required |
delete_pathresources | Remove something on the host. A directory needs recursive. | pathstring, requiredrecursivebooleanNeeded to remove a directory that is not empty. |
move_pathresources | Move something on the host, which is also how it is renamed. | fromstring, requiredtostring, requiredfailIfExistsbooleanRefuse rather than write over something already at the destination. |
copy_pathresources | Copy something on the host. | fromstring, requiredtostring, requiredfailIfExistsbooleanRefuse rather than write over something already at the destination. |
terminals
| Tool | What it does | Arguments |
|---|---|---|
list_terminalsterminals, read only | The terminals the host is running, with the URI each other terminal tool takes. | |
new_terminalterminals | Start a terminal on the host and return its URI. | workingDirectorystringAn absolute path on the host. namestring |
send_to_terminalterminals | Send a line to a terminal. A newline is added unless newline is false, because a shell runs lines rather than strings. | terminalstring, requiredA terminal URI from list_terminals or new_terminal. textstring, requirednewlinebooleanWhether to end it with a newline. True unless said otherwise. |
read_terminalterminals, read only | What a terminal has written so far. With waitSeconds it keeps reading until the process exits or that long passes, which is how a command that was just sent is waited on. | terminalstring, requiredwaitSecondsnumberWait this long for the process to exit before answering. Zero, the default, answers with what is there now. |
dispose_terminalterminals | Close a terminal on the host. | terminalstring, required |
automations
| Tool | What it does | Arguments |
|---|---|---|
run_automationautomations | Fire an automation now, without waiting for its schedule. Answers once the host has taken it, not once it has finished. | automationstring, requiredAn automation URI from list_automations. |
set_automation_enabledautomations | Stop an automation firing, or start it again. The definition stays either way. | automationstring, requiredenabledboolean, required |
remove_automationautomations | Delete an automation from the host. Use set_automation_enabled to stop one without losing it. | automationstring, required |
changes
| Tool | What it does | Arguments |
|---|---|---|
list_changesetschanges, read only | The changesets a session offers - what the conversation changed, what one turn changed, what the working tree has. Each is a URI show_changes takes. | sessionstring, required |
show_changeschanges, read only | The files in a changeset and how much each changed. The contents are not here: a changeset of two hundred files is a list worth having and megabytes that are not. Read one with read_file. | sessionstring, requiredchangesetstringA changeset URI from list_changesets. The session's own, if omitted. |