MCP.so
登录

Scan MCP Server

@jacksenechal

基本信息

分类

其他

传输方式

stdio

作者

jacksenechal

提交者

Jack Senechal

关于 Scan MCP Server

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

#document#scanning#image-capture#linux#sane#adf

Scan MCP Server 配置

使用下面的配置,将此服务器添加到你的 MCP 客户端。

{
  "mcpServers": {
    "scan": {
      "command": "npx",
      "args": [
        "-y",
        "scan-mcp"
      ],
      "env": {
        "INBOX_DIR": "~/Documents/scanned_documents/inbox"
      }
    }
  }
}

Scan MCP Server 工具

5

Discover connected scanners with backend details.

Probe options for a given `device_id`.

Start a job (auto-selects device if omitted). Creates per-page TIFFs, assembles documents.

Inspect job state and artifact paths.

Request job cancellation (best-effort during scan loops).

概览

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)

常见问题

1

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.

2

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.

3

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.

4

What tools does scan-mcp expose?

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

5

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.

评论

其他 分类下的更多 MCP 服务器