- Total PC Control
Total PC Control
Total PC Control MCP server - v2 with fixes and compression
Content
Total PC Control
An MCP (Model Context Protocol) server that provides control over your screen, mouse, and keyboard using nut.js.
⚠️ Warning: Use with Caution
This software enables programmatic control of your mouse, keyboard, and other system operations. By using this software, you acknowledge and accept that:
- Giving AI models direct control over your computer through this tool can lead to unintended consequences
- The software can control your mouse, keyboard, and other system functions
- 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
Features
- 📷 Screen Capture: Capture screenshots of your entire screen or specific regions
- 🖱️ Mouse Control: Move the mouse cursor, click, double-click, and scroll
- ⌨️ Keyboard Input: Type text and press keyboard shortcuts
- 🪟 Window Management: Find, focus, and manipulate application windows
- 📋 Clipboard Access: Copy and paste text
Prerequisites
- Node.js 16 or higher
- npm or yarn
- cmake-js (for building native dependencies)
Installation
- Clone the repository:
git clone https://github.com/jasondsmith72/total-pc-control.git
cd total-pc-control
- Install cmake-js globally (required for building native dependencies):
npm install -g cmake-js
- Install the libnut core library (required for nut.js):
git clone https://github.com/nut-tree/libnut.git libnut-core
cd libnut-core
npm install
cmake-js rebuild
cd ..
- Install dependencies and build the project:
npm install
npm run build
Using with Claude for Desktop
- Edit your Claude for Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Add the following to your configuration:
{
"mcpServers": {
"total-pc-control": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/total-pc-control/build/index.js"
]
}
}
}
Replace /ABSOLUTE/PATH/TO/ with the actual path to where you cloned the repository.
-
Restart Claude for Desktop
-
Look for the hammer icon in the Claude interface to indicate available tools.
Available Tools
Screen Capture
capture_screen: Capture the entire screen as an image. Supportsformat(png/jpeg) andquality(jpeg only) parameters.capture_region: Capture a specific region of the screen. Requiresleft,top,width,height. Supportsformatandquality.get_screen_size: Get the dimensions (width and height) of the screen.
Mouse Control
move_mouse: Move the mouse cursor to a specificx,yposition.get_mouse_position: Get the currentx,yposition of the mouse cursor.click_mouse: Click the mouse at the current position. Optionalbutton(left, middle, right).click_at: Click the mouse at a specificx,yposition. Optionalbutton.double_click: Double-click the mouse at the current position.double_click_at: Double-click the mouse at a specificx,yposition.scroll_mouse: Scroll the mouse wheel. Requiresdirection(up/down). Optionalamount.drag_mouse: Drag the mouse from the current position to a targetx,yposition.drag_mouse_from_to: Drag the mouse from astartX,startYposition to anendX,endYposition.
Keyboard Input
type_text: Type text at the current cursor position. Requirestext.type_text_with_delay: Type text with a delay between keystrokes. Requirestext. OptionaldelayMs.press_key: Press a specific keyboard key. Requireskey.press_key_shortcut: Press a keyboard shortcut (combination of keys). Requireskeysarray.hold_key: Hold down a keyboard key. Requireskey.release_key: Release a held keyboard key. Requireskey.
Clipboard Operations
get_clipboard_text: Get text from the clipboard.set_clipboard_text: Set text to the clipboard. Requirestext.copy_selected_text: Copy selected text to clipboard and return it (uses Ctrl+C/Cmd+C).paste_text: Paste text at current cursor position (uses Ctrl+V/Cmd+V). Requirestext.get_clipboard_image: Get image from the clipboard (if available) as base64 data.
UI Automation Tools (Windows Only)
These tools use Windows UI Automation via PowerShell to interact with UI elements.
get_ui_element_info: Finds a UI element within a specified window and returns its properties (Name, AutomationId, ClassName, ControlType, BoundingRectangle, IsEnabled, IsOffscreen, Value, Children).- Requires
windowTitle(can be partial match). - Requires at least one of
elementName,automationId, orclassNameto find a specific element. - If no element identifier is provided, it lists the direct children of the window.
- Requires
invoke_ui_element_action: Performs an action on a specified UI element.- Requires
windowTitle. - Requires
action(Click,SetValue, orFocus). - Requires at least one of
elementName,automationId, orclassName. - Requires
valueToSet(string) ifactionisSetValue.
- Requires
Development
To run the server in development mode:
npm run dev
To run tests:
npm test
License
This project is licensed under the MIT License - see the LICENSE file for details.
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Playwright McpPlaywright MCP server
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Serper MCP ServerA Serper MCP Server
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题;
Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Amap Maps高德地图官方 MCP Server
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Tavily Mcp
DeepChatYour AI Partner on Desktop
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
CursorThe AI Code Editor
ChatWiseThe second fastest AI chatbot™
WindsurfThe new purpose-built IDE to harness magic
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.