Skip to main content
Glama
README.md
# 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! 🚀

TDQS

A3.6/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between capture_document_pages and full_document_workflow, as the latter encompasses the former's functionality. Similarly, convert_to_pdf and directory_to_pdf both handle PDF conversion, though with different input sources. The descriptions help clarify these distinctions, but an agent might occasionally misselect between these pairs.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, such as capture_window, list_windows, and process_images. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions across the server.

Tool Count5/5

With 10 tools, the server is well-scoped for document capture and processing workflows. Each tool serves a clear purpose, from window listing and capture to image processing and PDF conversion, without unnecessary redundancy or gaps, making the count appropriate for the domain.

Completeness4/5

The tool set covers core workflows for document capture, processing, and PDF conversion comprehensively, including dependencies and debugging. However, there is a minor gap in direct OCR or text extraction tools, as process_images includes OCR but lacks standalone options, which might require workarounds for specific tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues