interactive-terminal

interactive-terminal

amol21pMIT
15 звёзд6 форков
AI-ассистенты не умеют работать с интерактивными командами. ls и npm install — без проблем. А вот psql, python3, rails console или ssh — уже нет. Им не хватает псевдотерминала (PTY) и потока stdin. MCP-сервер mcp-interactive-terminal решает эту проблему. Он создаёт изолированные интерактивные сессии прямо из интерфейса ассистента. Внутри используются node-pty и xterm-headless, которые эмулируют терминал и передают ввод-вывод. Вывод очищается от ANSI-последовательностей — ассистент получает чистый текст, как если бы вы работали в терминале сами. Сервер полезен для разработки, администрирования серверов и работы с базами данных.

Установка

npx -y mcp-interactive-terminal

Характеристики

Общее

  • СтатусСообщество
  • Разработчикamol21p
  • ЛицензияMIT

Технологии

  • Языки
    TypeScript
  • Транспорт
    stdio

Описание

Возможности

  • Запуск REPL-сред: Python, Node.js, Ruby, irb. Ассистент передаёт многострочный код и получает результат.
  • Выполнение SQL-запросов через psql, mysql, sqlite3. Прямой доступ к базам данных из чата.
  • Управление Docker через docker exec и docker compose. Запуск контейнеров и просмотр логов.
  • SSH-подключения к удалённым серверам. Выполнение команд, проверка статистики, деплой.
  • Автоматическое определение завершения команды. Сервер понимает, когда процесс закончил работу.
  • Поддержка нескольких параллельных сессий. Каждая сессия полностью изолирована.
  • Многоуровневая система безопасности (7 уровней): контроль команд, таймауты, защита от инъекций.
  • Фильтрация ANSI-последовательностей. Ассистент получает только чистый текст, без управляющих символов.

Как подключить

Установка одной командой через npx, глобальная установка не требуется:

npx -y mcp-interactive-terminal

Добавьте конфигурацию в вашего MCP-клиента. Универсальный JSON для Claude Desktop, Cursor и Windsurf:

{ "mcpServers": { "terminal": { "command": "npx", "args": ["-y", "mcp-interactive-terminal"] } } }

Для VS Code разместите этот блок в файле .vscode/mcp.json. Для Cursor откройте Settings > MCP Servers и добавьте новый сервер. Для Windsurf — секция MCP в конфигурации.

После добавления перезапустите клиент. Сервер появится в списке доступных инструментов.

Примеры запросов

  • «Запусти Python, напиши функцию проверки палиндрома и протестируй её на нескольких словах.»
  • «Подключись к PostgreSQL через psql -U admin mydb и покажи структуру таблицы orders.»
  • «Зайди на сервер по SSH (ssh deploy@staging.example.com) и выполни df -h, чтобы оценить свободное место.»
  • «Открой Rails console в директории проекта и проверь количество зарегистрированных пользователей за последнюю неделю.»

Технические детали

  • Язык разработки: TypeScript. Среда выполнения: Node.js (версия 18 и выше).
  • Транспортный протокол: stdio, совместимый с MCP.
  • Лицензия: MIT — полностью бесплатный проект с открытым исходным кодом.
  • Совместимость: любые MCP-клиенты — Claude Desktop, Cursor, Windsurf, VS Code (GitHub Copilot), а также пользовательские интеграции.

Поделиться