Page/Image Scanner▌
by jacksenechal
Digitize documents with Page/Image Scanner—supports ADF, duplex, batch, and multi-page TIFF for seamless document scanni
Integrates with SANE-compatible scanners to provide document capture with ADF support, duplex scanning, batch processing, and automatic multi-page TIFF assembly for digitizing physical documents and building document management workflows.
Both formats append explainx.ai attribution and the canonical URL for this MCP server listing.
best for
- / Building document management workflows
- / Digitizing physical document archives
- / Automating office document capture
- / Developers integrating scanning into applications
capabilities
- / Discover available SANE scanners
- / Start scan jobs with ADF and duplex support
- / Batch process multiple pages automatically
- / Assemble multi-page TIFF documents
- / Configure scan settings like page size and resolution
- / Monitor scan job progress and events
what it does
Provides MCP tools to control SANE-compatible scanners for document digitization. Handles automatic device selection, batch scanning, duplex mode, and multi-page TIFF assembly.
about
Page/Image Scanner is a community-built MCP server published by jacksenechal that provides AI assistants with tools and capabilities via the Model Context Protocol. Digitize documents with Page/Image Scanner—supports ADF, duplex, batch, and multi-page TIFF for seamless document scanni It is categorized under developer tools.
how to install
You can install Page/Image Scanner in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
NOASSERTION
Page/Image Scanner is released under the NOASSERTION license.
readme
scan-mcp
[](https://github.com/jacksenechal/scan-mcp/actions/workflows/ci.yml) [](https://www.npmjs.com/package/scan-mcp)  [](https://www.npmjs.com/package/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 `start_scan_job` without a `device_id` to auto-select a scanner and begin scanning. - Artifacts are written under `INBOX_DIR` per job: `job-*/page_*.tiff`, `doc_*.tiff`, `manifest.json`, `events.jsonl`. ## Streamable HTTP transport Prefer to attach the scanner to another machine on your network? `scan-mcp` also supports the streamable HTTP transport: ```bash scan-mcp --http ``` - Default port is `3001`; set `MCP_HTTP_PORT` to override (for example `MCP_HTTP_PORT=3333 scan-mcp --http`). - HTTP responses use server-sent events (SSE) for streaming tool output; clients such as Claude Desktop and Windsurf support this transport. - 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](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. - `INBOX_DIR` (default: `scanned_documents/inbox`): base directory for job runs and artifacts. - `SCANIMAGE_BIN` / `SCANADF_BIN` (defaults: `scanimage` / `scanadf`): override binary paths. - `TIFFCP_BIN` / `IM_CONVERT_BIN` (defaults: `tiffcp` / `convert`): multipage assembly tools. - `SCAN_EXCLUDE_BACKENDS` (CSV): backends to exclude (e.g., `v4l`). - `SCAN_PREFER_BACKENDS` (CSV): preferred backends (e.g., `epjitsu,epson2`). - `PERSIST_LAST_USED_DEVICE` (default: `true`): persist and lightly prefer last used device. - `MCP_HTTP_PORT` (default: `3001`): TCP port for the HTTP transport. ## API ### Tools - **list_devices** - Discover connected scanners with backend details. - Inputs: none. - **get_device_options** - Get SANE options for a specific device. - Inputs: - `device_id` (string): Target device identifier. - **start_scan_job** - Begin a scanning job; omitting `device_id` triggers auto-selection and default options. - Inputs (all optional unless noted): - `device_id` (string) - `resolution_dpi` (integer, 50–1200) - `color_mode` (`Color` | `Gray` | `Lineart`) - `source` (`Flatbed` | `ADF` | `ADF Duplex`) - `duplex` (boolean) - `page_size` (`Letter` | `A4` | `Legal` | `Custom`) - `custom_size_mm` { `width`, `height` } - `doc_break_policy` { `type`, `blank_threshold`, `page_count`, `timer_ms`, `barcode_values` } - `output_format` (string, default `tiff`) - `tmp_dir` (string) - **get_job_status** - Inspect job state and artifact counts. - Inputs: - `job_id` (string) - **cancel_job** - Request job cancellation; best effort during scan loops. - Inputs: - `job_id` (string) - **list_jobs** - List recent jobs from the inbox directory. - Inputs (optional): - `limit` (integer, max 100) - `state` (`running` | `completed` | `cancelled` | `error` | `unknown`) - **get_manifest** - Fetch a job's `manifest.json`. - Inputs: - `job_id` (string) - **get_events** - Retrieve a job's `events.jsonl` log. - Inputs: - `job_id` (string) See JSON Schemas in `schemas/` for input shapes. Tests assert against these contracts. ## How Selection and Defaults Work Defaults aim for 300dpi, reasonable color mode, and ADF/duplex when available. Full details on scoring and fallbacks live in docs: - Selection and defaults: `docs/SELECTION.md` ## Project Layout - `src/mcp.ts` — MCP server entry and tool registration - `src/services/*` — hardware interface and job orchestration - `schemas/` — JSON Schemas used for validation and tests - `docs/` — architecture, conventions, and deep dives ## Development - `npm run dev` (stdio MCP server), `npm run dev:http` (HTTP transport) - `make verify` runs lint, typecheck, and tests - Conventions: `docs/CONVENTIONS.md` and architecture in `docs/BLUEPRINT.md` ## Roadmap Tracking ideas and future improvements are documented in `docs/ROADMAP.md`.FAQ
- What is the Page/Image Scanner MCP server?
- Page/Image Scanner is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
- How do MCP servers relate to agent skills?
- Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
- How are reviews shown for Page/Image Scanner?
- This profile displays 63 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
Use Cases▌
Extended AI Capabilities
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Context Enhancement
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Workflow Automation
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Implementation Guide▌
Prerequisites
- ›Claude Desktop 0.7.0+ or Cursor IDE with MCP support
- ›Basic understanding of MCP architecture and capabilities
- ›Access credentials for integrated services (if required)
- ›Willingness to experiment and iterate on configuration
Time Estimate
15-60 minutes depending on server complexity
Installation Steps
- 1.Install MCP server: npm install -g [package-name] or via GitHub
- 2.Add server configuration to ~/.claude/mcp.json
- 3.Provide required credentials and configuration
- 4.Restart Claude Desktop to load new server
- 5.Test basic functionality with simple prompts
- 6.Explore capabilities and experiment with use cases
- 7.Document successful patterns for reuse
Troubleshooting
- ⚠MCP server not loading: Check config syntax, verify installation
- ⚠Connection errors: Check network, firewall, credentials
- ⚠Feature not working: Read server docs, check required parameters
- ⚠Performance issues: Monitor resource usage, check for network latency
- ⚠Conflicts with other servers: Check port assignments, namespace collisions
Best Practices▌
✓ Do
- +Read server documentation thoroughly before setup
- +Start with simple use cases to validate functionality
- +Test in non-production environment first
- +Monitor resource usage and performance
- +Keep servers updated for bug fixes and new features
- +Document configuration for team members
- +Use environment variables for sensitive configuration
✗ Don't
- −Don't grant overly permissive access to MCP servers
- −Don't skip reading security considerations in docs
- −Don't expose sensitive data without proper controls
- −Don't run untrusted MCP servers without code review
- −Don't ignore error messages—investigate root cause
💡 Pro Tips
- ★Combine multiple MCP servers for powerful workflows
- ★Create custom MCP servers for your specific needs
- ★Share successful configurations with team
- ★Use MCP inspector for debugging
- ★Join MCP community for tips and troubleshooting
Technical Details▌
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
- Model Context Protocol (MCP)
- JSON-RPC 2.0
- stdio or HTTP transport
Compatibility
- Claude Desktop
- Cursor IDE
- Custom MCP clients
When to Use This▌
✓ Use When
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid When
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.
Integration▌
- →Tool composition: Chain multiple MCP tools in workflows
- →Context augmentation: Provide AI with relevant external data
- →Action delegation: Let AI execute tasks on external systems
- →Bidirectional sync: Keep AI context and external systems in sync
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
List & Promote Your MCP Server
Share your MCP server with the developer community
Ratings
4.5★★★★★63 reviews- ★★★★★Henry Perez· Dec 28, 2024
Page/Image Scanner has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Isabella Gupta· Dec 20, 2024
I recommend Page/Image Scanner for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
- ★★★★★James Sanchez· Dec 20, 2024
According to our notes, Page/Image Scanner benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
- ★★★★★Isabella Jain· Dec 16, 2024
I recommend Page/Image Scanner for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
- ★★★★★Ganesh Mohane· Dec 8, 2024
Strong directory entry: Page/Image Scanner surfaces stars and publisher context so we could sanity-check maintenance before adopting.
- ★★★★★Chinedu Huang· Dec 8, 2024
Useful MCP listing: Page/Image Scanner is the kind of server we cite when onboarding engineers to host + tool permissions.
- ★★★★★Anaya Torres· Dec 8, 2024
Page/Image Scanner reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
- ★★★★★Neel Rahman· Dec 8, 2024
Page/Image Scanner has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Sakshi Patil· Nov 27, 2024
Page/Image Scanner is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
- ★★★★★Soo Johnson· Nov 27, 2024
Page/Image Scanner is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
showing 1-10 of 63