SSH List MCP
Servidor MCP que expone una lista de servidores SSH desde un archivo de configuración TOML
Documentación
mcp-server-ssh-list
Un servidor MCP (Model Context Protocol) mínimo que expone definiciones de servidores SSH desde un archivo de configuración TOML. Construido en Rust, permite a los asistentes de IA buscar detalles de conexión SSH por nombre o alias.
Se comunica mediante stdio usando JSON-RPC 2.0, como todos los servidores MCP.
Herramientas
| Herramienta | Descripción |
|---|---|
list_servers | Lista todos los servidores SSH con sus alias, host, usuario, puerto y descripción |
lookup_server | Busca un servidor por nombre o alias (sin distinción de mayúsculas/minúsculas), devuelve los detalles de conexión SSH |
list_servers
Devuelve todos los servidores SSH configurados. Sin parámetros.
lookup_server
Encuentra un servidor por nombre o alias.
Parámetros:
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
query | string | sí | Nombre o alias del servidor a buscar (sin distinción de mayúsculas/minúsculas) |
Comportamiento de coincidencia:
- La búsqueda por nombre usa coincidencia de subcadena (p. ej., "prod" coincide con "production-web")
- La búsqueda por alias usa coincidencia exacta (p. ej., "web" solo coincide si "web" es un alias definido)
Requisitos previos
- Rust (edición 2024)
Configuración
Crea el archivo de configuración:
mkdir -p ~/.config/mcp-server-ssh-list
Crea ~/.config/mcp-server-ssh-list/ssh-list.toml:
[[servers]]
name = "Production Web"
aliases = ["prod", "web"]
host = "192.168.1.100"
user = "deploy"
port = 22
description = "Main production web server"
[[servers]]
name = "Staging"
aliases = ["stage"]
host = "192.168.1.200"
description = "Staging environment"
Los campos user (predeterminado: root) y port (predeterminado: 22) son opcionales. Se incluye una configuración de ejemplo en la raíz del repositorio como ssh-list.toml.
Compilación
cargo build --release
Esto produce target/release/mcp-server-ssh-list.
Para desarrollo:
cargo build # debug build
cargo run # run in dev mode
RUST_LOG=debug cargo run # run with debug logging
Configuración de MCP
Agrega a tu configuración de Claude Desktop (~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ssh-list": {
"command": "/path/to/mcp-server-ssh-list"
}
}
}
Estructura del proyecto
src/
main.rs - entry point, reads config, starts stdio transport
config.rs - Config and SshServer structs, TOML deserialization, matching logic
server.rs - MCP tool definitions (list_servers, lookup_server)
Licencia
MIT