Computer Control▌
by ab498
Automate desktop tasks with Computer Control: mouse, keyboard, screenshots, OCR & window management. Power Automate Desk
Enables desktop automation through mouse control, keyboard input, screenshots, OCR, and window management for direct interaction with graphical user interfaces
Both formats append explainx.ai attribution and the canonical URL for this MCP server listing.
best for
- / Desktop automation and testing
- / GUI workflow automation
- / Screen scraping and data extraction
- / Repetitive task automation
capabilities
- / Control mouse movements and clicks
- / Send keyboard input and keystrokes
- / Take desktop screenshots
- / Extract text from images using OCR
- / Manage windows and applications
- / Automate GUI interactions
what it does
Provides desktop automation capabilities including mouse control, keyboard input, screen capture, and OCR text recognition. Works directly with your computer's GUI without external dependencies.
about
Computer Control is a community-built MCP server published by ab498 that provides AI assistants with tools and capabilities via the Model Context Protocol. Automate desktop tasks with Computer Control: mouse, keyboard, screenshots, OCR & window management. Power Automate Desk It is categorized under developer tools.
how to install
You can install Computer Control in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
MIT
Computer Control is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
Computer Control MCP
MCP server that provides computer control capabilities, like mouse, keyboard, OCR, etc. using PyAutoGUI, RapidOCR, ONNXRuntime. Similar to 'computer-use' by Anthropic. With Zero External Dependencies.
<div align="center" style="text-align:center;font-family: monospace; display: flex; align-items: center; justify-content: center; width: 100%; gap: 10px"> <a href="https://nextjs-boilerplate-ashy-nine-64.vercel.app/demo-computer-control"><img src="https://komarev.com/ghpvc/?username=AB498&label=DEMO&style=for-the-badge&color=CC0000" /></a> <a href="https://discord.gg/ZeeqSBpjU2"><img src="https://img.shields.io/discord/1095854826786668545?style=for-the-badge&color=0000CC" alt="Discord"></a> <a href="https://img.shields.io/badge/License-MIT-yellow.svg"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge&color=00CC00" alt="License: MIT"></a> <a href="https://pypi.org/project/computer-control-mcp"><img src="https://img.shields.io/pypi/v/computer-control-mcp?style=for-the-badge" alt="PyPi"></a> </div>
Quick Usage (MCP Setup Using uvx)
Note: Running uvx computer-control-mcp@latest for the first time will download python dependencies (around 70MB) which may take some time. Recommended to run this in a terminal before using it as MCP. Subsequent runs will be instant.
{
"mcpServers": {
"computer-control-mcp": {
"command": "uvx",
"args": ["computer-control-mcp@latest"]
}
}
}
OR install globally with pip:
pip install computer-control-mcp
Then run the server with:
computer-control-mcp # instead of uvx computer-control-mcp, so you can use the latest version, also you can `uv cache clean` to clear the cache and `uvx` again to use latest version.
Features
- Control mouse movements and clicks
- Type text at the current cursor position
- Take screenshots of the entire screen or specific windows with optional saving to downloads directory
- Extract text from screenshots using OCR (Optical Character Recognition)
- List and activate windows
- Press keyboard keys
- Drag and drop operations
- Enhanced screenshot capture for GPU-accelerated windows (Windows only)
Note on GPU-accelerated Windows
Traditional screenshot methods like GDI/PrintWindow fail to capture GPU-accelerated windows, resulting in black screens. This impacts games, media players, Electron apps, browsers with GPU acceleration, streaming software, and CAD tools. Use WGC through take_screenshot tool's flag or ENV variable
Configuration
Custom Screenshot Directory
By default, screenshots are saved to the OS downloads directory. You can customize this by setting the COMPUTER_CONTROL_MCP_SCREENSHOT_DIR environment variable:
{
"mcpServers": {
"computer-control-mcp": {
"command": "uvx",
"args": ["computer-control-mcp@latest"],
"env": {
"COMPUTER_CONTROL_MCP_SCREENSHOT_DIR": "C:\Users\YourName\Pictures\Screenshots"
}
}
}
}
Or set it system-wide:
# Windows (PowerShell)
$env:COMPUTER_CONTROL_MCP_SCREENSHOT_DIR = "C:\Users\YourName\Pictures\Screenshots"
# macOS/Linux
export COMPUTER_CONTROL_MCP_SCREENSHOT_DIR="/home/yourname/Pictures/Screenshots"
If the specified directory doesn't exist, the server will fall back to the default downloads directory.
Automatic WGC for Specific Windows
You can configure the system to automatically use Windows Graphics Capture (WGC) for specific windows by setting the COMPUTER_CONTROL_MCP_WGC_PATTERNS environment variable. This variable should contain comma-separated patterns that match window titles:
{
"mcpServers": {
"computer-control-mcp": {
"command": "uvx",
"args": ["computer-control-mcp@latest"],
"env": {
"COMPUTER_CONTROL_MCP_WGC_PATTERNS": "obs, discord, game, steam"
}
}
}
}
Or set it system-wide:
# Windows (PowerShell)
$env:COMPUTER_CONTROL_MCP_WGC_PATTERNS = "obs, discord, game, steam"
# macOS/Linux
export COMPUTER_CONTROL_MCP_WGC_PATTERNS="obs, discord, game, steam"
When this variable is set, any window whose title contains any of the specified patterns will automatically use WGC for screenshot capture, eliminating black screens for GPU-accelerated applications.
Available Tools
Mouse Control
click_screen(x: int, y: int): Click at specified screen coordinatesmove_mouse(x: int, y: int): Move mouse cursor to specified coordinatesdrag_mouse(from_x: int, from_y: int, to_x: int, to_y: int, duration: float = 0.5): Drag mouse from one position to anothermouse_down(button: str = "left"): Hold down a mouse button ('left', 'right', 'middle')mouse_up(button: str = "left"): Release a mouse button ('left', 'right', 'middle')
Keyboard Control
type_text(text: str): Type the specified text at current cursor positionpress_key(key: str): Press a specified keyboard keykey_down(key: str): Hold down a specific keyboard key until releasedkey_up(key: str): Release a specific keyboard keypress_keys(keys: Union[str, List[Union[str, List[str]]]]): Press keyboard keys (supports single keys, sequences, and combinations)
Screen and Window Management
take_screenshot(title_pattern: str = None, use_regex: bool = False, threshold: int = 60, scale_percent_for_ocr: int = None, save_to_downloads: bool = False, use_wgc: bool = False): Capture screen or windowtake_screenshot_with_ocr(title_pattern: str = None, use_regex: bool = False, threshold: int = 10, scale_percent_for_ocr: int = None, save_to_downloads: bool = False): Extract adn return text with coordinates using OCR from screen or windowget_screen_size(): Get current screen resolutionlist_windows(): List all open windowsactivate_window(title_pattern: str, use_regex: bool = False, threshold: int = 60): Bring specified window to foregroundwait_milliseconds(milliseconds: int): Wait for a specified number of milliseconds
Development
Setting up the Development Environment
# Clone the repository
git clone https://github.com/AB498/computer-control-mcp.git
cd computer-control-mcp
# Build/Run:
# 1. Install in development mode | Meaning that your edits to source code will be reflected in the installed package.
pip install -e .
# Then Start server | This is equivalent to `uvx computer-control-mcp@latest` just the local code is used
computer-control-mcp
# -- OR --
# 2. Build after `pip install hatch` | This needs version increment in orer to reflect code changes
hatch build
# Windows
$latest = Get-ChildItem .\dist\*.whl | Sort-Object LastWriteTime -Descending | Select-Object -First 1
pip install $latest.FullName --upgrade
# Non-windows
pip install dist/*.whl --upgrade
# Run
computer-control-mcp
Running Tests
python -m pytest
API Reference
See the API Reference for detailed information about the available functions and classes.
License
MIT
For more information or help
FAQ
- What is the Computer Control MCP server?
- Computer Control is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
- How do MCP servers relate to agent skills?
- Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
- How are reviews shown for Computer Control?
- This profile displays 36 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.6 out of 5—verify behavior in your own environment before production use.
Use Cases▌
Extended AI Capabilities
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Context Enhancement
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Workflow Automation
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Implementation Guide▌
Prerequisites
- ›Claude Desktop 0.7.0+ or Cursor IDE with MCP support
- ›Basic understanding of MCP architecture and capabilities
- ›Access credentials for integrated services (if required)
- ›Willingness to experiment and iterate on configuration
Time Estimate
15-60 minutes depending on server complexity
Installation Steps
- 1.Install MCP server: npm install -g [package-name] or via GitHub
- 2.Add server configuration to ~/.claude/mcp.json
- 3.Provide required credentials and configuration
- 4.Restart Claude Desktop to load new server
- 5.Test basic functionality with simple prompts
- 6.Explore capabilities and experiment with use cases
- 7.Document successful patterns for reuse
Troubleshooting
- ⚠MCP server not loading: Check config syntax, verify installation
- ⚠Connection errors: Check network, firewall, credentials
- ⚠Feature not working: Read server docs, check required parameters
- ⚠Performance issues: Monitor resource usage, check for network latency
- ⚠Conflicts with other servers: Check port assignments, namespace collisions
Best Practices▌
✓ Do
- +Read server documentation thoroughly before setup
- +Start with simple use cases to validate functionality
- +Test in non-production environment first
- +Monitor resource usage and performance
- +Keep servers updated for bug fixes and new features
- +Document configuration for team members
- +Use environment variables for sensitive configuration
✗ Don't
- −Don't grant overly permissive access to MCP servers
- −Don't skip reading security considerations in docs
- −Don't expose sensitive data without proper controls
- −Don't run untrusted MCP servers without code review
- −Don't ignore error messages—investigate root cause
💡 Pro Tips
- ★Combine multiple MCP servers for powerful workflows
- ★Create custom MCP servers for your specific needs
- ★Share successful configurations with team
- ★Use MCP inspector for debugging
- ★Join MCP community for tips and troubleshooting
Technical Details▌
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
- Model Context Protocol (MCP)
- JSON-RPC 2.0
- stdio or HTTP transport
Compatibility
- Claude Desktop
- Cursor IDE
- Custom MCP clients
When to Use This▌
✓ Use When
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid When
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.
Integration▌
- →Tool composition: Chain multiple MCP tools in workflows
- →Context augmentation: Provide AI with relevant external data
- →Action delegation: Let AI execute tasks on external systems
- →Bidirectional sync: Keep AI context and external systems in sync
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
List & Promote Your MCP Server
Share your MCP server with the developer community
Ratings
4.6★★★★★36 reviews- ★★★★★Nikhil Garcia· Dec 28, 2024
Computer Control is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
- ★★★★★Mateo Singh· Dec 16, 2024
Computer Control reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
- ★★★★★Sofia Smith· Dec 12, 2024
We wired Computer Control into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
- ★★★★★Ganesh Mohane· Dec 4, 2024
We evaluated Computer Control against two servers with overlapping tools; this profile had the clearer scope statement.
- ★★★★★Sakshi Patil· Nov 23, 2024
Computer Control has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Nikhil Sethi· Nov 19, 2024
According to our notes, Computer Control benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
- ★★★★★Alexander Gill· Nov 7, 2024
I recommend Computer Control for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
- ★★★★★Amina Jain· Oct 26, 2024
Strong directory entry: Computer Control surfaces stars and publisher context so we could sanity-check maintenance before adopting.
- ★★★★★Chaitanya Patil· Oct 14, 2024
According to our notes, Computer Control benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
- ★★★★★Jin Anderson· Oct 10, 2024
Computer Control has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
showing 1-10 of 36