Skip to content
Conduit

mcp server

system-monitor-mcp

MCP server for real-time system monitoring — CPU, RAM, disk, network, and process management

19miha99/system-monitor-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "system-monitor-mcp": {
      "command": "uvx",
      "args": [
        "desktop-commander-mcp"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 23, 2026

Desktop Commander MCP Server

A comprehensive Model Context Protocol (MCP) server that gives AI assistants like Claude full control over your desktop — monitor system resources, manage windows, capture screenshots, control the clipboard, launch applications, and more.

23 tools across 4 categories, turning Claude into a true desktop assistant.

Why Desktop Commander?

Claude is powerful, but blind and handless on your desktop. Desktop Commander fixes that:

  • "What's eating my CPU?" — instantly see top resource consumers
  • "Take a screenshot" — Claude can actually see your screen
  • "Arrange my windows side by side" — window management by natural language
  • "Copy this to clipboard" — seamless data transfer
  • "Is port 3000 in use?" — debug development issues
  • "Open VS Code in my project folder" — launch apps with context

Tools

System Monitoring (10 tools)

ToolDescription
get_system_overviewCPU, RAM, disk, swap usage and uptime in one call
list_processesList processes sorted by CPU/memory with optional filtering
get_process_detailsDeep-dive into a specific process (connections, threads, IO)
get_top_consumersTop N processes by CPU or memory
get_network_statsNetwork interfaces, bytes sent/received, connection summary
get_cpu_per_corePer-core CPU usage and frequency
kill_processGracefully terminate or force-kill a process (with safety guards)
get_battery_statusBattery level, charging status, time remaining
find_process_by_portFind which process is using a specific port
get_temperaturesHardware temperature sensors

Window Management (5 tools)

ToolDescription
list_windowsList all visible windows with title, position, size, PID, and state
focus_windowBring a window to the foreground by title or handle
arrange_windowMove and/or resize a window to exact pixel coordinates
set_window_stateMinimize, maximize, or restore a window
close_windowGracefully close a window

Desktop Control (5 tools)

ToolDescription
capture_screenshotScreenshot full screen or a specific window (returns file path or base64)
read_clipboardRead text content from the system clipboard
write_clipboardWrite text to the system clipboard
send_notificationShow a desktop toast notification
get_display_infoMonitor info: resolution, DPI, scaling, multi-monitor layout

Application Management (3 tools)

ToolDescription
launch_applicationStart a program, open a file, or open a URL
search_installed_appsSearch installed software (from Windows registry)
get_startup_programsList programs configured to run at startup

Installation

git clone https://github.com/19miha99/system-monitor-mcp.git
cd system-monitor-mcp
pip install -e .

Usage with Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "desktop-commander": {
      "command": "python",
      "args": ["-m", "system_monitor_mcp.server"]
    }
  }
}

Usage with Claude Code

claude mcp add desktop-commander -- python -m system_monitor_mcp.server

Example Workflows

System Health Check

"Give me a complete system health check"

Claude calls get_system_overview, get_top_consumers, get_network_stats and gives you a comprehensive report.

Debug a Slow Computer

"My computer is slow, what's going on?"

Claude checks get_top_consumers for CPU and memory, identifies the culprit, and offers to kill_process if needed.

Window Arrangement

"Put Chrome on the left half and VS Code on the right half of my screen"

Claude uses list_windows to find them, get_display_info to know the screen size, then arrange_window to position each one.

Port Conflict Resolution

"Something is using port 8080, find and kill it"

Claude calls find_process_by_port(8080), shows you what's there, and kill_process to free the port.

Visual Debugging

"Take a screenshot and tell me what you see"

Claude uses capture_screenshot, then reads the image to analyze what's on screen.

App Launcher

"Open my project in VS Code"

Claude calls launch_application("code", args=["C:/Users/you/project"]).

Architecture

src/system_monitor_mcp/
├── app.py          # FastMCP instance (shared across modules)
├── server.py       # Entry point — imports all tool modules
├── helpers.py      # Shared utilities (format_bytes, format_uptime)
├── monitor.py      # 10 system monitoring tools
├── windows.py      # 5 window management tools
├── desktop.py      # 5 desktop control tools (screenshots, clipboard, etc.)
└── apps.py         # 3 application management tools

Requirements

  • Python 3.10+
  • psutil — cross-platform system monitoring
  • mcp — Model Context Protocol SDK
  • Pillow — screenshot capture
  • pywin32 — Windows API access (auto-installed on Windows)

Platform Support

CategoryWindowsLinuxmacOS
System MonitoringFullFullFull
Window ManagementFullPlannedPlanned
ScreenshotsFullPlannedPlanned
ClipboardFullPlannedPlanned
NotificationsFullPlannedPlanned
App ManagementFullPlannedPlanned

Primary platform: Windows. Cross-platform support for desktop features is planned.

Safety

  • System-critical processes (PID 0, 1, 4) cannot be killed
  • The server refuses to kill its own process
  • Windows are closed gracefully via WM_CLOSE (not force-terminated)
  • All operations provide clear error messages on failure

License

MIT

↑↓ navigate openesc close