Skip to main content
Glama
aelaguiz

herdr-mcp

by aelaguiz

herdr-mcp

MCP-сервер, который даёт агенту программирования управление запущенным сеансом терминала Herdr: перечисление рабочих областей, вкладок, панелей и агентов, чтение вывода панелей, отправка запросов другим агентам, отправка нажатий клавиш, выполнение команд, ожидание состояния или вывода, а также разделение и закрытие панелей.

Это тонкий мост через stdio. Каждый инструмент обращается к CLI herdr, который уже говорит с сокетным API Herdr и отвечает JSON-конвертами. Никакого демона, портов, конфигурационных файлов и аутентификации нет.

Требования

  • herdr установлен и находится в PATH (или укажите переменную HERDR_BIN с полным путём к нему).

  • Запущенная сессия Herdr. Сервер работает с той сессией, которую CLI herdr определяет из окружения (HERDR_SOCKET_PATH / HERDR_SESSION).

  • Python 3.12+ и uv.

Related MCP server: HT MCP Server

Запуск

Из локального клона:

uv run herdr-mcp

Прямо с GitHub, без клонирования:

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

Процесс обслуживает MCP через stdio, поэтому ничего не выводит в stdout; журнал идет в stderr (HERDR_MCP_LOG_LEVEL=DEBUG для трассировки аргументов).

Конфигурация клиента

Claude Code:

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

Универсальный JSON mcpServers (Claude Desktop, Cursor, Codex и другие):

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

Из локального клона вместо этого:

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

Инструменты

Идентификаторы панелей выглядят как w17:p1, идентификаторы вкладок как w17:t1, идентификаторы рабочих областей как w17. Инструменты для агентов принимают идентификатор панели или имя агента. Каждый инструмент возвращает разобранный объект result из JSON-обёртки herdr; read_pane возвращает обычный текст.

Инструмент

Что делает

list_workspaces

Перечисляет рабочие области с идентификаторами, названиями и итоговым статусом агентов.

list_tabs

Перечисляет вкладки во всей сессии.

list_panes

Перечисляет панели c id, workspace, tab, cwd, title и статусом агента.

list_agents

Перечисляет панели с обнаруженным агентом, его видом и статусом.

get_agent

Показывает текущее состояние одного агента.

read_pane

Читает вывод панели как текст (source: visible, recent, recent-unwrapped, detection).

prompt_agent

Отправляет запрос агенту и при необходимости ждёт, пока тот успокоится.

wait_agent

Ожидает состояние idle/working/blocked/done/unknown у агента.

send_text

Отправляет литеральный текст в панель без отправки Enter.

send_keys

Отправляет нажатия клавиш, например ["ctrl-c"], ["esc"], ["enter"].

run_command

Выполняет команду в панели (текст + Enter).

wait_for_output

Ждёт появления литеральной подстроки или регулярного выражения Rust в выводе панели.

split_pane

Разделяет панель вправо или вниз и возвращает идентификатор новой панели.

close_pane

Закрывает панель и всё, что выполняется в ней.

Сбои из CLI (неизвестная панель, тайм-аут, неработающий сокет) возвращаются как ошибки MCP-инструментов с кодом и сообщением об ошибке от самого herdr, чтобы модель могла исправить своё поведение.

Безопасность

Без аутентификации, без песочницы, только локальный stdio. Любой клиент, который может запустить этот сервер, способен выполнять произвольные команды в ваших терминальных панелях и читать всё, что появляется на экране, включая содержимое панелей агентов. Подключайте его только к доверенным клиентам на вашей машине.

Окружение

Переменная

По умолчанию

Управление вывода

HERDR_BIN

erra

Путь к исполняемому файлу herdr.

HERDR_MCP_LLOG_LEVEL

WARNING

Уровень журналирования Python (stderr).

Всё остальное в окружении передаётся без изменений — так CLI находит нужный сокет сессии.

Разработка

uv sync
uv run pytest -q

Модульные тесты запускают сервер через in-memory клиент SDK, взаимодействуя со скриптом-заглушкой herdr, поэтому они никогда не касаются реальной сессии.

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