Windows Screen Capture MCP Server — give Claude Code eyes on your desktop.
mcp-name: io.github.TheoEwzZer/winsight
Windows Screen Capture MCP Server — give Claude Code eyes on your Windows desktop.
WinSight is an MCP server that lets Claude Code capture your screen, manage windows, and launch applications on Windows.
PrintWindow API — captures the real window content even when it's behind other windowsNo install needed — runs directly:
{
"mcpServers": {
"winsight": {
"command": "uvx",
"args": ["winsight-mcp"]
}
}
}Add this to your project's .mcp.json or ~/.claude/claude_desktop_config.json.
pip install winsight-mcpThen configure:
{
"mcpServers": {
"winsight": {
"command": "winsight-mcp"
}
}
}git clone https://github.com/TheoEwzZer/WinSight-MCP.git
cd WinSight-MCP
uv sync{
"mcpServers": {
"winsight": {
"command": "uv",
"args": ["--directory", "/path/to/WinSight-MCP", "run", "winsight-mcp"]
}
}
}| Tool | Description |
|---|---|
take_screenshot | Capture the full screen or a specific monitor |
screenshot_window | Capture a specific window by title (works even if behind other windows) |
screenshot_region | Capture a rectangular region of the screen |
| Tool | Description |
|---|---|
list_windows | List all visible windows with optional title filter |
get_window_info | Get detailed info about a window (position, size, state) |
focus_window | Bring a window to the foreground |
resize_window | Resize a window to specific dimensions |
move_window | Move a window to a specific position |
minimize_window | Minimize a window to the taskbar |
maximize_window | Maximize a window to fill the screen |
restore_window | Restore a minimized or maximized window to its normal state |
wait_for_window | Wait for a window to appear (adaptive polling with timeout) |
| Tool | Description |
|---|---|
list_monitors | List all monitors with resolution, position, and primary flag |
open_application | Launch an application and optionally wait for its window |
Once the MCP server is connected, you can ask Claude Code things like:
The project has 112 tests covering all modules. Tests use mocks for Win32 APIs so they run on any platform.
uv run pytesttests/
conftest.py # Shared fixtures and Win32 stubs
test_types.py # TypedDict definitions validation
test_screenshot.py # Screen/region/window capture (mss, Win32 DC)
test_window_manager.py # Window listing, find, focus, resize, move, min/max/restore
test_process_manager.py # Application launch and window polling
test_server.py # MCP tool registration and integrationtest_<module>.py fileconftest.py (sample_window_info, mcp_server, fake_png_bytes)@patch("winsight_mcp.<module>.win32gui") — never call real Win32 functions in tests_call helper to invoke tools and _text to extract string resultsMIT