Skip to main content
Glama
ojoilesanmi

Secure VPS Operations MCP Server

by ojoilesanmi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SSH_HOSTYesThe hostname or IP address of the VPS to connect to.
SSH_PORTNoThe SSH port to connect to (default: 22).22
SSH_USERNAMEYesThe SSH username on the VPS (e.g., mcp-operator).
ALLOWED_DOMAINSNoComma-separated list of allowed domain names for SSL checks.
ALLOWED_SERVICESNoComma-separated list of allowed systemd service names.
ALLOWED_DATABASESNoComma-separated list of allowed database identifiers.
ALLOWED_CONTAINERSNoComma-separated list of allowed container names (resource allowlist).
SSH_KNOWN_HOSTS_FILEYesPath to the known_hosts file for host key verification.
SSH_PRIVATE_KEY_FILEYesPath 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

8 tools is well-scoped for a VPS operations/monitoring server. Each tool addresses a distinct monitoring need without redundancy or bloat.

Completeness4/5

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues