MCP.so
Sign In
Servers

scan-mcp

@jacksenechal

scan-mcp offers a robust and minimal MCP server designed for efficient document scanning on Linux systems. It simplifies image capture from scanners, supporting advanced features like Automatic Document Feeder (ADF), duplex scanning, and specific page sizing. The tool intelligent

Overview

What is scan-mcp?

scan-mcp is a minimal MCP server for scanner capture (ADF/duplex/page-size), batching, and multipage assembly on Linux using SANE backends. It exposes typed, JSON Schema–validated tools for device discovery and scan jobs, with smart defaults for document scanning workflows.

How to use scan-mcp?

Configure it as an MCP client entry with the command npx -y scan-mcp and set the INBOX_DIR environment variable. Once connected, call tools like start_scan_job (omit device_id to auto-select a scanner) or list_devices to interact with connected scanners. Alternatively, install globally via npm i -g scan-mcp and run scan-mcp from the CLI.

Key features of scan-mcp

  • Small, typed MCP server with JSON Schema–validated inputs and outputs
  • Smart device selection (prefers ADF/duplex, avoids camera backends)
  • Robust defaults for resolution (300dpi), color mode, and ADF/duplex when available
  • Per-job artifacts: page TIFFs, assembled multipage TIFFs, manifest, and event logs
  • Mock mode (SCAN_MOCK=true) for testing without physical hardware
  • Environment variable configuration for binary paths, backends, and persistence

Use cases of scan-mcp

  • Batch scanning multi-page documents using an automatic document feeder (ADF)
  • Duplex scanning for two-sided documents with automatic page ordering
  • Assembling scanned pages into multipage TIFF files for archiving
  • Integrating scanner capture into AI or document processing pipelines via MCP
  • Testing and validating scan workflows without a physical scanner (mock mode)

FAQ from scan-mcp

What are the system requirements for scan-mcp?

Linux with SANE utilities (scanimage, optionally scanadf) and TIFF tools (tiffcp or ImageMagick convert). Node 22 is required.

Can I test scan-mcp without a scanner?

Yes. Set the environment variable SCAN_MOCK=true to mock SANE calls and generate fake TIFFs for testing purposes.

How do I control device selection?

Use SCAN_EXCLUDE_BACKENDS (CSV) to exclude backends like v4l, SCAN_PREFER_BACKENDS (CSV) to prefer specific backends, and PERSIST_LAST_USED_DEVICE (default true) to remember the last-used device.

What tools does scan-mcp expose?

Five tools: list_devices, get_device_options, start_scan_job, get_job_status, and cancel_job.

Where are scan results stored?

Under the INBOX_DIR directory (default scanned_documents/inbox). Each job creates a subdirectory job-* containing page TIFFs (page_*.tiff), assembled document TIFFs (doc_*.tiff), a manifest.json, and an events.jsonl file.

Tags

More from Other