Secure VPS Operations MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SSH_HOST | Yes | The hostname or IP address of the VPS to connect to. | |
| SSH_PORT | No | The SSH port to connect to (default: 22). | 22 |
| SSH_USERNAME | Yes | The SSH username on the VPS (e.g., mcp-operator). | |
| ALLOWED_DOMAINS | No | Comma-separated list of allowed domain names for SSL checks. | |
| ALLOWED_SERVICES | No | Comma-separated list of allowed systemd service names. | |
| ALLOWED_DATABASES | No | Comma-separated list of allowed database identifiers. | |
| ALLOWED_CONTAINERS | No | Comma-separated list of allowed container names (resource allowlist). | |
| SSH_KNOWN_HOSTS_FILE | Yes | Path to the known_hosts file for host key verification. | |
| SSH_PRIVATE_KEY_FILE | Yes | Path to the SSH private key file used for authentication. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_system_healthA | Return CPU, memory, load, disk, and service health summary from the VPS. |
| get_disk_usageA | Return filesystem usage for the VPS. |
| list_containersA | List allowlisted Docker containers and their status. |
| get_container_logsC | Return recent logs for an allowlisted Docker container. |
| get_service_statusA | Return systemd status for an allowlisted service. |
| check_nginx_configurationB | Run nginx configuration validation on the VPS. |
| check_ssl_expiryB | Return certificate expiry details for an allowlisted domain. |
| check_database_healthA | Return health information for an allowlisted PostgreSQL database. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Most tools have clearly distinct purposes (system health, disk usage, containers, logs, services, nginx, SSL, database). There's minor overlap between get_system_health and get_disk_usage/get_service_status, but descriptions clarify the scope.
All tool names follow a consistent verb_noun pattern (get_*, list_*, check_*) with snake_case throughout. The verbs are predictable and appropriate for the actions.
8 tools is well-scoped for a VPS operations/monitoring server. Each tool addresses a distinct monitoring need without redundancy or bloat.
The server covers core VPS health checks (system, disk, containers, services, nginx, SSL, database) well. Minor gaps exist (e.g., no network health or process-level details), but the surface is sufficient for typical operational monitoring.