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
| Ferramenta | Descrição |
|---|---|
list_servers | Lista todos os servidores SSH com seus aliases, host, usuário, porta e descrição |
lookup_server | Busca 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:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
query | string | sim | Nome 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