{
  "markdown": "# WinSight MCP\n\nmcp-name: io.github.TheoEwzZer/winsight\n\nWindows Screen Capture MCP Server — give Claude Code eyes on your Windows desktop.\n\nWinSight is an [MCP](https://modelcontextprotocol.io) server that lets Claude Code capture your screen, manage windows, and launch applications on Windows.\n\n## Features\n\n- **Screenshot** the full screen, a specific region, or a specific window\n- **Window capture** uses Win32 `PrintWindow` API — captures the real window content even when it's behind other windows\n- **List and inspect** open windows and monitors (title, position, size, state, resolution)\n- **Control windows** — move, resize, minimize, maximize, restore, and focus\n- **Launch** applications and wait for their windows\n\n## Requirements\n\n- **Windows 10/11**\n- **Python 3.10+**\n\n## Quick Start\n\n### Option 1: uvx (recommended)\n\nNo install needed — runs directly:\n\n```json\n{\n  \"mcpServers\": {\n    \"winsight\": {\n      \"command\": \"uvx\",\n      \"args\": [\"winsight-mcp\"]\n    }\n  }\n}\n```\n\nAdd this to your project's `.mcp.json` or `~/.claude/claude_desktop_config.json`.\n\n### Option 2: pip install\n\n```bash\npip install winsight-mcp\n```\n\nThen configure:\n\n```json\n{\n  \"mcpServers\": {\n    \"winsight\": {\n      \"command\": \"winsight-mcp\"\n    }\n  }\n}\n```\n\n### Option 3: From source\n\n```bash\ngit clone https://github.com/TheoEwzZer/WinSight-MCP.git\ncd WinSight-MCP\nuv sync\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"winsight\": {\n      \"command\": \"uv\",\n      \"args\": [\"--directory\", \"/path/to/WinSight-MCP\", \"run\", \"winsight-mcp\"]\n    }\n  }\n}\n```\n\n## Tools\n\n### Screenshot\n\n| Tool                | Description                                                             |\n| ------------------- | ----------------------------------------------------------------------- |\n| `take_screenshot`   | Capture the full screen or a specific monitor                           |\n| `screenshot_window` | Capture a specific window by title (works even if behind other windows) |\n| `screenshot_region` | Capture a rectangular region of the screen                              |\n\n### Window Management\n\n| Tool              | Description                                                 |\n| ----------------- | ----------------------------------------------------------- |\n| `list_windows`    | List all visible windows with optional title filter         |\n| `get_window_info` | Get detailed info about a window (position, size, state)    |\n| `focus_window`    | Bring a window to the foreground                            |\n| `resize_window`   | Resize a window to specific dimensions                      |\n| `move_window`     | Move a window to a specific position                        |\n| `minimize_window` | Minimize a window to the taskbar                            |\n| `maximize_window` | Maximize a window to fill the screen                        |\n| `restore_window`  | Restore a minimized or maximized window to its normal state |\n| `wait_for_window` | Wait for a window to appear (adaptive polling with timeout) |\n\n### System\n\n| Tool               | Description                                                   |\n| ------------------ | ------------------------------------------------------------- |\n| `list_monitors`    | List all monitors with resolution, position, and primary flag |\n| `open_application` | Launch an application and optionally wait for its window      |\n\n## Examples\n\nOnce the MCP server is connected, you can ask Claude Code things like:\n\n- \"Take a screenshot of my screen\"\n- \"List all open windows\"\n- \"Capture the Notepad window\"\n- \"Open calculator and take a screenshot of it\"\n- \"Focus the Chrome window\"\n- \"Resize the app window to 800x600 and take a screenshot\"\n- \"Move the window to the top-left corner\"\n- \"What monitors do I have?\"\n\n## Testing\n\nThe project has 112 tests covering all modules. Tests use mocks for Win32 APIs so they run on any platform.\n\n### Running tests\n\n```bash\nuv run pytest\n```\n\n### Test structure\n\n```text\ntests/\n  conftest.py              # Shared fixtures and Win32 stubs\n  test_types.py            # TypedDict definitions validation\n  test_screenshot.py       # Screen/region/window capture (mss, Win32 DC)\n  test_window_manager.py   # Window listing, find, focus, resize, move, min/max/restore\n  test_process_manager.py  # Application launch and window polling\n  test_server.py           # MCP tool registration and integration\n```\n\n### Adding tests\n\n1. Put new tests in the matching `test_<module>.py` file\n2. Use the shared fixtures from `conftest.py` (`sample_window_info`, `mcp_server`, `fake_png_bytes`)\n3. Mock Win32 APIs with `@patch(\"winsight_mcp.<module>.win32gui\")` — never call real Win32 functions in tests\n4. For server integration tests, use the `_call` helper to invoke tools and `_text` to extract string results\n\n## License\n\nMIT\n",
  "bytes": 4784,
  "sha": "3d252f877d5bf46650485ea3930ab4aa44c1430beacfc4c42cde917ccc306dd5",
  "repo_slug": "theoewzzer/winsight-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_theoewzzer_winsight_7d916875/readme"
}