Auto-Snap MCP
# 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
Scored across 10 tools
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.
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.
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.
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.