sysops-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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_cpu_statusA | Get CPU utilization, core counts, and load averages. Samples CPU for Returns: str: Markdown summary or JSON object with keys: percent, sample_seconds, physical_cores, logical_cores, load_avg {1min,5min,15min}, load_per_core_1min, per_core_percent (optional). |
| get_memory_statusA | Get RAM and swap utilization. Returns: str: Markdown summary or JSON object with keys: virtual {total_gb,used_gb,available_gb,percent} and swap {total_gb,used_gb,percent}. |
| get_disk_usageA | Get disk usage per partition, flagging any above a warning threshold. Read-only mounts are listed but never flagged, since space cannot be reclaimed on them (Linux snap squashfs mounts sit at 100% by design). Returns: str: Markdown summary or JSON object with keys: partitions (list of {mountpoint,device,fstype,total_gb,used_gb,percent,read_only,warning}), warnings (count), warn_percent. |
| list_top_processesA | List the top processes by CPU or memory consumption. Returns: str: Markdown table or JSON object with keys: count, sort_by, processes (list of {pid,name,cpu_percent,memory_percent,username,started}). |
| get_network_statusA | Get network interfaces, their addresses, and I/O totals since boot. Optionally includes TCP connection counts grouped by state, which is useful for spotting connection leaks or unexpected listeners. Returns: str: Markdown summary or JSON object with keys: interfaces ({name: {is_up, addresses[]}}), io_totals {sent_gb,recv_gb}, tcp_states (optional {state: count}). |
| check_portA | Test whether a TCP port is accepting connections. Performs a TCP connect to host:port with a timeout. Useful for verifying a service is listening ("is Postgres up on 5432?") before deeper diagnosis. Returns: str: One-line result: open, closed/refused, timed out, or DNS resolution failure, with latency when the port is open. |
| get_host_summaryA | One-call health snapshot: hostname, uptime, CPU, RAM, swap, fullest disk. The right first tool to call when asked "how is this box doing?" — it aggregates the key signals and gives a plain-language assessment, so follow-up tools only need to be called where something looks off. Returns: str: Markdown summary or JSON object with keys: hostname, boot_time, uptime_hours, cpu_percent, memory_percent, swap_percent, max_disk_percent, assessment. |
| tail_logA | Read the last N lines of a log file, optionally filtered by substring. For safety, reads are restricted to allowed log roots (default: /var/log) and capped at 500 lines. Symlinks are resolved before the check, so links pointing outside the allowed roots are rejected. Returns: str: The matching log lines, or an actionable error message. |
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 clearly distinct resource and action: CPU, memory, disk, processes, network, port probes, host summary, and logs. Even the aggregate get_host_summary is positioned as a high-level entry point rather than overlapping with the individual status tools.
Tool names consistently follow a verb_noun pattern in snake_case: get_cpu_status, get_memory_status, get_network_status, check_port, tail_log. Minor verb variation (get vs list vs check vs tail) is still predictable and clearly mapped to each tool's function.
Eight tools is a well-scoped size for a sysadmin/health-check server. Each tool covers a meaningful monitoring area without redundancy or feature bloat.
The toolkit covers the core read-only sysadmin surface well: CPU, memory, disk, processes, network, port reachability, host summary, and log inspection. It lacks deeper per-process detail or broader log discovery, but the provided workflows are practical and cover most common health-check scenarios without dead ends.