Scan MCP server
MCP server for scanner discovery and batch capture via SANE
6 stars38 downloads/wk
Reviews
Write oneNobody has reviewed Scan yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Scan tools (8, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
cancel_jobwrite actionCancel a running scan job
get_device_optionsGet SANE options for a specific device (sources, resolutions, modes)
get_eventsFetch job events JSONL by job_id
get_job_statusGet status and artifact counts for a job
get_manifestFetch a job manifest JSON by job_id
list_devicesList connected scanner devices with basic capabilities
list_jobsList recent scan jobs from the inbox directory
start_scan_jobStart a scan job; auto-selects device and fills defaults when omitted
Public scan report
scanner v0.1.9 · 2026-09-25 · same rubric, same numbers if you re-run it
- Code scan32 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 53 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the Scan repository's README, as published. We do not edit it. Read it on GitHub
scan-mcp
Minimal MCP server for scanner capture (ADF/duplex/page-size), batching, and multipage assembly.
Features
- Small, typed MCP server exposing tools for device discovery and scan jobs
- JSON Schema–validated inputs with deterministic, typed outputs
- Smart device selection (prefers ADF/duplex, avoids camera backends), robust defaults
- Local-first transports: stdio by default to keep everything on-device, optional HTTP for your own network deployments
Note: This package targets Node 22 and Linux SANE backends (scanimage).
Quick Start (local stdio, default)
Add a server entry to your MCP client configuration:
{
"mcpServers": {
"scan": {
"command": "npx",
"args": [
"-y",
"scan-mcp"
],
"env": {
"INBOX_DIR": "~/Documents/scanned_documents/inbox"
}
}
}
}- This invocation runs over stdio for a privacy-first, single-machine setup.
- Call startscanjob without a device_id to auto-select a scanner and begin scanning.
- Artifacts are written under INBOXDIR per job: job-/page.tiff, doc.tiff, manifest.json, events.jsonl. When cropcarriersheets is set and a carrier sheet is detected, a page_*.cropped.tiff derivative is also written per affected page.
Streamable HTTP transport
Prefer to attach the scanner to another machine on your network? scan-mcp also supports the streamable HTTP transport:
scan-mcp --httpthis transport.
- Default port is 3001; set MCPHTTPPORT to override (for example MCPHTTPPORT=3333 scan-mcp --http).
- Binds all interfaces (::) by default; set MCPHTTPHOST to restrict (for example MCPHTTPHOST=127.0.0.1 when a reverse proxy fronts the server).
- HTTP responses use server-sent events (SSE) for streaming tool output; clients such as Claude Desktop and Windsurf support
- There is currently no authentication; this is intended for internal LAN networking
Install
- Run with npx: npx scan-mcp (recommended)
- The CLI runs a quick preflight check for Node 22+ and required scanner/image tools and prints installation hints if anything is missing.
- See recommended server config above
- Use npx scan-mcp --http to launch the streamable HTTP transport when running on another machine.
- CLI help: scan-mcp --help
- From source (for development):
- npm install
- npm run build
- For Cline setup, and other automated agentic installation, see llms-install.md
System Requirements
- Linux with SANE utilities: scanimage (and optionally scanadf)
- TIFF tools: tiffcp (preferred) or ImageMagick convert
Environment Variables
- SCAN_MOCK (default: false): mock SANE calls and generate fake TIFFs for testing.
- INBOXDIR (default: scanneddocuments/inbox): base directory for job runs and artifacts.
- SCANIMAGEBIN / SCANADFBIN (defaults: scanimage / scanadf): override binary paths.
- TIFFCPBIN / IMCONVERT_BIN (defaults: tiffcp / convert): multipage assembly tools.
- SCANEXCLUDEBACKENDS (CSV): backends to exclude (e.g., v4l).
- SCANPREFERBACKENDS (CSV): preferred backends (e.g., epjitsu,epson2).
- PERSISTLASTUSED_DEVICE (default: true): persist and lightly prefer last used device.
- MCPHTTPPORT (default: 3001): TCP port for the HTTP transport.
API
Tools
- listdevices**
- Discover connected scanners with backend details.
- Inputs: none.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y scan-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add scan-mcp -- npx -y scan-mcp
Scan: common questions
- Is Scan MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Scan safety report
- How do I install Scan?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Scan need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Scan maintained?
- The last commit was 54 days ago (2026-08-03). The latest release is v0.3.0.
- What can I use instead of Scan?
- Servers from other publishers that do the same job: MCP server, CodeInspectus MCP server and MCPProxy MCP server. Compare all Scan alternatives.
Alternatives to Scan
Same job from other publishers: the closest match first, then the best rated.
- MCPConvert Office files and PDFs, OCR a scan, or capture a web page — from your assistant.not reviewedGrowingB
- CodeInspectusLocal-first MCP security scanner and CLI for AI-generated applications.not reviewedGrowingC
- MCPProxyLocal-first MCP proxy with BM25 tool discovery, security scanning, quarantine & ~99% token savingsnot reviewedGrowingB
DNS DoctorScan, fix, verify and monitor DNS: SPF, DMARC, DKIM, propagation, health, expiry. Validated fixes.not reviewedGrowingA- OpenQRGenerate, edit and track dynamic (editable) QR codes with scan analytics. Hosted MCP and REST API.not reviewedGrowingA