DevOps Dashboard MCP Server
Enables AI assistants to monitor and manage Linux infrastructure including services, logs, processes, disk, memory, ports, cron, nginx, Docker, and system health checks via the Model Context Protocol.
README
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 |
|---|---|
service_status |
Check systemd service status (active, failed, enabled state, PID, memory) |
service_logs |
Fetch journalctl logs with time range, priority, and grep filtering |
process_list |
List processes sorted by CPU/memory with optional name filtering |
disk_usage |
Disk space and inode usage by mount point |
memory_info |
RAM and swap usage, with optional /proc/meminfo details |
port_scan |
List listening TCP/UDP ports with associated processes |
cron_list |
List cron jobs for any/all users plus system cron files |
nginx_config |
Read, validate, and inspect nginx configuration and sites |
docker_status |
Container, image, volume, network, and resource usage overview |
system_health |
Aggregate health check with thresholds and warnings |
Quick Start
Install from npm
npm install -g @devops-dashboard/mcp-server
Or run directly with npx
npx @devops-dashboard/mcp-server
Configure 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 suite
Tool 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 logs
process_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 sizes
memory_info
RAM, swap, and system load. Detailed mode adds buffer/cache breakdown from /proc/meminfo.
Parameters:
detailed (boolean, default false) — Include /proc/meminfo details
port_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, all
cron_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 name
system_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 subsystem
Requirements
- 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.