claude-vision-mcp
Enables Claude to capture screenshots of the screen, windows, regions, and web pages, and compare screenshots for visual regression testing.
README
Claude Vision MCP
A Model Context Protocol server that gives Claude Code the ability to see — capturing the screen, individual windows, screen regions, and live web pages, plus comparing screenshots for visual-regression checks.
Built so an AI coding agent can verify its own visual output: render a UI change, screenshot it, and look at the result instead of guessing.
Features
Six tools, exposed over MCP via FastMCP:
capture_screen— screenshot the full screen or a specific display, with token-aware downscaling.capture_window_tool— screenshot a single window by (partial, case-insensitive) title or app name.capture_screen_region— screenshot an arbitrary rectangular region by coordinates.capture_webpage_tool— screenshot any URL (includinglocalhostdev servers) via a headless Playwright browser; supports full-page capture and waiting on a CSS selector.compare_screenshots— diff two images and report the percentage and region of changed pixels (visual regression).list_windows— list all open windows asApplication | Window Titleto find a capture target.
Requirements
- Python ≥ 3.10
- macOS (window capture uses AppleScript; screen capture needs Screen Recording permission)
- Dependencies:
mcp[cli],Pillow,playwright,numpy
Install
git clone https://github.com/wonderstone843/claude-vision-mcp.git
cd claude-vision-mcp
pip install -e .
playwright install chromium # only needed for capture_webpage_tool
Grant Screen Recording permission to your terminal in System Settings → Privacy & Security → Screen Recording.
Use with Claude Code
Register the server (stdio):
claude mcp add claude-vision -- claude-vision-mcp
Or add it to your MCP config manually:
{
"mcpServers": {
"claude-vision": {
"command": "claude-vision-mcp"
}
}
}
Then ask Claude to, e.g., "screenshot localhost:3000 and check the hero section renders," or "capture the Blender window."
Project layout
claude_vision_mcp/
server.py # FastMCP server + the 6 tool definitions
capture.py # full-screen / window / region capture
windows.py # AppleScript window enumeration
browser.py # Playwright headless webpage capture
compare.py # pixel-diff comparison
License
MIT — see LICENSE.
Author: Joshua Penn
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.
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.
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.
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.