Connect via SSH and execute commands on a remote server.
mcp-ssh
MCP сервер для подключения по SSH и выполнения команд на удалённом сервере.
Быстрый старт
- Установите зависимости:
- npm install
Создайте .env на основе .env.example и задайте параметры подключения.
Запустите в режиме разработки:
- npm run dev
Или соберите и запустите:
- npm run build
- npm start
Запуск через docker-compose
Создайте .env на основе .env.example.
Запустите сервис:
- docker compose up -d
Сервис работает по stdio (MCP), проброс портов не требуется.
Доступные инструменты MCP
ssh_connect
Создаёт SSH сессию.
Параметры:
- host (string, optional)
- port (number, optional)
- username (string, optional)
- privateKey (string, optional)
- privateKeyPath (string, optional)
- password (string, optional)
- connectTimeoutMs (number, optional)
Возвращает: sessionId, host, port, username.
ssh_exec
Выполняет команду в существующей сессии.
Параметры:
- sessionId (string)
- command (string)
- cwd (string, optional)
- timeoutMs (number, optional)
Возвращает: stdout, stderr, exitCode, exitSignal.
ssh_disconnect
Закрывает сессию.
Параметры:
- sessionId (string)
Возвращает: disconnected.
ssh_list_sessions
Возвращает список активных сессий.
Ограничение хостов
Если задан MCP_SSH_ALLOWED_HOSTS, подключение разрешено только к хостам из списка.
Tools (4)
ssh_connectCreates an SSH session.ssh_execExecutes a command in an existing session.ssh_disconnectCloses an SSH session.ssh_list_sessionsReturns a list of active sessions.Environment Variables
MCP_SSH_ALLOWED_HOSTSOptional list of allowed hosts for security access control.Configuration
{"mcpServers": {"mcp-ssh": {"command": "node", "args": ["/path/to/mcp-ssh/build/index.js"]}}}