scan-mcp
Minimaler MCP-Server für Scanner-Erfassung (ADF/Duplex/Seitengröße), Stapelverarbeitung und mehrseitige Zusammenstellung.
Funktionen
Kleiner, typisierter MCP-Server, der Werkzeuge für Geräteerkennung und Scan-Aufträge bereitstellt
JSON-Schema-validierte Eingaben mit deterministischen, typisierten Ausgaben
Intelligente Geräteauswahl (bevorzugt ADF/Duplex, vermeidet Kamera-Backends), robuste Standardwerte
Lokale Transporte: standardmäßig stdio, um alles auf dem Gerät zu halten, optional HTTP für eigene Netzwerkbereitstellungen
Hinweis: Dieses Paket zielt auf Node 22 und Linux-SANE-Backends (scanimage).
Related MCP server: MCPOSprint
Schnellstart (lokales stdio, Standard)
Fügen Sie einen Server-Eintrag zu Ihrer MCP-Client-Konfiguration hinzu:
{
"mcpServers": {
"scan": {
"command": "npx",
"args": [
"-y",
"scan-mcp"
],
"env": {
"INBOX_DIR": "~/Documents/scanned_documents/inbox"
}
}
}
}Dieser Aufruf läuft über stdio für ein datenschutzorientiertes Einzelmaschinen-Setup.
Rufen Sie
start_scan_jobohnedevice_idauf, um automatisch einen Scanner auszuwählen und mit dem Scannen zu beginnen.Artefakte werden unter
INBOX_DIRpro Auftrag geschrieben:job-*/page_*.tiff,doc_*.tiff,manifest.json,events.jsonl. Wenncrop_carrier_sheetsgesetzt ist und ein Trägerblatt erkannt wird, wird zusätzlich einepage_*.cropped.tiff-Derivatdatei für jede betroffene Seite geschrieben.
Streamable-HTTP-Transport
Möchten Sie den Scanner lieber an eine andere Maschine in Ihrem Netzwerk anschließen? scan-mcp unterstützt auch den streamable-HTTP-Transport:
scan-mcp --httpStandardport ist
3001; setzen SieMCP_HTTP_PORT, um ihn zu überschreiben (z. B.MCP_HTTP_PORT=3333 scan-mcp --http).Bindet standardmäßig an alle Schnittstellen (
::); setzen SieMCP_HTTP_HOST, um einzuschränken (z. B.MCP_HTTP_HOST=127.0.0.1, wenn ein Reverse-Proxy vor dem Server steht).HTTP-Antworten verwenden Server-Sent Events (SSE) für das Streaming von Werkzeugausgaben; Clients wie Claude Desktop und Windsurf unterstützen diesen Transport.
Es gibt derzeit keine Authentifizierung; dies ist für interne LAN-Netzwerke gedacht.
Installation
Mit npx ausführen:
npx scan-mcp(empfohlen)Die CLI führt einen schnellen Preflight-Check für Node 22+ und erforderliche Scanner-/Bildwerkzeuge durch und gibt Installationshinweise aus, wenn etwas fehlt.
Siehe empfohlene Server-Konfiguration oben.
Verwenden Sie
npx scan-mcp --http, um den streamable-HTTP-Transport zu starten, wenn Sie auf einer anderen Maschine laufen.CLI-Hilfe:
scan-mcp --helpAus dem Quellcode (für Entwicklung):
npm installnpm run build
Für Cline-Setup und andere automatisierte agentische Installationen siehe llms-install.md
Systemanforderungen
Linux mit SANE-Dienstprogrammen:
scanimage(und optionalscanadf)TIFF-Werkzeuge:
tiffcp(bevorzugt) oder ImageMagickconvert
Umgebungsvariablen
SCAN_MOCK(Standard:false): simuliert SANE-Aufrufe und generiert Fake-TIFFs für Tests.INBOX_DIR(Standard:scanned_documents/inbox): Basisverzeichnis für Auftragsläufe und Artefakte.SCANIMAGE_BIN/SCANADF_BIN(Standard:scanimage/scanadf): überschreibt Binärpfade.TIFFCP_BIN/IM_CONVERT_BIN(Standard:tiffcp/convert): Werkzeuge für mehrseitige Zusammenstellung.SCAN_EXCLUDE_BACKENDS(CSV): auszuschließende Backends (z. B.v4l).SCAN_PREFER_BACKENDS(CSV): bevorzugte Backends (z. B.epjitsu,epson2).PERSIST_LAST_USED_DEVICE(Standard:true): speichert und bevorzugt leicht das zuletzt verwendete Gerät.MCP_HTTP_PORT(Standard:3001): TCP-Port für den HTTP-Transport.
API
Werkzeuge
list_devices
Erkennt angeschlossene Scanner mit Backend-Details.
Eingaben: keine.
get_device_options
Ruft SANE-Optionen für ein bestimmtes Gerät ab.
Eingaben:
device_id(Zeichenkette): Zielgerätekennung.
start_scan_job
Startet einen Scan-Auftrag; das Weglassen von
device_idlöst automatische Auswahl und Standardoptionen aus.Eingaben (alle optional, sofern nicht anders angegeben):
device_id(Zeichenkette)resolution_dpi(Ganzzahl, 50–1200)color_mode(Color|Gray|Lineart): color_mode standardmäßig Lineart (dokumentorientiert); bei >= 600 dpi standardmäßig Color, da hochauflösende Erfassung normalerweise Kunstwerke/Fotos bedeutet, bei denen 1-Bit Informationen zerstört. Übergeben Sie color_mode explizit, um beide Standardwerte zu überschreiben; hohe dpi ist das einzige verwendete Signal.source(Flatbed|ADF|ADF Duplex)duplex(boolesch)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(Zeichenkette, Standardtiff)tmp_dir(Zeichenkette)crop_carrier_sheets(boolesch, Standardfalse): erkennt das vordere Randband von Trägerblättern und schreibt beschnittene Seiten-Derivate; Rohseiten werden beibehalten
get_job_status
Untersucht Auftragsstatus und Artefaktanzahl.
Eingaben:
job_id(Zeichenkette)
cancel_job
Fordert Auftragsabbruch an; bestmöglich während Scan-Schleifen.
Eingaben:
job_id(Zeichenkette)
list_jobs
Listet aktuelle Aufträge aus dem Inbox-Verzeichnis auf.
Eingaben (optional):
limit(Ganzzahl, max. 100)state(running|completed|cancelled|error|unknown)
get_manifest
Ruft die
manifest.jsoneines Auftrags ab.Eingaben:
job_id(Zeichenkette)
get_events
Ruft das
events.jsonl-Protokoll eines Auftrags ab.Eingaben:
job_id(Zeichenkette)
Siehe JSON-Schemas in schemas/ für Eingabeformen. Tests prüfen diese Verträge.
So funktionieren Auswahl und Standardwerte
Standardwerte zielen auf 300 dpi, angemessenen Farbmodus und ADF/Duplex, wenn verfügbar. Vollständige Details zu Bewertung und Fallbacks finden Sie in der Dokumentation:
Auswahl und Standardwerte:
docs/SELECTION.md
Projektstruktur
src/mcp.ts— MCP-Server-Einstieg und Werkzeugregistrierungsrc/services/*— Hardware-Schnittstelle und Auftragsorchestrierungschemas/— JSON-Schemas für Validierung und Testsdocs/— Architektur, Konventionen und tiefgehende Einblicke
Entwicklung
npm run dev(stdio-MCP-Server),npm run dev:http(HTTP-Transport)make verifyführt Lint, Typprüfung und Tests ausKonventionen:
docs/CONVENTIONS.mdund Architektur indocs/BLUEPRINT.md
Roadmap
Ideen und zukünftige Verbesserungen werden in docs/ROADMAP.md dokumentiert.
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