Best for
- Linux users with SANE-compatible scanners
- Those needing local, privacy-first scanning automation (stdio)
- Developers or advanced users who want programmable batch and multipage scanning
Static review · not runListed 2026-09-08
FMRS 53/100 · D · Weakest Security and permissions 9/20 — Read the FMRS scoring method →
Runtime:Node.js 22+ · Prebuilt binary
INBOX_DIR
Base directory for job runs and artifacts; default scanned_documents/inbox; example config sets ~/Documents/scanned_documents/inbox.
SCAN_MOCK
Set true to mock SANE calls and generate fake TIFFs for testing; default false.
SCANIMAGE_BIN
Override the scanimage binary path; default scanimage.
SCANADF_BIN
Override the scanadf binary path; default scanadf.
TIFFCP_BIN
Override the tiffcp binary used for multipage assembly; default tiffcp.
IM_CONVERT_BIN
Override the ImageMagick convert binary used as fallback assembler; default convert.
SCAN_EXCLUDE_BACKENDS
CSV list of SANE backends to exclude, e.g. v4l.
SCAN_PREFER_BACKENDS
CSV list of preferred SANE backends, e.g. epjitsu,epson2.
PERSIST_LAST_USED_DEVICE
Default true; persists and lightly prefers the last used device.
MCP_HTTP_PORT
TCP port for the HTTP transport; default 3001.
MCP_HTTP_HOST
Bind host for the HTTP transport; defaults to all interfaces, set e.g. 127.0.0.1 to restrict.
{
"mcpServers": {
"scan": {
"command": "npx",
"args": [
"-y",
"scan-mcp"
],
"env": {
"INBOX_DIR": "~/Documents/scanned_documents/inbox"
}
}
}
}
Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.
{
"servers": {
"scan": {
"command": "npx",
"args": [
"-y",
"scan-mcp"
],
"env": {
"INBOX_DIR": "~/Documents/scanned_documents/inbox"
}
}
}
}
Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).
claude mcp add scan -e 'INBOX_DIR=~/Documents/scanned_documents/inbox' -- npx -y scan-mcp
Run it in a terminal; replace any <…> placeholders with your own values first.
After connecting, the client tool list should include list_devices, start_scan_job, get_job_status and the other recorded tools; calling list_devices and getting a device response confirms the install works.
Once connected, you can ask your AI assistant things like:
No matching tools
Listed from the project's documentation, not tested by this site.
scan-mcp is a minimal MCP server that provides tools to control scanners via SANE (scanimage). It supports device discovery, ADF/duplex scanning, page size selection, document break policies, multipage TIFF assembly, and artifact management. It is designed for Linux and Node 22, using stdio transport by default for privacy, with optional HTTP transport. Output files are stored in a specified inbox directory.
Secure local file read/write access
Standalone MCP server for Obsidian vaults: hybrid search, notes & files, structured memory, tasks, OAuth 2.1.
Secure remote access to your Obsidian vault over HTTPS with OAuth 2.0 authentication.
AI-native surgical editing of Word and OpenDocument files with formatting preservation
Source revision e7a6fa110276 Data synced 2026-10-19 Read the FMRS scoring method