Get the FREE Ultimate OpenClaw Setup Guide →

windows-screenshot

🚀 Production-ready Windows Screenshot MCP Server with real-time WebSocket streaming, Chrome DevTools integration, and comprehensive APIs. Built with Go for high-performance native Windows screenshot automation.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio amafjarkasi-windows-screenshot-mcp-server docker run -i windows-screenshot-mcp-server:latest \
  --env SCREENSHOT_HOST="localhost" \
  --env SCREENSHOT_PORT="8080"

How to use

This Windows Screenshot MCP Server provides both a REST API and MCP (JSON-RPC 2.0) interface to capture screenshots from Windows applications, with real-time WebSocket streaming for live viewing. It supports advanced window targeting by title, class name, PID, or window handle, and can capture hidden or minimized windows as well as entire desktops. In addition to standard image formats (PNG, JPEG, BMP, WebP) with configurable quality, you can stream live frames over WebSocket to clients, configure FPS and streaming quality, and manage multiple concurrent sessions. The MCP layer exposes methods such as screenshot.capture, window.list, chrome.instances, chrome.tabs, chrome.tabCapture, and stream.status, enabling automation agents to request captures, enumerate windows, or drive Chrome tab captures via JSON-RPC requests. This makes it suitable for automation, QA, AI agent workflows, and integration into larger testing pipelines.

How to install

Prerequisites:

  • Docker installed and running (recommended for this MCP server example)
  • Optional: Docker Compose if you prefer orchestration

Installation steps:

  1. Pull or build the Docker image for the Windows Screenshot MCP Server:
    • Pull: docker pull windows-screenshot-mcp-server:latest
    • Build (if you have a Dockerfile): docker build -t windows-screenshot-mcp-server:latest .
  2. Run the server container: docker run -d --name windows-screenshot-mcp-server -p 8080:8080 -p 8081:8081 windows-screenshot-mcp-server:latest
  3. Verify the server is up: curl http://localhost:8080/health

Alternatively, if you prefer a native Go run (not dockerized): ensure Go 1.21+ is installed and build from source as described in the repository, then run the server binary directly.

Additional notes

Tips and common issues:

  • Ensure Chrome is started with remote debugging enabled if you plan to use Chrome tab capture (Chrome DevTools port 9222).
  • For streaming, ensure that firewall or security groups allow WebSocket connections to your chosen host/port.
  • If window targeting by title/class/pid/handle fails, validate the identifiers in the system's window manager and consider running the server with elevated privileges.
  • Use environment variables to configure host/port and default streaming quality; these can be overridden by command-line flags as described in the README.
  • When running in Docker, map ports 8080 (REST/MCP) and 8081 (optional streaming/WebSocket if used) as needed and provide any required runtime permissions for Windows window capture.

Related MCP Servers

Sponsor this space

Reach thousands of developers ↗