infra-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | No | Optional GitHub personal access token for fetching deployment data | |
| INFRA_SSH_HOST | Yes | SSH hostname or IP of the target VPS | |
| INFRA_MAX_LOG_LINES | No | Maximum number of log lines to return (default: 500) | 500 |
| INFRA_PUBLIC_DOMAIN | Yes | Public domain for resolving service URLs (e.g., example.com) | |
| INFRA_ALLOWED_SERVICES | Yes | Comma-separated list of allowed service names for restart operations |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| infra_status_toolA | List every container in the compose stack with state + status string.
|
| infra_logs_toolB | Tail logs from one compose service.
|
| infra_disk_toolA | VPS disk + docker storage summary. Use before heavy rebuilds. |
| service_url_toolA | Resolve . and probe its HTTP status. Quick liveness check. |
| infra_deploys_toolC | Recent GitHub Actions runs across the configured deploy repos. |
| infra_restart_toolA | Restart a compose service. Requires confirm=true AND service in INFRA_ALLOWED_SERVICES.
|
| caddy_reload_toolA | Reload Caddy after a Caddyfile change. Requires confirm=true. |
| infra_prune_toolA | Reclaim docker disk space. Requires confirm=true. target: 'build_cache' (safest), 'dangling_images', 'stopped_containers', 'all_images' (riskier — removes any image not used by a running container). |
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
Each tool targets a distinct infrastructure operation: container status, logs, disk usage, URL probing, deployment history, service restart, Caddy reload, and disk pruning. There is no functional overlap, and the descriptions clearly differentiate their purposes.
Most tools follow an `infra_*_tool` pattern, but `service_url_tool` and `caddy_reload_tool` break the prefix convention. Additionally, the middle portion mixes nouns (logs, disk, deploys) and verbs (restart, prune, reload), making the naming pattern less predictable.
With 8 tools, the set is well-scoped for an infrastructure management server. Each tool covers a meaningful aspect (monitoring, logs, disk, service control, deploys, Caddy config, cleanup) without redundancy or bloat.
The toolset provides solid coverage for common infrastructure tasks: status, logs, disk, restart, pruning, URL checks, deploy visibility, and Caddy reload. Minor gaps like explicit start/stop or triggering deploys are noticeable but not critical since restart and deploy history cover most needs.