SmartCLI — drive terminal TUIs: MCP-сервер для Claude Code
Позволяет агентам управлять интерактивными консольными программами вроде vim, lazygit и htop. Передаёт нажатия клавиш и считывает сетку ячеек терминала.
claude mcp add smartcli -- uvx smartcli-toolkitЧто делает SmartCLI — drive terminal TUIs
SmartCLI связывает языковую модель с интерактивными консольными программами через виртуальный PTY и библиотеку эмуляции pyte. Он не использует слепой поток байтов. Вместо этого сервер строит структурированную сетку ячеек, помогая агенту распознавать подсвеченные строки меню и переключение на альтернативный экран. Клавиши управляют реальными утилитами вроде lazygit или vim.
Инструмент опирается на цикл восприятия и подтверждения. Агент отправляет нажатия клавиш, а затем ждёт появления нужного текста на экране через регулярные выражения. Слепые паузы по таймеру здесь исключены. Сессии работают в Linux через POSIX PTY и в Windows через ConPTY.
Для работы требуется Python версии 3.10 или новее. Без поддержки альтернативного буфера терминала полноэкранные утилиты вроде vim работают некорректно и теряют несохранённые файлы. Разработчики исправили 12 ошибок эмуляции VT-последовательностей для точной синхронизации сессий.
Какие задачи решает
- управлять интерактивными TUI-программами внутри виртуального PTY
- дожидаться нужного текста на экране перед отправкой следующей команды
- считывать подсвеченные строки меню и содержимое альтернативного экрана
- проверять сохранение файлов на диске после выхода из текстовых редакторов
Примеры запросов агенту
- Запусти lazygit в PTY-сессии через SmartCLI и открой просмотр последнего коммита
- Открой файл config.py в vim, добавь строку с настройками и выйди с сохранением
- Запусти htop в терминале и прочитай список процессов с максимальной нагрузкой
Как установить SmartCLI — drive terminal TUIs
Командой платформы
claude mcp add smartcli -- uvx smartcli-toolkituvx запускает команду с именем пакета; если в README она другая — uvx --from smartcli-toolkit <команда>
Командой платформы
codex mcp add smartcli-drive-terminal-tuis -- uvx smartcli-toolkituvx запускает команду с именем пакета; если в README она другая — uvx --from smartcli-toolkit <команда>
Файл настроек
{
"mcpServers": {
"smartcli-drive-terminal-tuis": {
"command": "uvx",
"args": [
"smartcli-toolkit"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from smartcli-toolkit <команда>
Файл настроек
{
"servers": {
"smartcli-drive-terminal-tuis": {
"type": "stdio",
"command": "uvx",
"args": [
"smartcli-toolkit"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from smartcli-toolkit <команда>
Командой платформы
gemini mcp add smartcli-drive-terminal-tuis uvx smartcli-toolkituvx запускает команду с именем пакета; если в README она другая — uvx --from smartcli-toolkit <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о SmartCLI — drive terminal TUIs
Как установить SmartCLI — drive terminal TUIs в Claude Code?
Выполните команду claude mcp add smartcli-drive-terminal-tuis -- uvx smartcli-toolkit в терминале.
Что делает SmartCLI?
Сервер запускает интерактивные консольные утилиты в виртуальном терминале, передаёт нажатия клавиш и читает состояние экрана через эмулятор ячеек pyte.
Чем SmartCLI отличается от утилит вроде pexpect?
Вместо анализа простого потока байтов SmartCLI эмулирует двумерную матрицу символов терминала. Это даёт агенту возможность распознавать выделение строк меню и работать с программами в полноэкранном режиме.