herdr-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HERDR_BIN | No | Path to the herdr binary. | herdr |
| HERDR_SESSION | No | Herdr session identifier. | |
| HERDR_SOCKET_PATH | No | Path to the Herdr session socket. | |
| HERDR_MCP_LOG_LEVEL | No | Python log level (stderr). | WARNING |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_workspacesA | List Herdr workspaces with their ids, labels, and aggregate agent status. |
| list_tabsA | List tabs across the session. Tab ids look like |
| list_panesA | List every pane with its id, workspace, tab, cwd, title, and agent status. |
| list_agentsA | List panes running a detected coding agent, with agent kind and status. |
| get_agentA | Show one agent's current state. |
| read_paneA | Read a pane's terminal output as plain text. |
| prompt_agentA | Submit a prompt to an agent pane (types the text and submits it). |
| wait_agentA | Wait until an agent reaches one of the requested states. |
| send_textA | Send literal text to a pane without pressing Enter. |
| send_keysA | Send key presses to a pane, e.g. ["enter"], ["esc"], ["ctrl-c"]. |
| run_commandA | Run a shell command in a pane (sends the command text and Enter). |
| wait_for_outputA | Wait until a pane's output matches a pattern. |
| split_paneA | Split a pane and return the new pane's id. |
| close_paneA | Close a pane and any process running in it. pane: pane id like |
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 14 tools
Most tools have clearly distinct resource/action pairs (list_panes, list_agents, split_pane, close_pane, wait_agent, wait_for_output). The main ambiguity is among send_text, send_keys, run_command, and prompt_agent, since all deliver input to a pane; the descriptions largely clarify them, but an agent could still misselect send_text vs run_command or prompt_agent when composing an action.
Almost every tool follows a clear verb_noun pattern: list_*, get_agent, prompt_agent, wait_agent, send_text, send_keys, run_command, split_pane, close_pane. The plural/singular list_* vs get_ is conventional and predictable, and there are no mixed casing or random names.
14 tools is a well-scoped number for a terminal/agent-orchestration server. Each tool covers a meaningful operation without excessive redundancy or an overwhelming surface.
The surface covers orientation, reading output, sending input and keys, running commands, waiting for output/agent state, splitting panes, and closing panes—so core workflows are solid. The main gap is that there is no explicit way to create a new workspace or tab, only split an existing pane, which limits some session-management scenarios.