SSH List MCP

Servidor MCP que expõe uma lista de servidores SSH a partir de um arquivo de configuração TOML

Documentação

mcp-server-ssh-list

Um servidor MCP (Model Context Protocol) mínimo que expõe definições de servidores SSH a partir de um arquivo de configuração TOML. Construído em Rust, permite que assistentes de IA consultem detalhes de conexão SSH por nome ou alias.

Comunica-se via stdio usando JSON-RPC 2.0, como todos os servidores MCP.

Ferramentas

FerramentaDescrição
list_serversLista todos os servidores SSH com seus aliases, host, usuário, porta e descrição
lookup_serverBusca um servidor por nome ou alias (sem diferenciar maiúsculas de minúsculas), retorna detalhes da conexão SSH

list_servers

Retorna todos os servidores SSH configurados. Sem parâmetros.

lookup_server

Encontra um servidor por nome ou alias.

Parâmetros:

NomeTipoObrigatórioDescrição
querystringsimNome do servidor ou alias para buscar (sem diferenciar maiúsculas de minúsculas)

Comportamento de correspondência:

  • A busca por nome usa correspondência de substring (ex.: "prod" corresponde a "production-web")
  • A busca por alias usa correspondência exata (ex.: "web" só corresponde se "web" for um alias definido)

Pré-requisitos

  • Rust (edition 2024)

Configuração

Crie o arquivo de configuração:

mkdir -p ~/.config/mcp-server-ssh-list

Crie ~/.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"

Os campos user (padrão: root) e port (padrão: 22) são opcionais. Um exemplo de configuração está incluído na raiz do repositório como ssh-list.toml.

Compilação

cargo build --release

Isso produz target/release/mcp-server-ssh-list.

Para desenvolvimento:

cargo build              # debug build
cargo run                # run in dev mode
RUST_LOG=debug cargo run # run with debug logging

Configuração MCP

Adicione à configuração do Claude Desktop (~/.config/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "ssh-list": {
      "command": "/path/to/mcp-server-ssh-list"
    }
  }
}

Estrutura do Projeto

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)

Licença

MIT