- Home
- MCP servers
- Windows Automation
Windows Automation
- javascript
0
GitHub Stars
javascript
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"eva-wanxin-git-windows-automation-mcp": {
"command": "node",
"args": [
"c:\\Users\\Administrator\\Desktop\\cursor工作盘\\windows-automation-mcp\\src\\server.js"
]
}
}
}This Windows MCP Server provides automated control over the local Windows environment, enabling you to perform file operations, manage processes, control the mouse and keyboard, handle windows, capture screenshots, work with the clipboard, run PowerShell and CMD commands, and automate browser interactions from a single MCP server you run on your Windows machine.
How to use
You connect to the Windows MCP Server from an MCP client. The server exposes a wide range of actions you can perform on the host machine. Use your client to select the target MCP server by its name, then issue commands to execute file operations, manage processes, control UI interactions, take screenshots, manipulate the clipboard, run shell commands, and automate browser tasks. Each action is exposed as a tool you can invoke from the client and will run on your Windows machine with the appropriate permissions.
When you start the MCP server, you will be able to run a complete set of commands locally. Plan your tasks by sequencing actions: for example, read a file, launch an application, simulate input to a window, capture a region of the screen, copy text to the clipboard, and finally close the application. The server is designed to be used programmatically from your MCP client with clear command names and predictable results.
How to install
cd windows-automation-mcp
npm install
Optional dependencies
Mouse and keyboard automation (robotjs)
Install Windows Build Tools first
npm install --global windows-build-tools npm install robotjs
Browser automation (puppeteer)
npm install puppeteer
## Configuration and usage notes
Configure the MCP client Cursor to connect to this local server. Use the following MCP configuration snippet, which targets the Windows MCP server you run locally.
{ "mcpServers": { "windows_automation": { "command": "node", "args": ["c:\Users\Administrator\Desktop\cursor工作盘\windows-automation-mcp\src\server.js"] } } }
## Troubleshooting and tips
If you encounter issues with optional features, ensure you have the required dependencies installed and that you run the MCP server with the necessary permissions. For mouse and keyboard automation, you may need to install Windows Build Tools and the robotjs package. For browser automation, puppeteer must be installed.
## Tools and capabilities overview
The server exposes a comprehensive set of tools to cover common automation scenarios across five categories: file operations, process management, UI interactions, window management, and system/browser automation. See the Tools section for a complete mapping of tool names to their capabilities.
## Recommended usage pattern
Begin by listing and inspecting the environment you want to automate, then perform a sequence of actions that are logically grouped (e.g., prepare data, run a task, verify results, and clean up). Always verify that you have the necessary permissions for actions such as file manipulation or launching processes, and handle errors gracefully in your client code.
## Security considerations
Only run the MCP server on trusted Windows machines. Limit access to the MCP client interface and avoid exposing it to untrusted networks. For operations that can affect system state (like running scripts or terminating processes), implement proper access controls in your client workflow.
## Developer notes
The server is designed for local automation on Windows and integrates with common Node.js tooling. Use npm to install dependencies and, if needed, install optional components such as robotjs and puppeteer to unlock additional capabilities.
## Examples of common tasks
File operations
read_file 'C:\Users\Public\test.txt' write_file 'D:\temp\hello.txt' 'Hello World' list_directory 'C:\Users'
Process management
launch_application 'notepad.exe' list_processes kill_process 'notepad.exe'
Mouse/keyboard (requires robotjs)
move_mouse 100 100 mouse_click 'left' type_text 'Hello MCP'
Window management
list_windows activate_window 'Untitled - Notepad' close_window 'Chrome'
Screenshots
take_screenshot 'C:\Users\Public\screenshot.png' take_screenshot_region 0 0 800 600 'C:\Users\Public\region.png'
Clipboard
set_clipboard 'Copied text' get_clipboard clear_clipboard
PowerShell / CMD
run_powershell 'Get-Process | Select-Object -First 5' run_cmd '/c systeminfo' get_system_info get_disk_info get_network_info
Browser automation (puppeteer)
browser_launch browser_navigate 'https://example.com' browser_type 'input[name=q]' 'hello MCP' browser_screenshot browser_get_text '#result' browser_close
## Next steps
Install the dependencies, configure the client to point to the local MCP server, and start building automation workflows by chaining the available tools.
## Available tools
### read\_file
Read the contents of a file and return the data to the MCP client.
### write\_file
Write data to a specified file path.
### list\_directory
List the contents of a directory, including files and subdirectories.
### create\_directory
Create a new directory at the specified path.
### delete\_file
Delete a file at the given path.
### copy\_file
Copy a file from a source path to a destination path.
### move\_file
Move a file from one location to another.
### search\_files
Search for files matching criteria within a directory tree.
### launch\_application
Start a new application process by its executable name.
### kill\_process
Terminate a running process by name or PID.
### list\_processes
Return a list of currently running processes.
### get\_process\_info
Retrieve detailed information about a specific process.
### move\_mouse
Move the mouse cursor to given coordinates.
### mouse\_click
Simulate a mouse click with a specified button.
### type\_text
Type a string of text into the focused input.
### press\_key
Simulate a keyboard key press.
### get\_mouse\_position
Get the current position of the mouse cursor.
### get\_screen\_size
Return the current screen width and height.
### list\_windows
List all open windows with identifiers and titles.
### get\_active\_window
Get information about the currently focused window.
### activate\_window
Bring a window with a specific title or identifier to the foreground.
### close\_window
Close a window by title or identifier.
### minimize\_window
Minimize a window by title or identifier.
### take\_screenshot
Capture a full screen image and save to a path.
### take\_screenshot\_region
Capture a specific region of the screen and save to a path.
### get\_clipboard
Retrieve the current clipboard contents.
### set\_clipboard
Set the clipboard to a given string value.
### clear\_clipboard
Clear the clipboard contents.
### run\_powershell
Execute a PowerShell command and return the output.
### run\_cmd
Execute a CMD command and return the output.
### get\_system\_info
Retrieve basic system information.
### get\_disk\_info
Get information about disk usage.
### get\_network\_info
Get current network configuration details.
### browser\_launch
Launch a browser instance for automation.
### browser\_navigate
Navigate to a URL in the automated browser.
### browser\_click
Click a page element within the automated browser.
### browser\_type
Type text into a browser element.
### browser\_screenshot
Take a screenshot of the current browser page.
### browser\_get\_text
Extract text from a page element.
### browser\_close
Close the automated browser instance.