Skip to content

Alparse/snip-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

snip-mcp

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.

Features

  • 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

Requirements

  • Windows 10 or later (uses Windows-specific global mouse hooks via ctypes)
  • Python 3.11+

Installation

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 .

Claude Code Configuration

Add the server to your Claude Code MCP settings.

If installed via pip (global or venv)

In ~/.claude/settings.json (global) or .claude/settings.json (project):

{
  "mcpServers": {
    "snip": {
      "command": "snip-mcp"
    }
  }
}

If using uv (recommended for isolation)

{
  "mcpServers": {
    "snip": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/snip-mcp", "snip-mcp"]
    }
  }
}

Usage

Hotkey capture

Press Ctrl+Shift+Left Click anywhere on screen to open the snipping overlay:

  1. Click and drag to select a region
  2. Release to capture
  3. Press Escape to cancel

A toast notification confirms the capture.

Tool-triggered capture

Ask Claude to take a screenshot -- it will invoke the snip_screen tool and open the overlay for you.

Managing snips

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

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
}

Troubleshooting

"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.

License

MIT -- see LICENSE for details.

About

Screen snipping MCP server for Claude Code - capture screen regions directly into conversations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages