Cross-platform MCP server for OS automation
A cross-platform control server for the Model Context Protocol (MCP), providing programmatic control over system operations including mouse, keyboard, window management, and screen capture functionality. Built on nut.js.
I developed this project as an experiment a few months ago, wanting to see if Claude could play some video games. After seeing it work, I was impressed but set it aside. Recently, it's gained attention from the community, prompting me to resume development. While currently in pre-release state, I'm actively working toward a stable version. If you encounter any issues, please submit them through the issue tracker.
Note: This project aims to support Windows, Linux, and macOS. While most testing has been performed on Windows, cross-platform compatibility contributions are welcome.
THIS SOFTWARE IS EXPERIMENTAL AND POTENTIALLY DANGEROUS
By using this software, you acknowledge and accept that:
USE AT YOUR OWN RISK
Window Management
Mouse Control
Keyboard Control
Screen Operations
Clipboard Integration
git clone https://github.com/Cheffromspace/MCPControl.git
cd MCPControl
# Install dependencies
npm install
# Build everything including libnut-core
npm run build:all
For manual building, you can still follow these steps:
# Install cmake-js globally (required for building)
npm install -g cmake-js
# Clone libnut repository directly in the project directory
git clone https://github.com/nut-tree/libnut.git libnut-core
cd libnut-core
# Install dependencies and build
npm install
cmake-js rebuild
# Return to the main project
cd ..
# Build MCPControl
npm run build
Run all tests:
npm test
Generate coverage report:
npm run test:coverage
To use this project with Claude, add the following configuration to your MCP servers:
{
"mcpServers": {
"MCPControl": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": [
"[INSTALL LOCATION]\\MCPControl\\build\\index.js"
]
}
}
}
After configuring your MCP server, restart Claude to see the MCPControl service in the menu.
/src
/handlers
- Request handlers and tool management/tools
- Core functionality implementations/types
- TypeScript type definitionsindex.ts
- Main application entry pointThe project currently includes unit tests for core functionality. The following test areas are planned for future development:
See CONTRIBUTING.md
This project is licensed under the MIT License - see the LICENSE file for details.