Skip to main content
Glama
aelaguiz

herdr-mcp

by aelaguiz

herdr-mcp

Un servidor MCP que permite a un agente de codificación controlar una sesión de terminal de Herdr en ejecución: listar workspaces (espacios de trabajo), pestañas, paneles y agentes; leer la salida de los paneles; enviar prompts a otros agentes; enviar pulsaciones de teclas; ejecutar comandos; esperar a alcanzar un estado o una salida; y dividir o cerrar paneles.

Es un puente stdio ligero. Cada herramienta invoca la CLI herdr como subproceso, que ya habla con la API de socket de Herdr y responde con sobres JSON. No hay demonio, ni puerto, ni archivo de configuración, ni autenticación.

Requisitos

  • herdr instalado y en el PATH (o define HERDR_BIN con su ruta completa).

  • Una sesión de Herdr en ejecución. El servidor habla con la sesión que la CLI herdr resuelva desde el entorno (HERDR_SOCKET_PATH / HERDR_SESSION).

  • Python 3.12+ y uv.

Related MCP server: HT MCP Server

Ejecución

Desde una copia local:

uv run herdr-mcp

Directamente desde GitHub, sin copia local:

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

El proceso sirve MCP a través de stdio, por lo que no imprime nada en stdout; los registros van a stderr (HERDR_MCP_LOG_LEVEL=DEBUG para el trazado de los argumentos).

Configuración del cliente

Claude Code:

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

JSON mcpServers genérico (Claude Desktop, Cursor, Codex y similares):

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

Como alternativa, desde una copia local:

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

Herramientas

Los ids de los paneles tienen la forma w17:p1, los ids de las pestañas w17:t1 y los ids de los workspaces w17. Las herramientas de agente aceptan un id de panel o un nombre de agente. Cada herramienta devuelve el objeto result analizado del sobre JSON de herdr; read_pane devuelve texto plano.

Herramienta

Qué hace

list_workspaces

Lista los workspaces con sus ids, etiquetas y el estado agregado de los agentes.

list_tabs

Lista las pestañas de toda la sesión.

list_panes

Lista los paneles con su id, workspace, pestaña, cwd, título y estado del agente.

list_agents

Lista los paneles que ejecutan un agente detectado, con su tipo y su estado.

get_agent

Muestra el estado actual de un agente.

read_pane

Lee la salida del «pane» como texto (source: visible, recent, recent-unwrapped, detection).

prompt_agent

Envía un prompt a un agente, con la opción de esperar a que se establezca.

wait_agent

Espera a que un agente alcance el estado idle/working/blocked/done/unknown.

send_text

Envía texto literal a un panel sin Enter.

send_keys

Envía pulsaciones de teclas, p. ej. ["ctrl-c"], ["esc"], ["enter"].

run_command

Ejecuta un comando en un panel (texto + Enter).

wait_for_output

Espera una subcadena literal o una regex de Rust en la salida del panel.

split_pane

Divide un panel a la derecha o hacia abajo y devuelve el id del nuevo panel.

close_pane

Cierra un panel y todo lo que se esté ejecutando en él.

Los fallos de la CLI (panel desconocido, timeout, socket muerto) se devuelven como errores de herramienta MCP con el propio código de error y mensaje de herdr, de modo que el modelo pueda corregirse solo.

Seguridad

Sin autenticación, sin sandbox, solo stdio local. Cualquier cliente que pueda iniciar este servidor puede ejecutar comandos arbitrarios en los paneles de tu terminal y leer todo lo que aparece en pantalla, incluido lo que esté mostrando un panel de agente. Conéctalo únicamente a clientes de confianza en tu propia máquina.

Entorno

Variable

Default

Significado

HERDR_BIN

herdr

Ruta del binario de herdr.

HERDR_MCP_LOG_LEVEL

WARNING

Nivel de los logs de Python (stderr).

Todo lo demás del entorno se transfiere sin cambios, que es como la CLI encuentra el socket correcto de la sesión.

Desarrollo

uv sync
uv run pytest -q

Las pruebas unitarias ejercitan el servidor a través del cliente en memoria del SDK contra un backend simulado herdr, por lo que nunca tocan una sesión real.

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