# Auto-Snap MCP πΈ
**Automated screenshot capture and document processing for MCP Clients**
Turn your screenshots into PDFs automatically! Auto-Snap lets your MCP client capture windows, process documents, and create PDFs with simple natural language commands.
## π Quick Start
### Which Option Should I Choose?
- **π³ Docker** β Zero setup, works everywhere (recommended)
- **πͺ WSL2** β Windows users with WSL2 installed
- **π§ Linux** β Native Linux
### Setup Steps
**1. Get Auto-Snap:**
```bash
git clone https://github.com/your-repo/auto-snap-mcp
cd auto-snap-mcp
```
**2. Install dependencies (Linux only):**
```bash
# Skip this step if using Docker
sudo apt install -y wmctrl xdotool tesseract-ocr
uv sync
```
**3. Configure Claude Desktop:**
Edit `~/.claude/claude_desktop_config.json` and add **one** of these:
**π³ Docker (Recommended - No setup needed!)**
```json
{
"mcpServers": {
"auto-snap-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "DISPLAY=:0",
"-v", "/tmp/.X11-unix:/tmp/.X11-unix:rw",
"-v", "${HOME}/auto-snap-captures:/app/captures:rw",
"mcp/auto-snap-mcp:latest"
]
}
}
}
```
**πͺ WSL2 (Windows with WSL2)**
```json
{
"mcpServers": {
"auto-snap-mcp": {
"command": "wsl.exe",
"args": [
"bash", "-c",
"cd /home/YOUR_WSL_USERNAME/auto-snap-mcp && DISPLAY=:0 /home/YOUR_WSL_USERNAME/.local/bin/uv run python server.py"
]
}
}
}
```
**π§ Linux Native**
```json
{
"mcpServers": {
"auto-snap-mcp": {
"command": "uv",
"args": ["run", "python", "server.py"],
"cwd": "/home/YOUR_USERNAME/auto-snap-mcp",
"env": {"DISPLAY": ":0"}
}
}
}
```
**4. Restart Claude Desktop** and verify it works:
- *"List all my open windows"* β Start with this to test the connection
- *"Capture this PDF and convert to images"*
- *"Take 5 screenshots and make them into a PDF"*
**β
Working?** You should see your windows listed. If not, check the [π¨ Not Working?](#-not-working) section below.
## π Where Your Files Are Saved
**By default, all your captures go to:**
```
~/auto-snap-captures/
```
**Full path examples:**
- Linux: `/home/username/auto-snap-captures/`
- WSL2: `/home/username/auto-snap-captures/`
- Windows (Docker): `C:\Users\username\auto-snap-captures\`
## β¨ What It Does & Commands to Try
### π **Document Capture**
- Screenshot any window or the entire screen
- Capture multi-page documents automatically
- Works with PDFs, presentations, web pages
### π **Image Processing**
- Extract text from screenshots (OCR)
- Enhance image quality automatically
- Process multiple images at once
### π **PDF Creation**
- Convert screenshots to PDF instantly
- Organize files with smart naming
- Compress PDFs for smaller size
### π― **Commands to Try**
**"Capture this document as PDF"** β Takes screenshots and creates a PDF
**"Extract text from these images"** β Runs OCR on screenshots
**"Archive this presentation"** β Screenshots all slides into one PDF
**"List all my open windows"** β See what you can capture
**"Take 5 screenshots and make them into a PDF"** β Multi-page capture
**π‘ Pro Tips:**
- **Be specific**: *"Capture the Chrome window"* works better than *"take a screenshot"*
- **Multi-step**: *"Screenshot this presentation and extract all the text"*
- **Batch work**: *"Process all images in my Downloads and make PDFs"*
Want to change where files are saved? See the [π¨ Customize Your Captures](#-customize-your-captures) section below.
## π οΈ System Support
- β
**Linux** (native X11)
- β
**WSL2** (Windows apps from Linux)
- β οΈ **macOS** (with XQuartz - experimental)
## π¨ Not Working?
**Common fixes:**
```bash
# Check dependencies
uv run python -c "from capture import check_dependencies; print(check_dependencies())"
# Fix X11 display
export DISPLAY=:0
# Test the server
uv run python server.py
```
**Still stuck?**
1. Make sure the config path is correct: `~/.claude/claude_desktop_config.json`
2. Restart Claude Desktop after config changes
3. Check Claude Desktop logs for errors
## π¨ Customize Your Captures
**Set where files go:**
```bash
export AUTO_SNAP_OUTPUT_DIR="$HOME/Documents/Screenshots"
```
**Organize by date:**
```bash
export AUTO_SNAP_USE_DATE_SUBDIRS=true
export AUTO_SNAP_INCLUDE_TIMESTAMP=true
```
**Custom file names:**
```bash
export AUTO_SNAP_FILE_NAME_TEMPLATE="doc_{page:04d}"
```
## π Multiple Languages
**Add more OCR languages:**
```bash
sudo apt install tesseract-ocr-spa # Spanish
sudo apt install tesseract-ocr-fra # French
sudo apt install tesseract-ocr-deu # German
```
Then tell Claude: *"Process this document in Spanish"*
## π Privacy
- Everything runs locally on your machine
- No cloud services or uploads
- Only captures what you ask for
- Automatic cleanup of temp files
---
**Ready to automate your screenshots?** Install Auto-Snap and start talking to your MCP Clients about your documents! π