MCP SSH Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports Git operations through the underlying SSH protocol, allowing for secure repository access and management via standard SSH authentication.

Servidor SSH MCP

Una potente implementación de servidor SSH para el Protocolo de Contexto de Modelo (MCP). Este servidor permite la ejecución remota segura de comandos y operaciones con archivos mediante el protocolo SSH, compatible con la autenticación basada en contraseña y clave.

Características

  • ✨ Gestión segura de conexiones SSH
  • 🔑 Autenticación basada en contraseñas y claves
  • 💻 Ejecución remota de comandos
  • 📁 Operaciones con archivos (carga/descarga)
  • 📊 Seguimiento del progreso de las transferencias de archivos
  • 🔐 Gestión de permisos
  • 📂 Operaciones de directorio
  • Transferencias masivas de archivos
  • 📝 Registro detallado

Instalación

  1. Instalar el paquete:
npm install mcp-ssh
  1. Agregue a su configuración de escritorio de Claude ( claude_desktop_config.json ):
{ "mcpServers": { "ssh": { "command": "node", "args": ["%APPDATA%/npm/node_modules/mcp-ssh/dist/server.js"], "env": { "SSH_PORT": "8889", "SSH_LOG_LEVEL": "info" } } } }

Uso

Autenticación de contraseña

$body = @{ id = "test" host = "example.com" port = 22 username = "user" password = "pass123" } | ConvertTo-Json Invoke-RestMethod -Uri "http://localhost:8889/connect" -Method Post -Body $body -ContentType "application/json"

Autenticación de clave

$body = @{ id = "test" host = "example.com" port = 22 username = "user" privateKey = Get-Content ~/.ssh/id_rsa | Out-String passphrase = "optional-key-passphrase" # if your key is protected } | ConvertTo-Json Invoke-RestMethod -Uri "http://localhost:8889/connect" -Method Post -Body $body -ContentType "application/json"

Ejecutar comandos

$execBody = @{ id = "test" command = "ls -la" } | ConvertTo-Json Invoke-RestMethod -Uri "http://localhost:8889/exec" -Method Post -Body $execBody -ContentType "application/json"

Operaciones con archivos

# Upload file $uploadForm = @{ file = Get-Item -Path "localfile.txt" remotePath = "/remote/path/file.txt" } Invoke-RestMethod -Uri "http://localhost:8889/upload/test" -Method Post -Form $uploadForm # Download file Invoke-RestMethod -Uri "http://localhost:8889/download/test?remotePath=/remote/path/file.txt" -Method Get -OutFile "downloaded.txt"

Operaciones de directorio

# List directory Invoke-RestMethod -Uri "http://localhost:8889/ls/test?path=/remote/path" -Method Get # Get connection status Invoke-RestMethod -Uri "http://localhost:8889/status/test" -Method Get

Desarrollo

  1. Clonar el repositorio:
git clone https://github.com/shaike1/mcp-server-ssh.git cd mcp-server-ssh
  1. Instalar dependencias:
npm install
  1. Construir:
npm run build
  1. Iniciar servidor:
npm start

Variables de entorno

  • SSH_PORT : Puerto del servidor (predeterminado: 8889)
  • SSH_LOG_LEVEL : Nivel de registro (predeterminado: información)

Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
F
license - not found
-
quality - not tested

Una implementación de servidor SSH seguro para el Protocolo de Contexto de Modelo que permite la ejecución remota de comandos y operaciones con archivos, admitiendo autenticación basada en contraseña y clave.

  1. Features
    1. Installation
      1. Usage
        1. Password Authentication
        2. Key Authentication
        3. Execute Commands
        4. File Operations
        5. Directory Operations
      2. Development
        1. Environment Variables
          1. Contributing
            1. License
              ID: evsuu87spp