scan-mcp
Минимальный MCP-сервер для захвата со сканера (ADF/дуплекс/размер страницы), пакетной обработки и сборки многостраничных документов.
Возможности
Небольшой типизированный MCP-сервер с инструментами для обнаружения устройств и заданий сканирования
Входные данные, проверяемые по JSON Schema, с детерминированными типизированными выходными данными
Умный выбор устройства (предпочитает ADF/дуплекс, избегает камерных бэкендов), надёжные значения по умолчанию
Транспорты, ориентированные на локальную работу: stdio по умолчанию для полной автономности устройства, опциональный HTTP для собственных сетевых развёртываний
Примечание: этот пакет рассчитан на Node 22 и Linux-бэкенды SANE (scanimage).
Related MCP server: MCPOSprint
Быстрый старт (локальный stdio, по умолчанию)
Добавьте запись сервера в конфигурацию вашего MCP-клиента:
{
"mcpServers": {
"scan": {
"command": "npx",
"args": [
"-y",
"scan-mcp"
],
"env": {
"INBOX_DIR": "~/Documents/scanned_documents/inbox"
}
}
}
}Этот запуск работает через stdio для конфигурации с приоритетом конфиденциальности на одной машине.
Вызовите
start_scan_jobбезdevice_id, чтобы автоматически выбрать сканер и начать сканирование.Артефакты записываются в
INBOX_DIRдля каждого задания:job-*/page_*.tiff,doc_*.tiff,manifest.json,events.jsonl. Если заданcrop_carrier_sheetsи обнаружен лист-носитель, для каждой затронутой страницы также записывается производный файлpage_*.cropped.tiff.
Транспорт Streamable HTTP
Предпочитаете подключить сканер к другой машине в вашей сети? scan-mcp также поддерживает
транспорт streamable HTTP:
scan-mcp --httpПорт по умолчанию —
3001; задайтеMCP_HTTP_PORTдля переопределения (например,MCP_HTTP_PORT=3333 scan-mcp --http).По умолчанию привязывается ко всем интерфейсам (
::); задайтеMCP_HTTP_HOSTдля ограничения (например,MCP_HTTP_HOST=127.0.0.1, когда перед сервером стоит обратный прокси).HTTP-ответы используют server-sent events (SSE) для потоковой передачи вывода инструментов; такие клиенты, как Claude Desktop и Windsurf, поддерживают этот транспорт.
В настоящее время аутентификация отсутствует; это предназначено для внутренней LAN-сети.
Установка
Запуск через npx:
npx scan-mcp(рекомендуется)CLI выполняет быструю предварительную проверку Node 22+ и необходимых инструментов сканера/изображений и выводит подсказки по установке, если чего-то не хватает.
См. рекомендуемую конфигурацию сервера выше.
Используйте
npx scan-mcp --httpдля запуска транспорта streamable HTTP при работе на другой машине.Справка CLI:
scan-mcp --helpИз исходников (для разработки):
npm installnpm run build
Для настройки Cline и других автоматизированных агентных установок см. llms-install.md
Системные требования
Linux с утилитами SANE:
scanimage(и опциональноscanadf)Инструменты TIFF:
tiffcp(предпочтительно) или ImageMagickconvert
Переменные окружения
SCAN_MOCK(по умолчанию:false): имитировать вызовы SANE и генерировать фиктивные TIFF-файлы для тестирования.INBOX_DIR(по умолчанию:scanned_documents/inbox): базовая директория для запусков заданий и артефактов.SCANIMAGE_BIN/SCANADF_BIN(по умолчанию:scanimage/scanadf): переопределение путей к бинарным файлам.TIFFCP_BIN/IM_CONVERT_BIN(по умолчанию:tiffcp/convert): инструменты сборки многостраничных документов.SCAN_EXCLUDE_BACKENDS(CSV): бэкенды для исключения (например,v4l).SCAN_PREFER_BACKENDS(CSV): предпочтительные бэкенды (например,epjitsu,epson2).PERSIST_LAST_USED_DEVICE(по умолчанию:true): сохранять и слегка предпочитать последнее использованное устройство.MCP_HTTP_PORT(по умолчанию:3001): TCP-порт для HTTP-транспорта.
API
Инструменты
list_devices
Обнаружение подключённых сканеров с деталями бэкендов.
Входные данные: нет.
get_device_options
Получение опций SANE для конкретного устройства.
Входные данные:
device_id(string): идентификатор целевого устройства.
start_scan_job
Начало задания сканирования; пропуск
device_idзапускает автоматический выбор и опции по умолчанию.Входные данные (все необязательны, если не указано иное):
device_id(string)resolution_dpi(integer, 50–1200)color_mode(Color|Gray|Lineart): color_mode по умолчанию — Lineart (в первую очередь для документов); при разрешении >= 600 dpi по умолчанию — Color, поскольку захват с высоким разрешением обычно означает изображения/фотографии, где 1-битный режим уничтожает информацию. Передайте color_mode явно, чтобы переопределить любой из значений по умолчанию; высокое разрешение — единственный используемый сигнал.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, по умолчаниюtiff)tmp_dir(string)crop_carrier_sheets(boolean, по умолчаниюfalse): обнаруживать полосу передней кромки листа-носителя и записывать производные обрезанные страницы; исходные страницы сохраняются
get_job_status
Проверка состояния задания и количества артефактов.
Входные данные:
job_id(string)
cancel_job
Запрос отмены задания; выполняется по мере возможности во время циклов сканирования.
Входные данные:
job_id(string)
list_jobs
Список недавних заданий из директории входящих.
Входные данные (необязательно):
limit(integer, максимум 100)state(running|completed|cancelled|error|unknown)
get_manifest
Получение
manifest.jsonзадания.Входные данные:
job_id(string)
get_events
Получение журнала
events.jsonlзадания.Входные данные:
job_id(string)
См. JSON-схемы в schemas/ для описания форм входных данных. Тесты проверяют соответствие этим контрактам.
Как работают выбор и значения по умолчанию
Значения по умолчанию нацелены на 300 dpi, разумный цветовой режим и ADF/дуплекс при наличии. Полные подробности о подсчёте баллов и запасных вариантах — в документации:
Выбор и значения по умолчанию:
docs/SELECTION.md
Структура проекта
src/mcp.ts— точка входа MCP-сервера и регистрация инструментовsrc/services/*— интерфейс оборудования и оркестрация заданийschemas/— JSON-схемы, используемые для валидации и тестовdocs/— архитектура, соглашения и углублённые разборы
Разработка
npm run dev(stdio MCP-сервер),npm run dev:http(HTTP-транспорт)make verifyзапускает lint, проверку типов и тестыСоглашения:
docs/CONVENTIONS.mdи архитектура вdocs/BLUEPRINT.md
Дорожная карта
Отслеживание идей и будущих улучшений задокументировано в docs/ROADMAP.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA universal MCP server for document processing, conversion, and automation. Handle PDF, DOCX, HTML, Markdown, and more through a unified API and toolset.1343139MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables users to print markdown tasklists, Notion tasks with QR codes, and arbitrary images directly to ESC/POS thermal printers over USB. It includes specialized tools for task processing, automated card generation, and printer diagnostics.71MIT

polydoc-mcpofficial
AlicenseNot gradedqualityCmaintenanceMCP server that converts HTML or URLs to PDF, captures screenshots, and generates EU-compliant e-invoices (Factur-X/ZUGFeRD).53MIT- AlicenseNot gradedqualityAmaintenanceA full-featured secure MCP server for local file system operations, with built-in image processing, OCR and media tools.Apache 2.0
Related MCP Connectors
MCP server for the PDFGate API. Generate PDFs, manage documents and handle e-signatures.
A paid remote MCP for developer endpoint scanner MCP, built to return verdicts, receipts, usage logs
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jacksenechal/scan-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server