agent-vm-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENT_MCP_HOST | No | Selects connection/deployment-specific host behavior. Supported values are `generic` (default) and `chatgpt`. | generic |
| AGENT_HERDR_BIN | No | Optional Herdr executable override. | |
| AGENT_STATE_DIR | No | Optional durable logical-agent metadata directory. | |
| MCP_BRIDGES_CONFIG | No | Path to the MCP bridges configuration file. | |
| AGENT_HERDR_SESSION | No | Herdr session name. Default: agent-vm-mcp. | agent-vm-mcp |
| AGENT_WORKSPACE_ROOT | No | Worktrees root. Default: ~/workspaces. | |
| AGENT_ARTIFACT_TTL_MS | No | Artifact TTL in milliseconds. Default: 24 hours. | |
| AGENT_HERDR_BOOTSTRAP | No | Herdr bootstrap mode: `auto` or `external`. | |
| AGENT_REPOSITORY_ROOT | No | Repository store root. Default: ~/.local/share/agent-vm/repositories. | |
| AGENT_ARTIFACT_MAX_BYTES | No | Maximum artifact read size in bytes. Default: 50 MiB. | |
| AGENT_FILE_IMPORT_MAX_BYTES | No | `import_file` maximum download size in bytes. Default: 256 MiB. | |
| AGENT_MCP_CAPABILITIES_CONFIG | No | Path to the CLI capabilities configuration file. | |
| AGENT_MCP_SYSTEM_AUDIT_CONFIG | No | Path to the system audit configuration file. | |
| PLAYWRIGHT_SHARED_PROXY_CONFIG | No | Path to the shared Playwright stdio proxy configuration file. |
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": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| present_fileA | Present a regular file from the Agent VM as an opaque MCP artifact resource. The VM filesystem path is not exposed in artifact metadata. |
| execA | Execute an arbitrary shell command on the dedicated disposable Linux agent VM. Oversized stdout/stderr use bounded head/tail previews plus separate artifacts. Use this for commands that complete on their own. For servers, watchers, REPLs, or other long-running/interactive commands, use process_start instead. Do not launch Codex, Antigravity CLI (agy), or Claude Code agent work through exec; use agent_start so coding agents run in persistent Herdr workspaces. Harmless --help/--version probes remain allowed. |
| read_fileA | Read a bounded UTF-8 text file or 1-based line range with structured line metadata. Use shell tools for binary or very large files. |
| list_directoryA | List one directory level as deterministic structured name/type entries, including dotfiles. This tool is intentionally non-recursive. |
| apply_patchA | Apply a strict standard unified diff relative to cwd. All hunks are validated before mutation; context mismatch rejects the entire patch without fuzzy or partial fallback. |
| workspace_createA | Create an isolated managed Git worktree backed by shared repository storage. Returns an immutable workspace ID and path for use as cwd with existing tools. |
| workspace_listA | Rediscover managed Git workspaces from durable filesystem and Git worktree state, including repository, HEAD/branch, and dirty status. |
| workspace_deleteA | Remove a managed Git worktree by immutable workspace ID. Dirty workspaces are refused unless force is explicitly true. |
| agent_capabilitiesB | Discover the Herdr agent runtime, configured persistent session, installed coding harnesses, active and suspended MCP-managed logical agents, native/runtime IDs, lifecycle states, resumability/legacy status, and per-harness installed skills/resume support. |
| agent_startA | Start a persistent interactive coding agent in a dedicated Herdr workspace. Use this, not exec or process_start, for coding-harness work; it is required for long-running, parallel, or cross-turn Codex/agy/Claude tasks. Production persistence requires the separately managed Herdr service; startup trust/auth prompts are reported, never auto-approved. |
| agent_getA | Inspect one MCP-managed Herdr agent, including lifecycle state and detected interactions that require an orchestration policy decision. requiresDecision means the caller must apply its delegation policy; it does not imply automatic human escalation. |
| agent_readC | Read bounded terminal transcript from an MCP-managed Herdr agent. Use recent-unwrapped for orchestration-oriented text inspection. |
| agent_promptB | Submit a task to an MCP-managed coding agent after a positive readiness check. Preflight or pre-spawn rejection is not submitted; timeout/cancellation after Herdr starts is possibly submitted and unsafe to auto-retry. |
| agent_send_keysA | Send only bounded control/navigation keys to an MCP-managed agent terminal after the orchestrator has inspected the current interaction and determined the action is authorized under the caller delegation policy. The runtime does not grant approval or decide whether human escalation is required. Arbitrary text must use agent_prompt instead. |
| agent_suspendA | Suspend an idle or finished MCP-managed logical agent by closing its dedicated Herdr workspace while retaining a uniquely attributed native harness session ID. Use at a task/turn boundary to release runtime resources; legacy agents and sessions without verified native attribution fail clearly. This is distinct from agent_stop, which discards the logical agent. |
| agent_resumeA | Resume a suspended logical coding-agent session by creating a fresh Herdr workspace and launching the harness with its verified native session/conversation ID. This continues the same conversation; start a new agent for independent work. Fails clearly when native resume is unavailable. |
| agent_stopA | Stop an MCP-managed agent with destructive terminal semantics: close its dedicated Herdr workspace when active, or discard its durable logical metadata when suspended. This never stops the shared Herdr session or other agents. |
| import_fileB | Import a host-provided file into the Agent VM without routing file bytes through model context. |
| command_infoA | Inspect whether named CLI commands are available on the VM. Curated commands also include category, summary, and detected version metadata. |
| process_startA | Start a long-running or interactive non-agent shell command and keep it alive across MCP tool calls. Returns a processId for process_read, process_write, and process_kill. Do not use process_start for Codex, Antigravity CLI (agy), or Claude Code agent work; use agent_start because Herdr provides dedicated parallel workspaces and survives MCP/conversation lifecycle changes. |
| process_listA | List process sessions created by process_start so persistent processes can be rediscovered across MCP client or conversation changes. |
| process_readA | Read incremental stdout/stderr and status from a process started by process_start. Pass the returned next offsets on later reads to receive only new output. |
| process_writeB | Write to stdin of a running process started by process_start. |
| process_killB | Send SIGTERM, SIGINT, or SIGKILL to a process group started by process_start. |
| system_auditB | Run a read-only Agent VM maintenance audit: auto-discover managed/custom tools, check update sources, service/repository health, APT updates, and project dependency drift. Unknown newly discovered tools are surfaced in coverage.untracked instead of being silently omitted. |
| capabilitiesB | Discover the VM execution environment: host/runtime details, curated CLI capabilities, native MCP tools, and connected upstream MCP bridges. |
| mcp_bridge_statusA | Report configured upstream MCP bridges, their connection state, and forwarded tool-name mappings. |
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 27 tools
Tool purposes are largely distinct: exec vs process_start vs agent_start have explicit boundary guidance, and agent_* lifecycle tools map to unique operations. Minor overlap remains between capabilities and agent_capabilities, and agent_get/agent_read are somewhat close, but descriptions clarify intent.
A clear noun_verb/prefix pattern dominates (workspace_*, agent_*, process_*), but there are deviations: exec, read_file, import_file, present_file, apply_patch, and command_info use a different verb-first style, and the bare capabilities tool mixes conventions.
27 tools is heavy for a VM execution server, exceeding the 25-tool threshold. The large agent_* cluster plus separate process_* lifecycle families adds surface area and cognitive load, though each tool does earn some place.
Strong lifecycle coverage: file read/import/present, workspace CRUD, process start/read/write/kill/list, and full agent start/get/read/prompt/suspend/resume/stop. Minor gaps exist, such as no file write/delete counterpart to read_file and no explicit directory-creation or move operation.