claude-screen-mcp
Enables read-only screen capture, OCR, and change detection without input control.
README
claude-screen-mcp
An MCP server that exposes read-only screen state. Capture, OCR, and change detection only — no input control.
Quick start
git clone https://github.com/ssh071102-code/claude-screen-mcp
cd claude-screen-mcp
npm install
npm run build
claude mcp add screen -- node "$(pwd)/dist/index.js"
Restart the MCP host after registration.
Tools
| Tool | Purpose |
|---|---|
screenshot |
Capture a full display and resize the image result. |
screenshot_region |
Capture a rectangular region. |
list_displays |
Enumerate connected displays. |
list_windows |
List visible top-level windows with optional title filter. |
read_screen_text |
Run OCR on the full display or a region. |
find_text_on_screen |
Search OCR text and return matching bounding boxes. |
screenshot_if_changed |
Capture only when perceptual-hash distance exceeds a threshold. |
get_screen_diff |
Return hash-distance diagnostics without an image. |
wait_for_change |
Poll until the screen changes or a timeout elapses. |
record_screen |
Sample a short interval and return deduplicated keyframes. |
Platform support
Windows 10+ is the primary target and is exercised on every release. macOS 11+ and Linux (X11 and Wayland) pass CI and smoke tests but are not regularly exercised. Window enumeration on macOS and Linux requires platform tooling; multi-monitor display enumeration is supported on Windows.
Security and privacy
All processing is local. No screenshot, OCR text, or telemetry leaves the machine; the only network call is the initial Tesseract language data download.
OCR output is untrusted input. Text rendered on screen may attempt to influence
the model. Treat output as user-supplied data and avoid auto-executing commands
derived from it. Scope read_screen_text to a window when full-desktop capture
is not required.
Configuration
| Variable | Default | Purpose |
|---|---|---|
SCREEN_MCP_LOG_LEVEL |
info |
debug, info, warn, or error. |
SCREEN_MCP_OCR_LANGS |
eng+chi_sim |
Tesseract language list (allowlist enforced). |
The first OCR call downloads language data (~10MB per language); subsequent calls reuse the local cache.
Development
npm install
npm run build
npm test
node tests/e2e-wire.mjs
Roadmap
screenshot_window(title)for direct single-window capture.- Improved multi-display enumeration on macOS and Linux.
License — MIT, see LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.