Skip to main content

MCP server for managing VPS via SSH - gives AI agents secure access to remote servers

Project description

SSH MCP Server

MCP-сервер для управления VPS через SSH. Предоставляет AI-агентам безопасный и контролируемый доступ к удалённым серверам через Model Context Protocol.

Установка

# Через pip
pip install sshmcp

# Через uv/uvx
uv pip install sshmcp

Подключение к Claude Code

Добавьте в ~/.claude/mcp.json:

{
  "mcpServers": {
    "ssh-vps": {
      "command": "uvx",
      "args": ["sshmcp"],
      "env": {
        "SSHMCP_CONFIG_PATH": "~/.sshmcp/machines.json"
      }
    }
  }
}

Или через CLI:

claude mcp add ssh-vps -s user -- uvx sshmcp

Возможности

  • Tools: Выполнение команд, чтение/загрузка файлов, управление процессами
  • Resources: Логи, метрики, статус серверов
  • Prompts: Шаблоны для развёртывания, бэкапов, мониторинга
  • Безопасность: Whitelist команд, валидация путей, аудит
  • CLI интерфейс: Удобное управление серверами из командной строки
  • Динамическое управление: AI агент может добавлять/удалять сервера

Быстрый старт

# Инициализация (интерактивный wizard)
sshmcp-cli init

# Или добавить сервер вручную
sshmcp-cli server add --name prod --host 192.168.1.100 --user deploy

# Проверить подключение
sshmcp-cli server test prod

# Запустить MCP сервер (для отладки)
sshmcp

CLI команды

# Управление серверами
sshmcp-cli server list              # Список всех серверов
sshmcp-cli server add               # Добавить сервер (интерактивно)
sshmcp-cli server add --name dev --host 10.0.0.1 --user root
sshmcp-cli server remove prod       # Удалить сервер
sshmcp-cli server test prod         # Проверить подключение
sshmcp-cli server edit              # Редактировать конфиг в редакторе

# Импорт из SSH config
sshmcp-cli server import-ssh        # Импортировать из ~/.ssh/config

# Запуск сервера
sshmcp                              # Запустить MCP (stdio)
sshmcp --transport streamable-http  # Запустить HTTP сервер

Профили безопасности

При добавлении сервера можно выбрать уровень безопасности:

  • strict - только безопасные команды (git, ls, cat, tail)
  • moderate - стандартные DevOps команды (npm, pm2, docker, systemctl)
  • full - все команды (кроме rm -rf /)
sshmcp-cli server add --name prod --security-profile strict

Конфигурация

Конфиг хранится в ~/.sshmcp/machines.json (создаётся автоматически).

Можно указать другой путь:

export SSHMCP_CONFIG_PATH=/path/to/config.json

Запуск MCP сервера

# stdio транспорт (для Claude Desktop, Cursor и т.д.)
sshmcp

# HTTP транспорт
sshmcp --transport streamable-http --port 8000

Интеграция с AI-агентами

См. docs/integration.md для интеграции с:

  • Claude Code
  • Factory
  • Qwen Code
  • Claude Desktop
  • Cursor

Документация

Лицензия

MIT License - см. LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_ssh_vps-0.1.0.tar.gz (38.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_ssh_vps-0.1.0-py3-none-any.whl (46.6 kB view details)

Uploaded Python 3

File details

Details for the file mcp_ssh_vps-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_ssh_vps-0.1.0.tar.gz
  • Upload date:
  • Size: 38.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for mcp_ssh_vps-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f48829c7ef5bdada64d5d123e3f684a249871fa9d2ff4dc4e8da054aa4178503
MD5 8f4902182e87c435406fa0c54879fef8
BLAKE2b-256 f927c3507db02fd63690d105167cfa1af531475f1f7a9e234c4dd6cc3962b203

See more details on using hashes here.

File details

Details for the file mcp_ssh_vps-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_ssh_vps-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 46.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for mcp_ssh_vps-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd4529a47e804fb38c4d49ce9b16439aa6750a84dc33f9eb55108ec7e33f563d
MD5 e2a5306d3ce47d5c79881555c44b0adf
BLAKE2b-256 6d0db46f78a9b02039dc8d5d85f5a9cbadcdb90d0257d27cecccdfbb2868358b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page