Skip to main content
Glama
aelaguiz

herdr-mcp

by aelaguiz

herdr-mcp

An MCP server that gives a coding agent control of a running Herdr terminal session: list workspaces, tabs, panes and agents, read pane output, prompt other agents, send keys, run commands, wait for state or output, and split or close panes.

It is a thin stdio bridge. Every tool shells out to the herdr CLI, which already speaks Herdr's socket API and answers with JSON envelopes. There is no daemon, no port, no config file, and no auth.

Requirements

  • herdr installed and on PATH (or set HERDR_BIN to its full path).

  • A running Herdr session. The server talks to whatever session the herdr CLI resolves from the environment (HERDR_SOCKET_PATH / HERDR_SESSION).

  • Python 3.12+ and uv.

Related MCP server: HT MCP Server

Run

From a checkout:

uv run herdr-mcp

Straight from GitHub, no checkout:

uvx --from git+https://github.com/aelaguiz/herdr-mcp herdr-mcp

The process serves MCP over stdio, so it prints nothing to stdout; logs go to stderr (HERDR_MCP_LOG_LEVEL=DEBUG for argv tracing).

Client configuration

Claude Code:

claude mcp add herdr -- uvx --from git+https://github.com/aelaguiz/herdr-mcp herdr-mcp

Generic mcpServers JSON (Claude Desktop, Cursor, Codex, and friends):

{
  "mcpServers": {
    "herdr": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/aelaguiz/herdr-mcp", "herdr-mcp"],
      "env": {}
    }
  }
}

From a local checkout instead:

{
  "mcpServers": {
    "herdr": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/herdr-mcp", "herdr-mcp"]
    }
  }
}

Tools

Pane ids look like w17:p1, tab ids like w17:t1, workspace ids like w17. Agent tools accept a pane id or an agent name. Every tool returns the parsed result object from the herdr JSON envelope; read_pane returns plain text.

Tool

What it does

list_workspaces

List workspaces with ids, labels, and aggregate agent status.

list_tabs

List tabs across the session.

list_panes

List panes with ids, workspace, tab, cwd, title, agent status.

list_agents

List panes running a detected agent, with kind and status.

get_agent

Show one agent's current state.

read_pane

Read pane output as text (source: visible, recent, recent-unwrapped, detection).

prompt_agent

Submit a prompt to an agent, optionally waiting until it settles.

wait_agent

Wait until an agent reaches idle/working/blocked/done/unknown.

send_text

Send literal text to a pane without Enter.

send_keys

Send key presses, e.g. ["ctrl-c"], ["esc"], ["enter"].

run_command

Run a command in a pane (text + Enter).

wait_for_output

Wait for a literal substring or Rust regex in pane output.

split_pane

Split a pane right or down and return the new pane id.

close_pane

Close a pane and whatever is running in it.

Failures from the CLI (unknown pane, timeout, dead socket) come back as MCP tool errors carrying herdr's own error code and message, so the model can correct itself.

Security

No auth, no sandbox, local stdio only. Any client that can start this server can run arbitrary commands in your terminal panes and read everything on screen, including whatever an agent pane is displaying. Only wire it up to clients you trust on your own machine.

Environment

Variable

Default

Meaning

HERDR_BIN

herdr

Path to the herdr binary.

HERDR_MCP_LOG_LEVEL

WARNING

Python log level (stderr).

Everything else in the environment is passed through untouched, which is how the CLI finds the right session socket.

Development

uv sync
uv run pytest -q

Unit tests drive the server through the SDK's in-memory client against a stub herdr script, so they never touch a live session.

Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to manage local tmux sessions, including creating and controlling sessions, windows, and panes, sending commands, and capturing terminal output.
    16
    8
    Do What The F*ck You Want To Public
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to programmatically control interactive terminal applications through HT sessions, supporting session management, key sending, snapshots, and command execution.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to orchestrate Herdr coding agents by wrapping its Unix-socket JSON-RPC API, providing tools for agent management, layout editing, and terminal interaction.

View all related MCP servers

Related MCP Connectors

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.

  • See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aelaguiz/herdr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server