DevOps Dashboard MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DevOps Dashboard MCP Server check system health"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DevOps Dashboard MCP Server
Monitor and manage Linux infrastructure through your AI assistant. Built on the Model Context Protocol (MCP), this server gives Claude (or any MCP-compatible client) full visibility into your systems — services, logs, resources, containers, and more.
Tools
Tool | Description |
| Check systemd service status (active, failed, enabled state, PID, memory) |
| Fetch journalctl logs with time range, priority, and grep filtering |
| List processes sorted by CPU/memory with optional name filtering |
| Disk space and inode usage by mount point |
| RAM and swap usage, with optional /proc/meminfo details |
| List listening TCP/UDP ports with associated processes |
| List cron jobs for any/all users plus system cron files |
| Read, validate, and inspect nginx configuration and sites |
| Container, image, volume, network, and resource usage overview |
| Aggregate health check with thresholds and warnings |
Related MCP server: mcp-homelab-server
Quick Start
Install from npm
npm install -g @devops-dashboard/mcp-serverOr run directly with npx
npx @devops-dashboard/mcp-serverConfigure in Claude Code
Add to your Claude Code MCP settings (~/.claude/settings.json or project .mcp.json):
{
"mcpServers": {
"devops-dashboard": {
"command": "npx",
"args": ["@devops-dashboard/mcp-server"]
}
}
}Configure in Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"devops-dashboard": {
"command": "npx",
"args": ["@devops-dashboard/mcp-server"]
}
}
}Development
git clone https://github.com/turlockmike/devops-dashboard-mcp.git
cd devops-dashboard-mcp
npm install
npm run dev # Start with tsx (hot reload)
npm run build # Compile TypeScript
npm test # Run test suiteTool Details
service_status
Check whether a systemd service is running, its enabled/disabled state, PID, and recent status output.
Parameters:
service (string, required) — Service name (e.g. "nginx", "sshd")
user (boolean, optional) — Query user-level services (--user)service_logs
Fetch recent journal logs with powerful filtering. Supports time ranges, priority levels, and text search.
Parameters:
service (string, required) — Service name
lines (number, 1-1000, default 50) — Number of log lines
since (string, optional) — Time filter ("1h ago", "today", "2024-01-15")
priority (string, optional) — Minimum level (emerg/alert/crit/err/warning/notice/info/debug)
grep (string, optional) — Filter by pattern
user (boolean, optional) — Query user-level service logsprocess_list
List running processes with resource usage. Sort by CPU, memory, PID, or elapsed time.
Parameters:
sort (string, default "cpu") — Sort field: cpu, mem, pid, time
limit (number, 1-200, default 20) — Number of processes to show
filter (string, optional) — Filter by process name (case-insensitive)disk_usage
Show disk space and inode usage. Excludes virtual filesystems for clean output.
Parameters:
path (string, optional) — Specific mount point or path
human (boolean, default true) — Human-readable sizesmemory_info
RAM, swap, and system load. Detailed mode adds buffer/cache breakdown from /proc/meminfo.
Parameters:
detailed (boolean, default false) — Include /proc/meminfo detailsport_scan
List all listening network ports with their owning processes. Uses ss with netstat fallback.
Parameters:
port (number, 1-65535, optional) — Check a specific port
protocol (string, default "all") — Filter: tcp, udp, allcron_list
Enumerate cron jobs across users and system directories.
Parameters:
user (string, optional) — Specific user to query
all (boolean, default false) — List jobs for ALL users
include_system (boolean, default true) — Include /etc/crontab and /etc/cron.d/nginx_config
Read and validate nginx configuration.
Parameters:
action (string, required) — show, test, list_sites, or full_config
site (string, optional) — Specific site config to read (with "show" action)docker_status
Docker environment overview. Gracefully handles missing Docker or stopped daemon.
Parameters:
action (string, default "overview") — overview, containers, images, stats, networks, volumes
filter (string, optional) — Filter by container/image namesystem_health
Aggregate health check that inspects memory, disk, load, failed services, and network listeners. Returns HEALTHY or ISSUES DETECTED with specific warnings.
Parameters:
verbose (boolean, default false) — Include full details per subsystemRequirements
Node.js >= 18
Linux (uses systemd, journalctl, ss, df, free, ps, etc.)
Optional: Docker, nginx (tools degrade gracefully if not present)
Architecture
src/
├── index.ts # MCP server entry point, tool registration
├── tools/
│ ├── service.ts # systemd service status + logs
│ ├── system.ts # processes, disk, memory, ports, health
│ ├── cron.ts # cron job listing
│ ├── nginx.ts # nginx config management
│ └── docker.ts # Docker container/image tools
└── utils/
└── exec.ts # Safe command execution (execFile, no shell)All system commands run through safeExec() which uses execFile (not exec) to prevent shell injection. Commands have configurable timeouts and output size limits.
License
MIT
Available Tools
10 toolscron_listA
List cron jobs for the current user, a specific user, or all users. Also shows system cron files from /etc/crontab and /etc/cron.d/. Includes cron.daily, cron.weekly, and cron.monthly summaries.
Inputs: all, user, include_system.
disk_usageA
Show disk space usage by filesystem/mount point. Includes both space and inode usage. Excludes virtual filesystems (tmpfs, devtmpfs) for clarity. Essential for preventing disk-full outages.
Inputs: path, human.
docker_statusA
Inspect Docker containers, images, networks, volumes, and resource usage. Gracefully reports if Docker is not installed or the daemon is stopped. The 'overview' action gives a quick summary; 'stats' shows live CPU/memory per container.
Inputs: action, filter.
memory_infoA
Show RAM and swap usage. In detailed mode, includes buffer/cache breakdown from /proc/meminfo. Also reports system load averages for context.
Inputs: detailed.
nginx_configA
Read, validate, and inspect nginx configuration. Actions: 'show' reads the main config or a specific site, 'test' runs nginx -t validation, 'list_sites' shows enabled/available sites, 'full_config' dumps the fully resolved configuration.
Inputs: action (required), site.
port_scanA
List all listening TCP/UDP ports with their associated processes. Can filter to a specific port number or protocol. Uses 'ss' (modern) with 'netstat' fallback. Useful for checking what services are exposed.
Inputs: port, protocol.
process_listA
List running processes with CPU, memory, and runtime details. Sort by CPU or memory to find resource hogs. Filter by process name to find specific applications.
Inputs: sort, limit, filter.
service_logsA
Fetch recent journal logs for a systemd service. Supports filtering by time range, priority level, and grep patterns. Useful for debugging service issues and monitoring application output.
Inputs: service (required), grep, user, lines, +2 more.
service_statusA
Check the status of a systemd service. Shows whether it's active/inactive/failed, its enabled state, PID, memory usage, and recent log lines from systemctl status output.
Inputs: service (required), user.
system_healthA
Run an aggregate health check across the entire system. Checks load averages, memory/swap usage, disk space (with inode check), failed systemd services, and listening port count. Returns clear HEALTHY/ISSUES DETECTED status with specific warnings and thresholds. This is the go-to tool for a quick 'is everything OK?' check.
Inputs: verbose.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool targets a distinct subsystem or concern: systemd services, processes, disk, memory, ports, cron, nginx, Docker, and overall health. Even service_status and system_health are clearly separated by scope, with the former for a single service and the latter for aggregate system checks.
All tool names follow the same snake_case resource-oriented pattern with two segments describing the target and the data/action (e.g., service_status, disk_usage, port_scan). No mixed naming conventions or vague verb-only names appear.
Ten tools is a well-scoped size for a DevOps dashboard server. Each tool covers a meaningful monitoring area without unnecessary duplication or excessive fragmentation, and the count feels natural for the domain.
The tool surface covers most core server monitoring needs: services, logs, processes, disk, memory, ports, cron, nginx, Docker, and an aggregate health check. Minor gaps exist, such as no dedicated Docker logs or network throughput tool, but agents can still perform common diagnostic workflows.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Read-only server insight: why a Linux server or K8s cluster is slow, failing or changed.
Monitors TLS/SSL certificate expiry, DNS resolution, and TCP port status for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceGives AI agents real-time access to system metrics, process management, and container orchestration.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage a homelab by providing tools for Docker, Ollama, and system monitoring through the Model Context Protocol.MIT
- AlicenseDqualityDmaintenanceEnables AI assistants to interact with local Docker containers, Kubernetes clusters, and system logs using the Model Context Protocol.98 npmISC
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to monitor server health through natural language, including HTTP endpoint checks, disk/memory/CPU usage, port status, and process listings.-