Supports running the screenshot server as a containerized service, allowing deployment and execution within Docker containers.
Integrates with macOS Preview.app to open captured and annotated screenshots for additional markup and editing using native tools like freehand drawing, shapes, text, and signatures.
MCP Screenshot Server šø
A powerful Model Context Protocol (MCP) server for capturing screenshots and annotating images with boxes, lines, arrows, circles, text, and highlights.
Features
šÆ Smart Annotation (NEW!)
š§ Unified - One tool for all annotation types
š Flexible Positioning - Named positions ("top-left", "center"), percentages ("50%,30%"), or pixels
š Auto-Adjust - Annotations automatically stay within image bounds
ā” Batch Annotations - Apply multiple annotations in a single call
š·ļø Quick Labeling - Label multiple regions with one command
Capture & Load
š· Screenshot Capture - Full screen, region, or window-specific captures
š Load Images - Load existing image files for annotation
Annotations
š¦ Box Annotation - Draw rectangles with customizable colors and fill
ā”ļø Arrow Annotation - Draw directional arrows with adjustable head sizes
š Line Drawing - Simple line annotations
ā Circle/Ellipse - Draw circles and ellipses
š Text Overlay - Add text with custom fonts and backgrounds
š¦ Highlight Regions - Semi-transparent highlight overlays
š¢ Numbered Callouts - Auto-numbered callouts for step-by-step guides
š¼ļø Border Tool - Add borders around images
Editing
š² Blur/Pixelate - Hide sensitive information (passwords, emails)
āļø Crop - Crop images to specific regions
š Resize - Resize with scale or exact dimensions
š Rotate/Flip - Rotate 90/180/270 degrees, flip horizontal/vertical
š Brightness/Contrast - Adjust image appearance
š§ Watermark - Add text watermarks
ā©ļø Undo - Undo annotations (up to 10 levels)
Export
š¾ Save Images - Export to PNG, JPG, WebP, and more
ā” Quick Save - One-click save to Desktop/Downloads
š Clipboard Support - Copy images directly to system clipboard
šļø Preview Integration - Open in macOS Preview.app for native editing
š³ Docker Ready - Run as a containerized service
Examples
Screenshots captured from the browser and annotated using the MCP Screenshot Server tools:
Basic Annotations
Box, arrow, text, highlight, and circle annotations:

Numbered Callouts
Step-by-step guides with numbered markers:

Highlights & Regions
Highlight important sections and mark areas for blur:

Quick Start
Installation
Running the Server
Integration with Cursor AI
Method 1: Local Installation (Recommended)
Install the package:
pip install mcp-screenshot-server # or uv tool install mcp-screenshot-serverAdd to Cursor settings (
~/.cursor/mcp.jsonor workspace.cursor/mcp.json):{ "mcpServers": { "screenshot": { "command": "mcp-screenshot-server", "args": [] } } }Restart Cursor to load the MCP server.
Method 2: Using uvx (No Installation)
Method 3: Using Docker
Build the Docker image:
docker build -t mcp-screenshot-server .Add to Cursor settings:
{ "mcpServers": { "screenshot": { "command": "docker", "args": ["run", "-i", "--rm", "mcp-screenshot-server"] } } }
Method 4: HTTP Transport
Start the server:
mcp-screenshot-server --transport streamable-http --port 8000Add to Cursor settings:
{ "mcpServers": { "screenshot": { "url": "http://localhost:8000/mcp" } } }
Available Tools
šÆ Smart Annotation Tools (Recommended!)
These tools use flexible positioning and auto-adjustment for easier annotation:
Tool | Description |
| Unified annotation with smart positioning |
| Apply multiple annotations in ONE call |
| Quickly label multiple areas with one command |
Position Formats:
Named:
"top-left","center","bottom-right", etc.Percentage:
"50%, 30%"(from top-left)Pixels:
"100, 200"(absolute coordinates)
Examples:
Screenshot Capture
Tool | Description |
| Capture full screen, region, or window screenshots |
| Load an existing image file for annotation |
Basic Annotation Tools (for pixel-precise control)
Tool | Description |
| Draw rectangles/boxes on images |
| Draw lines on images |
| Draw arrows on images |
| Add text annotations |
| Draw circles/ellipses |
| Add semi-transparent highlight regions |
| Add auto-numbered callouts (1, 2, 3...) |
| Add border around entire image |
Editing Tools
Tool | Description |
| Blur/pixelate sensitive areas |
| Crop image to specific region |
| Resize with scale or dimensions |
| Rotate 90, 180, or 270 degrees |
| Flip horizontal or vertical |
| Adjust image brightness |
| Adjust image contrast |
| Add text watermark |
| Undo last annotation (up to 10 levels) |
| Check available undo operations |
| Reset auto-numbering to 0 |
Image Management
Tool | Description |
| List all images in the current session |
| Get a specific image by ID |
| Create a copy of an existing image |
| Remove an image from the session |
Export Tools
Tool | Description |
| Save image to disk (PNG, JPG, WebP, etc.) |
| Quick save to Desktop/Downloads/Documents |
| Copy image to system clipboard |
| Get image as base64-encoded string |
| Open image in macOS Preview or default viewer |
| Open any image file in Preview/default viewer |
macOS Preview Integration
On macOS, you can use the open_in_preview tool to open images in the native Preview.app, which provides additional markup tools.
Preview's Native Tools:
āļø Sketch - Freehand drawing
⬠Shapes - Rectangles, circles, arrows, speech bubbles
š Text - Add text boxes with custom fonts
āļø Signature - Add your saved signature
šØ Colors - Full color picker
š Border - Adjust line thickness
This allows you to combine MCP annotations with Preview's native tools for more complex edits.
Usage Examples
Basic Screenshot and Annotation
Creating a Bug Report Screenshot
Annotating an Existing Image
Docker Usage
Build and Run
Docker Compose
Configuration
Environment Variables
Variable | Description | Default |
| Host for HTTP transport |
|
| Port for HTTP transport |
|
Command Line Arguments
Platform Support
Platform | Screenshot | Clipboard | Notes |
macOS | ā
Native | ā AppleScript | Full support |
Windows | ā PIL ImageGrab | ā PowerShell | Full support |
Linux | ā PIL/scrot | ā xclip/wl-copy | Requires X11/Wayland |
Docker | ā With Xvfb | ā ļø Limited | Headless mode |
Development
Setup Development Environment
Project Structure
Troubleshooting
macOS: "screencapture" requires screen recording permission
Go to System Preferences > Privacy & Security > Screen Recording and enable the terminal or IDE you're using.
Linux: Clipboard not working
Install clipboard tools:
Docker: Screenshots are blank
The Docker container runs in headless mode. For actual screen capture, you need to run the server natively on the host system.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Built with MCP Python SDK
Image processing powered by Pillow