{"id":26362264,"url":"https://github.com/Cheffromspace/MCPControl","last_synced_at":"2025-03-16T18:02:08.956Z","repository":{"id":266345202,"uuid":"898049758","full_name":"Cheffromspace/MCPControl","owner":"Cheffromspace","description":"Cross-platform MCP server for OS automation","archived":false,"fork":false,"pushed_at":"2025-03-12T19:32:57.000Z","size":188,"stargazers_count":7,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T20:24:32.330Z","etag":null,"topics":["ai","claude","computer-control","computer-vision","mcp","os-automation","windows"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cheffromspace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-03T17:40:27.000Z","updated_at":"2025-03-12T19:33:02.000Z","dependencies_parsed_at":"2025-03-12T20:34:57.703Z","dependency_job_id":null,"html_url":"https://github.com/Cheffromspace/MCPControl","commit_stats":null,"previous_names":["cheffromspace/nutjs-windows-control","cheffromspace/mcpcontrol"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cheffromspace%2FMCPControl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cheffromspace%2FMCPControl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cheffromspace%2FMCPControl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cheffromspace%2FMCPControl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cheffromspace","download_url":"https://codeload.github.com/Cheffromspace/MCPControl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910773,"owners_count":20367545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude","computer-control","computer-vision","mcp","os-automation","windows"],"created_at":"2025-03-16T18:01:30.886Z","updated_at":"2025-03-16T18:02:08.921Z","avatar_url":"https://github.com/Cheffromspace.png","language":"TypeScript","funding_links":[],"categories":["Community Servers","🤖 AI/ML"],"sub_categories":[],"readme":"# MCPControl\n\nA 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](https://nutjs.dev/).\n\nI 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.\n\n\u003e **Note**: This project aims to support Windows, Linux, and macOS. While most testing has been performed on Windows, cross-platform compatibility contributions are welcome.\n\n## ⚠️ IMPORTANT DISCLAIMER\n\n**THIS SOFTWARE IS EXPERIMENTAL AND POTENTIALLY DANGEROUS**\n\nBy using this software, you acknowledge and accept that:\n\n- Giving AI models direct control over your computer through this tool is inherently risky\n- This software can control your mouse, keyboard, and other system functions which could potentially cause unintended consequences\n- You are using this software entirely at your own risk\n- 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\n- This tool should only be used in controlled environments with appropriate safety measures in place\n\n**USE AT YOUR OWN RISK**\n\n## Features\n\n- **Window Management**\n  - List all windows\n  - Get active window information\n  - Get window titles\n  - Get window size and position\n  - Focus windows\n  - Resize windows\n  - Reposition windows\n\n- **Mouse Control**\n  - Mouse movement\n  - Click operations\n  - Scroll functionality\n  - Drag operations\n  - Cursor position tracking\n\n- **Keyboard Control**\n  - Text input\n  - Key combinations\n  - Key press/release operations\n  - Hold key functionality\n\n- **Screen Operations**\n  - Screen capture\n  - Screen size retrieval\n  - Active window detection\n\n- **Clipboard Integration**\n  - Get clipboard content\n  - Set clipboard content\n  - Clear clipboard\n  - Check clipboard state\n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/Cheffromspace/MCPControl.git\ncd MCPControl\n```\n\n2. Build the project (this will handle libnut-core and all dependencies):\n```bash\n# Install dependencies\nnpm install\n\n# Build everything including libnut-core\nnpm run build:all\n```\n\nFor manual building, you can still follow these steps:\n```bash\n# Install cmake-js globally (required for building)\nnpm install -g cmake-js\n\n# Clone libnut repository directly in the project directory\ngit clone https://github.com/nut-tree/libnut.git libnut-core\ncd libnut-core\n\n# Install dependencies and build\nnpm install\ncmake-js rebuild\n\n# Return to the main project\ncd ..\n\n# Build MCPControl\nnpm run build\n```\n\n### Running Tests\n\nRun all tests:\n```bash\nnpm test\n```\n\nGenerate coverage report:\n```bash\nnpm run test:coverage\n```\n\n## MCP Server Configuration\n\nTo use this project with Claude, add the following configuration to your MCP servers:\n\n```json\n{\n  \"mcpServers\": {\n    \"MCPControl\": {\n      \"command\": \"C:\\\\Program Files\\\\nodejs\\\\node.exe\",\n      \"args\": [\n        \"[INSTALL LOCATION]\\\\MCPControl\\\\build\\\\index.js\"\n      ]\n    }\n  }\n}\n```\n\nAfter configuring your MCP server, restart Claude to see the MCPControl service in the menu.\n\n## Project Structure\n\n- `/src`\n  - `/handlers` - Request handlers and tool management\n  - `/tools` - Core functionality implementations\n  - `/types` - TypeScript type definitions\n  - `index.ts` - Main application entry point\n\n## Dependencies\n\n- [@modelcontextprotocol/sdk](https://www.npmjs.com/package/@modelcontextprotocol/sdk) - MCP SDK for protocol implementation\n- [@nut-tree/libnut](https://github.com/nut-tree/libnut) - Core native UI automation library\n- [clipboardy](https://www.npmjs.com/package/clipboardy) - Cross-platform clipboard handling\n- [express](https://expressjs.com/) - Web server framework\n- [jimp](https://www.npmjs.com/package/jimp) \u0026 [sharp](https://www.npmjs.com/package/sharp) - Image processing\n\n## Testing\n\nThe project currently includes unit tests for core functionality. The following test areas are planned for future development:\n- Integration tests for cross-module functionality\n- Performance testing\n- Error handling validation\n\n## Known Limitations\n\n- Window minimize/restore operations are currently unsupported in libnut-core\n- Advanced screen information (multiple monitors, DPI settings) is limited to main display\n- Some operations may require elevated permissions depending on the target application\n- Cross-platform support (Linux/macOS) is untested\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## References\n\n- [NutJS Documentation](https://nutjs.dev/)\n- [NutJS GitHub Repository](https://github.com/nut-tree/nut.js)\n- [Model Context Protocol Documentation](https://modelcontextprotocol.github.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCheffromspace%2FMCPControl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCheffromspace%2FMCPControl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCheffromspace%2FMCPControl/lists"}