Skip to main content
Glama
mcp-system-monitor

mcp-system-monitor

by VZilvinskus

MCP System Monitor

A production-grade Model Context Protocol (MCP) server that provides Claude with comprehensive system monitoring and diagnostics capabilities.

What It Does

This MCP server gives Claude direct access to system metrics and diagnostics, enabling it to:

  • Monitor CPU, memory, and disk usage in real-time

  • Analyze running processes and resource consumption

  • Inspect network connections and listening ports

  • Monitor Docker containers and images

  • Access system logs via journalctl (Linux)

Perfect for system diagnostics, performance troubleshooting, DevOps automation, and infrastructure monitoring.

Related MCP server: System Monitor MCP Server

Features

Available Tools

  1. get_system_resources - Real-time system resource monitoring

    • CPU usage, cores, and load

    • Memory usage and swap statistics

    • Disk usage and filesystem info

    • System uptime and OS details

  2. list_processes - Process monitoring and analysis

    • Top processes by CPU or memory usage

    • Process state and resource consumption

    • Command line and user information

    • Sortable and filterable results

  3. get_network_connections - Network connection analysis

    • Active network connections

    • Listening ports and services

    • Connection states (ESTABLISHED, LISTEN, etc.)

    • Process-to-port mapping

  4. get_docker_status - Docker container monitoring

    • Running and stopped containers

    • Container status and health

    • Image inventory

    • Port mappings and resource usage

  5. get_system_logs - System log analysis (Linux only)

    • Recent journalctl entries

    • Filterable by priority level

    • Filterable by systemd unit

    • Structured log output

Installation

cd mcp-system-monitor
npm install
npm run build

Configuration

Claude Code Configuration

Add to your Claude Code MCP settings (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "system-monitor": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-system-monitor/dist/index.js"]
    }
  }
}

Permissions

Some features require elevated permissions:

  • Docker status: User must be in the docker group

  • System logs: May require sudo access to journalctl (depending on system configuration)

  • Process details: Full process info may require elevated privileges

Example Usage with Claude Code

Once configured, you can ask Claude:

"What's my current CPU and memory usage?"

"Show me the top 10 processes by CPU usage"

"List all listening ports and which processes are using them"

"What Docker containers are running right now?"

"Show me the last 100 error-level system logs"

"Which process is using port 8080?"

"Is my disk usage getting high?"

Platform Support

  • CPU/Memory/Disk/Processes: All platforms (Linux, macOS, Windows)

  • Network connections: All platforms

  • Docker status: Requires Docker installation

  • System logs: Linux only (requires systemd/journalctl)

Gracefully degrades on platforms where features aren't available.

Development

# Watch mode for development
npm run dev

# Build for production
npm run build

# Start the server
npm start

Security Considerations

This server provides read-only access to system information. It does not:

  • Modify system configuration

  • Kill or start processes

  • Change permissions

  • Execute arbitrary commands

However, it does expose system information including:

  • Running processes and their arguments

  • Network connections

  • System logs

Only use in trusted environments and be mindful of what information you share.

Error Handling

The server includes comprehensive error handling for:

  • Missing system utilities (docker, journalctl)

  • Permission denied errors

  • Platform-specific features

  • Malformed data

  • Schema validation errors

Features that aren't available will return clear messages instead of errors.

Tech Stack

  • TypeScript for type safety

  • @modelcontextprotocol/sdk for MCP protocol

  • systeminformation for cross-platform system metrics

  • Zod for runtime schema validation

  • Native child_process for Docker and journalctl integration

Use Cases

  • DevOps: Automated system health checks

  • Troubleshooting: Quick diagnostics without leaving Claude

  • Monitoring: Resource usage tracking and alerting

  • Documentation: Generate system reports and inventories

  • Development: Debug resource leaks and performance issues

License

MIT

Available Tools

5 tools
get_docker_statusA

Get status of Docker containers (if Docker is available)

NameRequiredDescriptionDefault
includeAllNoInclude stopped containers (default: false)
get_network_connectionsB

Get active network connections and listening ports

NameRequiredDescriptionDefault
limitNoNumber of connections to return (default: 50)
get_system_logsA

Get recent system logs from journalctl (Linux only)

NameRequiredDescriptionDefault
unitNoFilter by systemd unit (e.g., 'docker', 'nginx')
linesNoNumber of log lines to return (default: 50)
priorityNoMinimum log priority level
get_system_resourcesA

Get current CPU, memory, and disk usage statistics

NameRequiredDescriptionDefault

No parameters

list_processesA

List running processes with CPU and memory usage, sorted by resource consumption

NameRequiredDescriptionDefault
limitNoNumber of processes to return (default: 20)
sortByNoSort processes by (default: cpu)

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedget_docker_status
    • First observedget_network_connections
    • First observedget_system_logs
    • First observedget_system_resources
    • First observedlist_processes

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct monitoring domain: system resources, network, processes, Docker, and logs. There is no overlap or ambiguity between the tools.

Naming Consistency5/5

All tool names follow the same get_<object> pattern, using snake_case consistently. The naming is predictable and easy to navigate.

Tool Count5/5

Five tools is a well-scoped size for a system monitoring server, covering the primary monitoring surfaces without unnecessary bloat.

Completeness4/5

The tool surface covers the main system monitoring areas: resources, network, processes, containers, and logs. Minor gaps like disk I/O statistics or service management exist, but the core monitoring workflows are well supported.

Maintenance

ActivityInactive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides system monitoring and management capabilities for Claude CLI, allowing users to view system information, track resource usage, and manage processes through natural language commands.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables comprehensive system monitoring and diagnostics through 18 tools that provide detailed information about CPU, memory, disk usage, network interfaces, running processes, battery status, hardware details, and temperature monitoring. Allows users to query system information and performance metrics through natural language interactions.
    10 npm
    ISC
  • F
    license
    B
    quality
    D
    maintenance
    Enables log analysis, searching, counting, and system metrics retrieval (CPU, memory, disk) via natural language, using 5 tools that can be integrated with Claude Code.
    5
    -