winuse-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@winuse-mcpOpen Notepad and type 'Hello World'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
winuse-mcp
Computer use for Claude Code on Windows. An MCP server that lets Claude see your screen and drive your mouse and keyboard.
Claude Code ships computer use in the CLI on macOS only, so on Windows the computer-use server never appears in /mcp. This rebuilds the same screenshot-and-click loop on the Windows APIs: 14 tools, 5 dependencies, Python 3.12.
Install
Needs Windows and uv. Add this to .mcp.json in a project, or to ~/.claude.json for every project:
{
"mcpServers": {
"winuse": {
"command": "uvx",
"args": ["--from", "git+https://github.com/ryanportfolio/winuse-mcp", "winuse-mcp"]
}
}
}From a local clone instead:
{
"mcpServers": {
"winuse": {
"command": "uv",
"args": ["run", "--directory", "C:/path/to/winuse-mcp", "winuse-mcp"]
}
}
}Restart Claude Code, then ask it to look at your screen or click through an app.
Related MCP server: Win:Computer Use
Reach
Tool | Does |
| PNG of the primary monitor, downscaled |
| Click at a point |
| Two clicks at a point |
| Three clicks, selects a line or paragraph |
| Context-menu click |
| Middle-button click |
| Move the cursor without clicking |
| Press, drag, release |
| Type at the current focus, non-ASCII goes through the clipboard |
| A key or chord: |
|
|
| Where the mouse is now |
| Sample the screen for up to 15s, up to 8 frames |
| Pause before the next action, up to 10s |
Coordinates are always in screenshot space. See below.
How coordinates work
Screenshots are downscaled so the long edge is at most 1372 pixels, the same target Claude Code uses on macOS. Claude never sees native pixels, so it clicks in the downscaled image and the server converts back.
A 1920x1080 display captures at 1372x772, a factor of 0.715. A click at 686, 443 lands at 960, 620.
The server declares itself DPI-aware at startup, so Windows display scaling at 125% or 150% does not skew where clicks land.
Safety
This hands a language model control of your desktop. Anthropic's own version wraps the same loop in guardrails this server does not have: per-app approval, hiding apps Claude has not been approved for, keeping your terminal out of the screenshots, and model-side checks on each action.
What you do get:
Claude Code asks before each tool call unless you allow-list it. Keep the input tools on manual approval and only allow-list
screenshot.Park the mouse in the top-left corner of the screen to abort the action in flight. That is pyautogui's failsafe, and it only watches that one corner. Aborting mid-drag releases the mouse button on the way out, so nothing is left dragging.
Everything visible reaches the model, including whatever happens to be on screen. Text on screen is untrusted input: treat instructions that appear there as a prompt injection risk.
Limitations
Primary monitor only.
Your terminal is not excluded from screenshots, so Claude sees its own session.
recordsamples still frames, at most 8 of them. There is no video path.
Development
uv sync
uv run winuse-mcpscripts/client_test.py is the reference check: it speaks MCP over stdio to the server, lists the tools, takes a screenshot, moves the mouse and reads the position back, records frames, and asserts a bad key combo errors.
uv run python scripts/client_test.pyscripts/failsafe_test.py covers the paths a user hits while aborting, with pyautogui stubbed so no real abort is needed: a drag cut short still releases the button, a horizontal scroll cut short still releases shift, chord parsing handles a literal +, and no click can land on the failsafe pixel.
uv run python scripts/failsafe_test.pyThis README is built. Every number on the page is recomputed from the source at build time, and the build fails if one drifts.
node scripts/readme/build.mjsLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceAn MCP server that lets Claude Desktop and Claude Code control your PC — take screenshots, click, type, manage windows, and more.MIT
- Alicense-qualityDmaintenanceMCP server that gives Claude human-like control of a Windows PC with its own virtual cursor, an emergency stop, and a manager UI.1MIT
- Alicense-qualityAmaintenanceMCP server that enables Claude to control your computer, similar to Anthropic's computer use but easy to set up locally.438346MIT
- Alicense-qualityAmaintenanceAn MCP server that lets Claude operate your real computer by moving the actual mouse, clicking, typing, and reading the actual screen, working with your own logged-in sessions in any application.MIT
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ryanportfolio/winuse-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server