Stdio MCP server that inspects and (with confirmation) mutates one VPS over SSH.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add vps-ops --env VPS_SSH_KEY_PATH='<VPS_SSH_KEY_PATH>' --env VPS_SSH_KEY_PASSPHRASE='<VPS_SSH_KEY_PASSPHRASE>' -- npx -y @koller-nexus/vps-ops-mcp~/.codex/config.toml
[mcp_servers.vps-ops]
command = "npx"
args = ["-y", "@koller-nexus/vps-ops-mcp"]
env = { VPS_SSH_KEY_PATH = "<VPS_SSH_KEY_PATH>", VPS_SSH_KEY_PASSPHRASE = "<VPS_SSH_KEY_PASSPHRASE>" }
# codex mcp add vps-ops --env VPS_SSH_KEY_PATH='<VPS_SSH_KEY_PATH>' --env VPS_SSH_KEY_PASSPHRASE='<VPS_SSH_KEY_PASSPHRASE>' -- npx -y @koller-nexus/vps-ops-mcp~/.cursor/mcp.json
{
"mcpServers": {
"vps-ops": {
"command": "npx",
"args": [
"-y",
"@koller-nexus/vps-ops-mcp"
],
"env": {
"VPS_SSH_KEY_PATH": "<VPS_SSH_KEY_PATH>",
"VPS_SSH_KEY_PASSPHRASE": "<VPS_SSH_KEY_PASSPHRASE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"vps-ops": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@koller-nexus/vps-ops-mcp"
],
"env": {
"VPS_SSH_KEY_PATH": "<VPS_SSH_KEY_PATH>",
"VPS_SSH_KEY_PASSPHRASE": "<VPS_SSH_KEY_PASSPHRASE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"vps-ops": {
"command": "npx",
"args": [
"-y",
"@koller-nexus/vps-ops-mcp"
],
"env": {
"VPS_SSH_KEY_PATH": "<VPS_SSH_KEY_PATH>",
"VPS_SSH_KEY_PASSPHRASE": "<VPS_SSH_KEY_PASSPHRASE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"vps-ops": {
"command": "npx",
"args": [
"-y",
"@koller-nexus/vps-ops-mcp"
],
"env": {
"VPS_SSH_KEY_PATH": "<VPS_SSH_KEY_PATH>",
"VPS_SSH_KEY_PASSPHRASE": "<VPS_SSH_KEY_PASSPHRASE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"vps-ops": {
"command": "npx",
"args": [
"-y",
"@koller-nexus/vps-ops-mcp"
],
"env": {
"VPS_SSH_KEY_PATH": "<VPS_SSH_KEY_PATH>",
"VPS_SSH_KEY_PASSPHRASE": "<VPS_SSH_KEY_PASSPHRASE>"
}
}
}
}Environment variables
VPS_SSH_KEY_PATHVPS_SSH_KEY_PASSPHRASE
Replace the placeholders with your own credentials and keep them out of version control.