Desktop Commander MCP Server

Desktop Commander MCP Server

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

Category
Visit Server

README

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)

Tool Description
get_system_overview CPU, RAM, disk, swap usage and uptime in one call
list_processes List processes sorted by CPU/memory with optional filtering
get_process_details Deep-dive into a specific process (connections, threads, IO)
get_top_consumers Top N processes by CPU or memory
get_network_stats Network interfaces, bytes sent/received, connection summary
get_cpu_per_core Per-core CPU usage and frequency
kill_process Gracefully terminate or force-kill a process (with safety guards)
get_battery_status Battery level, charging status, time remaining
find_process_by_port Find which process is using a specific port
get_temperatures Hardware temperature sensors

Window Management (5 tools)

Tool Description
list_windows List all visible windows with title, position, size, PID, and state
focus_window Bring a window to the foreground by title or handle
arrange_window Move and/or resize a window to exact pixel coordinates
set_window_state Minimize, maximize, or restore a window
close_window Gracefully close a window

Desktop Control (5 tools)

Tool Description
capture_screenshot Screenshot full screen or a specific window (returns file path or base64)
read_clipboard Read text content from the system clipboard
write_clipboard Write text to the system clipboard
send_notification Show a desktop toast notification
get_display_info Monitor info: resolution, DPI, scaling, multi-monitor layout

Application Management (3 tools)

Tool Description
launch_application Start a program, open a file, or open a URL
search_installed_apps Search installed software (from Windows registry)
get_startup_programs List 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

Category Windows Linux macOS
System Monitoring Full Full Full
Window Management Full Planned Planned
Screenshots Full Planned Planned
Clipboard Full Planned Planned
Notifications Full Planned Planned
App Management Full Planned Planned

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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured