TermSSH MCP
✨ Почему TermSSH MCP
Большинство инструментов SSH для ИИ-рабочих процессов построены по принципу выполнить команду → получить вывод → готово.
Это не работает, когда реальная задача требует интерактивности:
установщики задают вопросы
оболочки (shells) сохраняют состояние
отладка требует нескольких шагов
развертывание требует загрузки файлов и управления терминалом
агентам нужно наблюдать, реагировать и продолжать работу
TermSSH MCP создан для решения этой проблемы.
Вместо того чтобы притворяться, что всё является одной командой, он предоставляет MCP-клиентам настоящий рабочий процесс в стиле оператора:
открыть оболочку → ввести данные → прочитать вывод → сохранить контекст → загрузить файлы → продолжить работу
Related MCP server: ssh-mcp
🧠 Что его отличает
Приоритет терминала
Интерактивные терминальные сессии являются основной моделью, а не второстепенной функцией.
Готовность к работе с агентами
Разработан для MCP-клиентов, ИИ-агентов для написания кода и циклов автоматизации.
Рабочие процессы с сохранением состояния
Повторное использование активных сессий делает многошаговые задачи естественными и надежными.
Загрузка включена
Перемещайте скрипты, конфигурации, полезные нагрузки и созданные артефакты через SFTP.
Кроссплатформенность
Работает с SSH-целями на Linux и Windows.
Чистый набор инструментов
Специализированные MCP-инструменты для управления терминалом и удаленной доставки файлов.
🚀 Основные возможности
Интерактивные SSH-терминальные сессии
Инкрементальный поток чтения/записи терминала
Управляемое повторное использование терминальных сессий по умолчанию
Опциональное принудительное создание нескольких сессий
Локальная загрузка файлов через SFTP
Прямая загрузка текста и контента в формате base64
Поддержка изменения размера терминала
Поддержка SSH-целей на Linux и Windows
MCP-родной интерфейс для ИИ-инструментов
🧰 Набор инструментов
upload-file
Загрузка локального файла с хоста MCP на удаленный SSH-сервер с использованием SFTP.
Параметры
localPath— путь к локальному исходному файлуremotePath— путь назначения на удаленном хостеcreateDirectories— создавать отсутствующие родительские каталоги при необходимостиoverwrite— перезаписать существующий удаленный файл, если он естьmode— опциональный POSIX-режим, например0644
upload-content
Загрузка прямого текста или контента в формате base64 на удаленный сервер.
Параметры
content— необработанный текст или полезная нагрузка base64encoding—utf8илиbase64remotePath— путь назначения на удаленном хостеcreateDirectories— создавать отсутствующие родительские каталоги при необходимостиoverwrite— перезаписать существующий удаленный файл, если он естьmode— опциональный POSIX-режим, например0644
terminal-start
Запуск интерактивной удаленной терминальной сессии.
Параметры
cwd— опциональный рабочий каталог после запуска оболочкиshell— опциональный бинарный файл оболочкиplatformHint—auto,linuxилиwindowselevated— попытка повышения прав черезsuпри настройкеcols— ширина терминалаrows— высота терминалаenv— опциональные переменные окруженияmultiSession— установитеtrue, чтобы принудительно создать новую управляемую сессию вместо повторного использования существующей
terminal-write
Запись ввода в активную терминальную сессию.
Параметры
sessionId— идентификатор целевой сессииinput— текст для отправкиappendNewline— автоматически добавлять символ новой строки при необходимости
terminal-read
Чтение буферизованного вывода из терминальной сессии.
Параметры
sessionId— идентификатор целевой сессииsinceSequence— возвращать только вывод, который новее указанного порядкового номераmaxChars— ограничить размер возвращаемого выводаwaitForMs— опциональная короткая задержка опроса
terminal-resize
Изменение размера активной терминальной сессии.
Параметры
sessionId— идентификатор целевой сессииcols— новая ширинаrows— новая высота
terminal-close
Закрытие терминальной сессии локально.
Параметры
sessionId— идентификатор целевой сессии
🔄 Типичный рабочий процесс
flowchart LR
A[terminal-start] --> B[terminal-write]
B --> C[terminal-read]
C --> D{Need file?}
D -- Yes --> E[upload-file / upload-content]
D -- No --> F{Continue session?}
E --> F
F -- Yes --> B
F -- No --> G[terminal-close]Это особенно хорошо подходит для:
интерактивной установки пакетов
удаленной настройки и подготовки
развертывания с загрузкой артефактов
отладки сервисов в несколько шагов
рабочих процессов в оболочке с сохранением состояния, где важен контекст
🛠 Установка
Клонирование репозитория
git clone https://github.com/rayss868/termssh-mcp.git
cd termssh-mcp
npm install
npm run buildГлобальная установка
npm install -g termssh-mcp⚙ Конфигурация
Обязательные параметры CLI
host— имя хоста или IP-адрес удаленной машиныuser— имя пользователя SSH
Опциональные параметры CLI
port— SSH-порт, по умолчанию22password— пароль SSHkey— путь к приватному SSH-ключуsudoPassword— опциональный пароль для рабочих процессов, ориентированных на sudosuPassword— опциональный пароль для повышения прав черезsutimeout— тайм-аут готовности SSH в миллисекундах, по умолчанию60000maxChars— лимит проверки длины команды, по умолчанию1000; используйтеnoneили0для безлимитного режима
🧩 Пример конфигурации MCP
{
"mcpServers": {
"termssh-mcp": {
"command": "npx",
"args": [
"-y",
"termssh-mcp",
"--",
"--host=1.2.3.4",
"--port=22",
"--user=root",
"--password=pass",
"--timeout=30000",
"--maxChars=none"
]
}
}
}Пример с SSH-ключом
{
"mcpServers": {
"termssh-mcp": {
"command": "npx",
"args": [
"-y",
"termssh-mcp",
"--",
"--host=example.com",
"--user=root",
"--key=/path/to/private/key"
]
}
}
}🤖 Пример Claude Code
Зарегистрируйте сервер в Claude Code:
claude mcp add --transport stdio termssh-mcp -- npx -y termssh-mcp -- --host=YOUR_HOST --user=YOUR_USER --password=YOUR_PASSWORDС аутентификацией по SSH-ключу:
claude mcp add --transport stdio termssh-mcp -- npx -y termssh-mcp -- --host=example.com --user=root --key=/path/to/private/keyС увеличенным тайм-аутом:
claude mcp add --transport stdio termssh-mcp -- npx -y termssh-mcp -- --host=192.168.1.100 --user=admin --password=your_password --timeout=120000 --maxChars=none🎯 Отлично подходит для
Разработчиков
удаленный доступ к оболочке из ИИ-инструментов для кодинга
сессии отладки с сохранением состояния
доставка скриптов и конфигураций
DevOps / инфраструктурных команд
инспекция сервисов
поддержка развертывания
многошаговые удаленные операции
Создателей агентов
MCP-рабочие процессы с родным терминалом
повторно используемые сессии
контролируемые циклы удаленной автоматизации
🏗 Разработка
Сборка проекта:
npm run buildЗапуск тестов:
npm testИспользование MCP Inspector:
npm run inspect📁 Структура проекта
src/index.ts— точка входа сервера MCP и регистрация инструментовsrc/ssh-connection-manager.ts— обработка SSH-соединения и жизненного цикла терминалаsrc/upload.ts— вспомогательные функции для загрузки и метаданных интерактивной сессииsrc/core.ts— общие примитивы проверки и SSH-утилитыtest/upload-and-terminal.test.ts— покрытие модульными тестами загрузки/сессииtest/maxChars.test.ts— покрытие проверки командtest/smoke.ssh.test.ts— дымовые тесты для текущего экспортируемого поведения
🗺 Идеи для дорожной карты
более богатая инспекция метаданных сессии
лучшая наблюдаемость удаленных сессий
опциональные функции сохранения сессий
больше примеров для Claude Code и инструментов MCP
шаблоны рабочих процессов, ориентированные на развертывание
🔐 Примечание по безопасности
TermSSH MCP предоставляет удаленный доступ к системам по SSH.
Используйте его только для инфраструктуры, которой вы владеете или которой вам явно разрешено управлять.
📜 Лицензия
Выпущено под лицензией MIT.
🤝 Участие в разработке
Вклад приветствуется.
См. CONTRIBUTING.md для руководства по внесению вклада и CODE_OF_CONDUCT.md для ожидаемого поведения.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Run commands and read/write files on your servers over Termalin's keyless tunnels (hosted MCP).
Persistent file storage for AI agents via MCP and curl. Upload, download, and version files.
Egnyte's remote MCP server for secure AI access, search, upload and file management in your account.
Scoped, audited SSH exec, sessions, and SFTP on your saved servers without exposing credentials
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server giving AI agents full SSH access with persistent sessions, structured command output, SFTP file transfer, and port forwarding.1810MIT
- AlicenseAqualityCmaintenanceAn MCP server that gives AI agents SSH access to remote machines through your local OpenSSH client, enabling remote command execution, file transfer, persistent shell sessions, and port forwarding.1716MIT
- AlicenseAqualityBmaintenanceSSH orchestration MCP server for coding agents, enabling persistent bash sessions, hash-protected remote file editing, SFTP transfers, SSH tunnels, and multi-host orchestration with connection reuse across tools.143Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMCP server enabling AI assistants to securely operate remote servers via persistent SSH sessions, with tools for command execution, file transfer, directory listing, and system monitoring.4MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rayss868/termssh-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server