An MCP server that lets you capture screen regions directly into your Claude Code conversations. Select any area of your screen using a hotkey or tool call, and the screenshot is immediately available as an image in context.
- Hotkey capture -- Ctrl+Shift+Click opens a snipping overlay anywhere, anytime
- Tool-triggered capture -- Claude can invoke the snipping tool on your behalf
- Multi-monitor support -- works across all connected displays with DPI awareness
- Persistent storage -- snips are saved to disk and survive server restarts
- Auto-pruning -- configurable limit prevents unbounded storage growth
- Toast notifications -- visual confirmation when a snip is captured
- Windows 10 or later (uses Windows-specific global mouse hooks via ctypes)
- Python 3.11+
git clone https://github.com/Alparse/snip-mcp.git
cd snip-mcp
pip install -e .Or with uv:
git clone https://github.com/Alparse/snip-mcp.git
cd snip-mcp
uv pip install -e .Add the server to your Claude Code MCP settings.
In ~/.claude/settings.json (global) or .claude/settings.json (project):
{
"mcpServers": {
"snip": {
"command": "snip-mcp"
}
}
}{
"mcpServers": {
"snip": {
"command": "uv",
"args": ["run", "--directory", "/path/to/snip-mcp", "snip-mcp"]
}
}
}Press Ctrl+Shift+Left Click anywhere on screen to open the snipping overlay:
- Click and drag to select a region
- Release to capture
- Press Escape to cancel
A toast notification confirms the capture.
Ask Claude to take a screenshot -- it will invoke the snip_screen tool and open the overlay for you.
These MCP tools are available to Claude:
| Tool | Description |
|---|---|
snip_screen |
Open the overlay and capture a region |
get_snip |
Retrieve a snip by name |
get_latest_snip |
Get the most recent capture |
list_snips |
List all stored snips |
rename_snip |
Rename a snip |
delete_snip |
Delete a snip |
Configuration is stored at ~/.snip_mcp/config.json and auto-created on first run.
| Option | Default | Description |
|---|---|---|
modifier_keys |
["ctrl", "shift"] |
Modifier keys held while clicking to trigger the overlay. Valid values: ctrl, shift, alt |
save_directory |
~/.snip_mcp/snips/ |
Directory where snip PNGs are stored |
overlay_alpha |
0.3 |
Overlay transparency (0.0 = invisible, 1.0 = opaque) |
selection_color |
"#00ff00" |
Selection rectangle color (hex) |
selection_width |
2 |
Selection rectangle border width in pixels |
max_snips |
50 |
Maximum stored snips before oldest are auto-pruned |
Example config:
{
"modifier_keys": ["ctrl", "shift"],
"save_directory": "C:/Users/you/.snip_mcp/snips",
"overlay_alpha": 0.3,
"selection_color": "#00ff00",
"selection_width": 2,
"max_snips": 50
}"snip-mcp requires Windows" This server uses Windows-specific APIs (global mouse hooks via ctypes). It cannot run on macOS or Linux.
"Failed to install mouse hook" The global mouse hook may require elevated permissions. Try running your terminal as administrator.
Overlay doesn't appear
Ensure no other application is intercepting Ctrl+Shift+Click. Verify modifier_keys in your config.
Coordinates are offset on high-DPI displays
The server calls SetProcessDPIAware() on startup. If you still see offset issues, check your Windows display scaling settings.
Snips directory
By default, snips are stored in ~/.snip_mcp/snips/. You can change this in config.json.
MIT -- see LICENSE for details.