local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Manages SSH credentials storage through a SQLite database, enabling persistence of connection details for remote command execution.
Servidor SSH MCP
Una implementación de servidor del Protocolo de Contexto de Modelo (MCP) que proporciona funcionalidades SSH. Este servidor permite el acceso y la ejecución remotos seguros mediante el protocolo MCP.
Características
- Implementación de servidor SSH utilizando el protocolo MCP
- Integración de bases de datos SQLite para la persistencia de datos
- Implementación de TypeScript para seguridad de tipos y una mejor experiencia de desarrollo
Prerrequisitos
- Node.js (se recomienda v16 o superior)
- gestor de paquetes npm o yarn
- Conocimientos de TypeScript para el desarrollo
Instalación
- Clonar el repositorio:
- Instalar dependencias:
- Construir el proyecto:
Uso
Configuración
El servidor utiliza una base de datos SQLite ( ssh.db
) para almacenar las credenciales SSH. El archivo de la base de datos se creará automáticamente al iniciar el servidor.
Herramientas
El servidor proporciona las siguientes herramientas:
ssh_exec
Ejecutar un comando a través de SSH.
Parámetros de entrada:
host
: El host al que conectarse. (obligatorio)command
: El comando a ejecutar. (obligatorio)username
: el nombre de usuario que se utilizará para la conexión SSH. (obligatorio)privateKeyPath
: La ruta al archivo de clave privada. (obligatorio)
Ejemplo de uso:
Nota: privateKeyPath
debe ser una ruta válida a un archivo de clave privada.
agregar_credencial
Agregar una nueva credencial SSH.
Parámetros de entrada:
name
: El nombre de la credencial. (obligatorio)host
: El host al que conectarse. (obligatorio)username
: el nombre de usuario que se utilizará para la conexión SSH. (obligatorio)privateKeyPath
: La ruta al archivo de clave privada. (obligatorio)
Ejemplo de uso:
Nota: privateKeyPath
debe ser una ruta válida a un archivo de clave privada.
lista_credenciales
Enumere todas las credenciales SSH almacenadas.
Parámetros de entrada:
- Ninguno
Ejemplo de uso:
eliminar_credencial
Eliminar una credencial SSH almacenada.
Parámetros de entrada:
name
: El nombre de la credencial que se eliminará. (obligatorio)
Ejemplo de uso:
Iniciando el servidor
El servidor comenzará a ejecutarse en el puerto configurado (la configuración predeterminada se puede modificar en el código fuente).
Estructura del proyecto
src/
- Directorio del código fuentebuild/
- Salida de JavaScript compiladanode_modules/
- Dependencias del proyecto
Dependencias
@modelcontextprotocol/sdk
: Implementación del protocolo MCPsqlite3
: controlador de base de datos SQLitetypescript
: Dependencia de desarrollo para compatibilidad con TypeScript
Desarrollo
Para realizar cambios en el proyecto:
- Realice sus cambios en el directorio
src/
- Reconstruir el proyecto:
- Inicie el servidor para probar sus cambios:
Licencia
ISC
Contribuyendo
- Bifurcar el repositorio
- Crea tu rama de funciones
- Confirme sus cambios
- Empujar hacia la rama
- Crear una nueva solicitud de extracción
You must be authenticated.
Una implementación de servidor de protocolo de contexto de modelo que permite la ejecución segura de comandos remotos a través de SSH, con funciones para administrar y usar credenciales SSH.