scan
Control scanners via scan-mcp MCP server to capture documents, photos, receipts, and pages. Use when user mentions scanning, scanners, or document types. CRITICAL: call start_scan_job with {} (no params) unless user specifies requirements—server handles intelligent device selection and defaults. Override only for explicit needs like photos (Flatbed+Color+high-res) or duplex stacks (ADF Duplex).
When & Why to Use This Skill
The scan-mcp skill enables Claude to directly interface with physical hardware scanners to digitize documents, photos, and receipts. It streamlines the transition from physical to digital by offering intelligent automated device selection and optimized defaults, while allowing for advanced overrides like duplex scanning and high-resolution photo capture to ensure professional-grade results.
Use Cases
- Business Document Archiving: Efficiently digitize multi-page reports or legal contracts using Auto Document Feeder (ADF) with duplex support for comprehensive record-keeping.
- Expense and Receipt Management: Capture clear images of physical receipts and invoices, providing a high-quality source for subsequent AI-driven data extraction and financial analysis.
- High-Fidelity Photo Scanning: Utilize flatbed scanners with specific color mode and high-DPI overrides to preserve physical photographs and delicate media with maximum detail.
- Automated Office Workflows: Trigger scanning jobs through natural language commands, allowing the MCP server to handle complex hardware configurations and device selection without manual intervention.
| name | scan |
|---|---|
| description | Control scanners via scan-mcp MCP server to capture documents, photos, receipts, and pages. Use when user mentions scanning, scanners, or document types. CRITICAL: call start_scan_job with {} (no params) unless user specifies requirements—server handles intelligent device selection and defaults. Override only for explicit needs like photos (Flatbed+Color+high-res) or duplex stacks (ADF Duplex). |
Scanner Control via scan-mcp
THE GOLDEN RULE
Trust the server defaults. When the user requests a scan without specific requirements:
- Call
start_scan_job({})with NO parameters - Do NOT call
list_devicesunless the user explicitly asks for a specific scanner - Do NOT gather device capabilities "just in case"
- Server auto-selects device, resolution (300dpi), color mode (Lineart), source (ADF Duplex → ADF → Flatbed)
Only override parameters when the user's intent clearly requires it.
Decision Tree
User request → Analyze intent:
1. Generic scan ("scan this", "scan document")
→ start_scan_job({}) immediately
2. User asks for specific scanner ("use the Epson")
→ list_devices, then start_scan_job({ device_id })
3. Document type needs special handling ("photo", "duplex")
→ Override only specific params needed
Common Overrides
| User Intent | Parameters |
|---|---|
| Generic scan | {} |
| Photo scan | { source: "Flatbed", color_mode: "Color", resolution_dpi: 600 } |
| Duplex stack | { duplex: true } |
| OCR-optimized | { color_mode: "Gray", resolution_dpi: 300 } |
For more mappings, see EXAMPLES.md.
Standard Workflow
- Call
start_scan_job(params)→ receive{ job_id, run_dir, state } - Poll
get_job_status({ job_id })untilstate: "completed" - Results in
run_dir:page_*.tiff(captured pages)doc_*.tiff(assembled document)manifest.json(metadata)events.jsonl(event log)
Quick Troubleshooting
If scan fails:
get_manifest({ job_id })— check state and parametersget_events({ job_id })— find error details inscanner_failedevents- Common fixes:
- "No devices" → Ask user to check scanner power/connection
- "Feeder jam" → Try
{ source: "Flatbed" }
For detailed troubleshooting, see TROUBLESHOOTING.md.
Reference Materials
- TOOLS.md — Complete tool reference with all parameters
- EXAMPLES.md — User intent → parameter mappings with reasoning
- TROUBLESHOOTING.md — Detailed troubleshooting flows
- CONFIG.md — Environment variables and configuration