Skip to content

Cheffromspace/MCPControl

Repository files navigation

MCPControl

Project Status: De-prioritized. This project was created as an experiment, but Windows automation isn't something I'm looking to get deep into. I will review and merge PRs but will not be adding features soon. May revisit in the future. Looking for a maintainer.

MCPControl Logo

Latest Release

Windows control server for the Model Context Protocol, providing programmatic control over system operations including mouse, keyboard, window management, and screen capture functionality.

Note: This project currently supports Windows only.

πŸ”₯ Why MCPControl?

MCPControl bridges the gap between AI models and your desktop, enabling secure, programmatic control of:

  • πŸ–±οΈ Mouse movements and clicks
  • ⌨️ Keyboard input and shortcuts
  • πŸͺŸ Window management
  • πŸ“Έ Screen capture and analysis
  • πŸ“‹ Clipboard operations

πŸ”Œ Quick Start

  1. Install Node.js (if not already installed)

    # Visit https://nodejs.org and download the latest LTS version
    
  2. Configure MCP settings in your Claude client:

    {
      "mcpServers": {
        "MCPControl": {
          "command": "npx",
          "args": [
            "--no-cache",
            "-y",
            "mcp-control"
          ]
        }
      }
    }
  3. Restart your client and MCPControl will appear in your MCP menu!

πŸš€ Popular Use Cases

Assisted Automation

  • Application Testing: Delegate repetitive UI testing to Claude, allowing AI to navigate through applications and report issues
  • Workflow Automation: Have Claude operate applications on your behalf, handling repetitive tasks while you focus on creative work
  • Form Filling: Let Claude handle data entry tasks with your supervision

AI Experimentation

  • AI Gaming: Watch Claude learn to play simple games through visual feedback
  • Visual Reasoning: Test Claude's ability to navigate visual interfaces and solve visual puzzles
  • Human-AI Collaboration: Explore new interaction paradigms where Claude can see your screen and help with complex tasks

Development and Testing

  • Cross-Application Integration: Bridge applications that don't normally communicate
  • UI Testing Framework: Create robust testing scenarios with visual validation
  • Demo Creation: Automate the creation of product demonstrations

⚠️ IMPORTANT DISCLAIMER

THIS SOFTWARE IS EXPERIMENTAL AND POTENTIALLY DANGEROUS

By using this software, you acknowledge and accept that:

  • Giving AI models direct control over your computer through this tool is inherently risky
  • This software can control your mouse, keyboard, and other system functions which could potentially cause unintended consequences
  • You are using this software entirely at your own risk
  • The creators and contributors of this project accept NO responsibility for any damage, data loss, or other consequences that may arise from using this software
  • This tool should only be used in controlled environments with appropriate safety measures in place

USE AT YOUR OWN RISK

🌟 Features

πŸͺŸ Window Management

  • List all windows
  • Get active window info
  • Focus, resize & reposition

πŸ–±οΈ Mouse Control

  • Precision movement
  • Click & drag operations
  • Scrolling & position tracking

⌨️ Keyboard Control

  • Text input & key combos
  • Key press/release control
  • Hold key functionality

πŸ“Έ Screen Operations

  • High-quality screenshots
  • Screen size detection
  • Active window capture

πŸ› οΈ Development Setup

If you're interested in contributing or building from source, please see CONTRIBUTING.md for detailed instructions.

Development Requirements

To build this project for development, you'll need:

  1. Windows operating system (required for the keysender dependency)
  2. Node.js 18 or later (install using the official Windows installer which includes build tools)
  3. npm package manager
  4. Native build tools:
    • node-gyp: npm install -g node-gyp
    • cmake-js: npm install -g cmake-js

The keysender dependency relies on Windows-specific native modules that require these build tools.

πŸ“‹ Project Structure

  • /src
    • /handlers - Request handlers and tool management
    • /tools - Core functionality implementations
    • /types - TypeScript type definitions
    • index.ts - Main application entry point

πŸ”– Repository Branches

  • main - Main development branch with the latest features and changes
  • release - Stable release branch that mirrors the latest stable tag (currently v0.1.22)

Version Installation

You can install specific versions of MCPControl using npm:

# Install the latest stable release (from release branch)
npm install mcp-control

# Install a specific version
npm install mcp-control@0.1.22

πŸ“š Dependencies

🚧 Known Limitations

  • Window minimize/restore operations are currently unsupported
  • Multiple screen functions may not work as expected, depending on setup
  • The get_screenshot utility does not work with the VS Code Extension Cline. See GitHub issue #1865
  • Some operations may require elevated permissions depending on the target application
  • Only Windows is supported
  • MCPControl works best at 1280x720 resolution, single screen. Click accuracy is optimized for this resolution. We're working on an offset/scaling bug and looking for testers or help creating testing tools

πŸ‘₯ Contributing

See CONTRIBUTING.md

Note: As this project is currently in a maintenance-only mode, we're primarily focusing on bug fixes. However, fully implemented and well-tested features will be considered for merging. Looking for maintainers to help keep the project active.

βš–οΈ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ“– References

MseeP.ai Security Assessment Badge