Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

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

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
herdr_pingA

Ping the herdr server. Returns the server version and protocol.

herdr_session_snapshotA

Dump the full herdr session: workspaces, tabs, panes, layouts and agents. Useful for debugging the entire state at once.

herdr_workspace_listA

List all open workspaces in herdr.

herdr_workspace_getA

Get a single workspace by id. Returns label, tab/pane count, worktree info if linked.

herdr_tab_listA

List tabs, optionally filtered to a workspace. Each tab has tab_id, label, pane_count, agent_status.

herdr_tab_getA

Get a single tab by id. Returns label, pane_count, workspace_id, agent_status.

herdr_pane_listA

List all panes, optionally filtered to a workspace. Each pane has pane_id, cwd, agent_status, terminal info.

herdr_pane_getA

Get pane info by id. Returns cwd, terminal_id, agent_status, agent (if running opencode), terminal_title, scroll info.

herdr_pane_splitA

Split a pane, creating a new pane to the right or below. Returns the new pane's pane_id. Essential for launching reviewers in a clean pane.

herdr_pane_send_inputA

Send text and/or key presses to a pane in one call. Used for warm-up (PING_REPLY_WITH_PONG) and sending commands. Keys are key names like Enter, CtrlC, Backspace.

herdr_pane_wait_for_outputA

Block until the pane output matches a substring or regex, then return the read. More efficient than polling. Returns the matched output lines.

herdr_agent_startA

Launch an opencode agent in a pane. Returns agent info. May need retries if the pane is not ready yet ('not an available shell').

herdr_agent_promptA

Send a prompt to an agent running in a pane. Optionally block until the agent reaches one of these statuses: idle, working, blocked, done, unknown.

herdr_agent_getA

Get agent info by target (pane id, session id or path). Returns agent_status (idle/working/blocked/done/unknown), terminal_title, interactive_ready. Note: agent_status is nested under .agent.agent_status.

herdr_agent_waitA

Block until the agent reaches one of the given statuses (idle, working, blocked, done, unknown). Alternative to polling agent.get in a loop.

herdr_agent_readA

Read recent output from an agent's terminal. Used to check for TASK_COMPLETE, blocked questions, or any agent output. For warm-up: read ~400 lines from 'recent' looking for PONG.

herdr_agent_send_keysA

Send key presses to an agent's terminal. Useful for recovery (CtrlC to interrupt a stuck agent) or TUI navigation.

herdr_worktree_createA

Create a git worktree and open it as a herdr workspace. Returns workspace_id, root_pane.pane_id (for agent.start), and worktree info. The pane may need retries for agent.start if 'not an available shell'.

herdr_worktree_removeA

WARNING: Destructive: deletes the worktree checkout and closes its workspace. Does NOT delete the git branch (use git branch -D separately).

herdr_worktree_listA

List git worktrees for a repository. Returns branch, path, is_linked_worktree, open_workspace_id for each.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 20 tools

Disambiguation5/5

Each tool targets a distinct resource and action: workspace list/get, tab list/get, pane list/get/split/send_input/wait_for_output, agent start/prompt/get/wait/read/send_keys, and worktree list/create/remove. Even similar tools like pane_send_input and agent_send_keys are clearly differentiated by target (pane vs. agent). No two tools appear to do the same thing.

Naming Consistency4/5

The overwhelming majority follow a consistent [resource]_[action] pattern (e.g., workspace_list, pane_split, agent_start, worktree_remove). Exceptions like herdr_ping (verb only) and herdr_session_snapshot (compound noun) are minor deviations that do not obscure the pattern.

Tool Count4/5

20 tools is on the higher end but appropriate for the server's broad scope of session management (workspaces, tabs, panes, agents, worktrees). Each tool serves a distinct operational need; none feel redundant. It is slightly above the typical well-scoped range but justified by the domain complexity.

Completeness4/5

The tool surface covers list/get for workspaces, tabs, and panes, pane splitting, input/wait operations, agent lifecycle management (start, prompt, get, wait, read, send_keys), and worktree create/remove. Minor gaps exist, such as no explicit pane close or tab management beyond listing, but these can be worked around (e.g., using send_keys or worktree removal).