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.
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
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.