claude-agy
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| agent_listA | List every agent session on this machine in one view: Claude Code background sessions and live tmux sessions (Claude and agy), with harness, state, cwd and a short screen preview. Call this first — every other tool takes an id or name from here. |
| agent_inventoryA | What agent CLIs this machine actually has: the resolved binary path, its version, other installs that could shadow it, and (for agy) its configured MCP servers. Use before spawning so you know which build you are driving. |
| agent_modelsA | Known model ids and effort levels for each harness, plus the paths to change them by hand. Guidance, not a whitelist — the CLIs accept any id. |
| agent_readA | Read the recent output of a session. For a tmux session this is the screen with TUI chrome stripped; for a Claude background session it is that session's log. Pass |
| agent_spawnA | Start a new agent session. harness=claude uses Claude Code's native background session (preferred — it has a real id and a real log). harness=agy starts a tmux-hosted Antigravity session, because agy has no background mode. mode=tmux forces an interactive tmux session for either harness. |
| agent_spawn_manyA | Start several sessions at once — one per prompt, or N clones of one prompt. Returns the ids it created and any that failed, so a partial fan-out is visible instead of silent. |
| agent_sendA | Send a message to an existing session and, unless wait:false, wait for it to finish answering. Wraps the right mechanism per harness: a resumed background turn for Claude background sessions, keystrokes for a tmux session. |
| agent_interruptA | Stop a tmux-hosted agent mid-generation without killing its session, by sending Escape (then Ctrl-C if asked). The conversation is preserved. Use agent_stop to end the session instead. |
| agent_stopA | Stop a session. Claude background sessions keep their conversation and can be resumed; a tmux session is destroyed (its transcript on disk survives). Says which one it did. |
| agent_resumeA | Bring a stopped Claude background session back, optionally with a new message. Restarts it in the background under the same id. |
| agent_respawnA | Restart a Claude background session (or all of them) so it picks up the CURRENT Claude binary. Use after |
| agent_set_modelA | Change the model a session runs on. For a running tmux session this types the /model command and confirms the switch, because a live process cannot be re-pointed any other way. For a background session it applies on the next turn. |
| agent_wait_idleA | Block until a tmux-hosted agent stops producing output. Movement-based, not marker-based, so it works for any harness. Returns as soon as the screen has been stable for a few seconds. |
| agent_limitsA | Report whether a session is currently rate- or usage-limited, and the reset time the banner names if so. Reads the live pane rather than a counter, because these notices are rendered into the UI and never returned through any API. |
| agent_transcriptC | Where a session's conversation is stored on disk, so a caller can read the raw history itself. Resolves the config-dir indirection rather than guessing a path. |
| bridge_sendA | Send a message to another agent through the file-backed bridge (Claude Code and agy cannot call each other directly, and this is the channel that reaches them). A watcher wakes the other side, so this is how you hand off or ask for help. |
| bridge_inboxB | Read messages waiting for an agent on the bridge. Defaults to the calling agent's own inbox (opencode). |
| bridge_statusA | The bridge file's location, size, and which agent pairs are actually talking. Use it to check a channel exists before relying on it. |
| self_openbotA | Restart the agent host that is running this tool: opens a NEW terminal running the agent first, then retires the current process a few seconds later. Use after changing config, plugins or MCP servers that only take effect on restart — no human needed. Refuses if the replacement command is not on PATH, because killing the session with nothing to replace it is not recoverable through this channel. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools have distinct purposes (inventory vs list vs models, spawn vs spawn_many, stop vs interrupt vs respawn), and descriptions explicitly cross-reference each other to disambiguate. The only mild overlaps are agent_read with wait_idle versus agent_wait_idle, and agent_send versus bridge_send, but the channel distinction is explained.
Every tool is snake_case with a clear namespace prefix (agent_, bridge_, self_) grouping related operations. The verb_noun pattern is consistent throughout (agent_spawn, agent_read, bridge_send, bridge_status).
19 tools is on the heavier side but each covers a genuine operation across session lifecycle, bridge messaging, and self-management. Nothing is obviously redundant, though it sits near the upper bound for comfortable scoping.
The session lifecycle is well covered (inventory, list, spawn, read, send, interrupt, stop, resume, respawn, set_model, wait_idle, limits, transcript) plus a bridge channel and self-restart. Minor gaps like session cleanup or bulk stop exist, but core workflows have no dead ends.