vpsdoctor-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VPS_HOST | Yes | The IP address or hostname of the VPS. | |
| VPS_PORT | No | The SSH port of the VPS. | 22 |
| VPS_USER | Yes | The dedicated unprivileged SSH user on the VPS (vpsdoctor-mcp). | |
| SCRIPTS_DIR | No | Path on the VPS where the vetted scripts are installed. | /opt/vpsdoctor-mcp |
| ALLOWED_SERVICES | Yes | Comma-separated list of services that are allowed to be restarted (e.g. nginx,mariadb). | |
| VPS_SSH_KEY_PATH | Yes | Path to the SSH private key for the VPS user. |
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 |
|---|---|
| vps_statusA | Get a snapshot of the VPS: service states, disk, RAM, uptime, TLS certificate expiry, fail2ban summary, and (if configured) the age of the last backup. Safe to call any time — read-only. |
| vps_list_banned_ipsA | List IP addresses currently banned by fail2ban in the given jail (default: sshd). Read-only. |
| vps_restart_serviceA | Restart a system service on the VPS (e.g. nginx, mariadb). Only services listed in the server's ALLOWED_SERVICES configuration can be restarted — anything else is refused before it ever reaches the VPS. This causes a brief service interruption. Call once with confirm=false (or omitted) to see what would happen; nothing runs until you call again with confirm=true. |
| vps_unban_ipA | Remove an IP address from a fail2ban jail (default: sshd). Call once with confirm=false (or omitted) to validate the IP and see what would happen; nothing runs until you call again with confirm=true. |
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 4 tools
Each tool targets a distinct resource/action: status snapshot, banned IP list, service restart, and IP unban. Even though vps_status includes a fail2ban summary, it does not overlap with the detailed list of banned IPs.
All tools share the vps_ prefix, and three follow a verb_noun pattern (list_banned_ips, restart_service, unban_ip). vps_status is the only deviation, using a noun instead of a verb_noun structure, but the overall pattern remains clear.
Four tools is a well-scoped count for a focused VPS doctor utility. Each tool covers a distinct, necessary operation without unnecessary bloat or feature creep.
The tool set covers the core VPS doctor workflows: status overview, banned IP inspection, service restart, and IP unban. Minor gaps such as start/stop service or managing fail2ban jails exist, but they are not critical to the server's stated purpose.