Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Mit Google anmelden, um Bewertungen zu schreiben.Prototyp · alle 30 Min. aktualisiert
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Sezzlee PDF

von sezzleeVersion 0.1.2i★ 1 (Sterne des ganzen Repos)iLäuft auf deinem Computer
Name in der Registryio.github.sezzlee/pdf

So installierst du es

What it does

Extract text from local PDF documents with optional pluggable OCR. Read-only, no network.

  • Connects Läuft auf deinem Computer
  • Account or key No key needed
  • Category Dokumente, Tabellen & Büroarbeit

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

3/3 Prüfungen bestanden · Läuft auf deinem Computer · ✓ Befehle geprüft am 13. Nov. 2026

Zuerst: Welche KI nutzt du?

Wähle deine App, dann erscheinen die Schritte unten.

Klappt mit Claude, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy

  1. Node.js installieren (falls noch nicht vorhanden)

    Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter

    node -v
    • Eine Versionsnummer wie v26.13.1 = installiert, diesen Schritt überspringen
    • "command not found" (unter Windows "is not recognized") = noch nicht installiert, oder gerade installiert und das Terminal muss neu geöffnet werden
    So öffnest du das Terminal

    Mac: ⌘ + Leertaste drücken, Terminal eingeben, Enter

    Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen

    Noch nicht installiert: Öffne die offizielle Download-Seite, wähle die LTS-Version und den Klick-Installer: .pkg auf dem Mac · .msi unter Windows. Doppelklicken und bis zum Ende durchklicken. Kein curl-Befehl nötig

    Download-Seite von Node.js öffnen ↗

    Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: node -v

    Einmal installieren, gilt für alles, was Node.js braucht

  2. Einstellungsdatei der Claude-Desktop-App öffnen

    SettingsDeveloperEdit Config

  3. Diese Einstellungen einfügen und speichern

    {
      "mcpServers": {
        "pdf": {
          "command": "npx",
          "args": [
            "-y",
            "@sezzlee/pdf-mcp"
          ]
        }
      }
    }
  4. Claude beenden und neu öffnen

  5. Ausprobieren

    Nutze Sezzlee PDF und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude sagt, dass es Sezzlee PDF nutzt, oder ein Werkzeug von Sezzlee PDF in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

ChatGPT kann Sezzlee PDF noch nicht verbinden

Sezzlee PDF läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen

Das kannst du stattdessen tun

A · Eine App nutzen, die Sezzlee PDF verbinden kann

  • Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
  • Installiere zuerst Node.js auf deinem Computer (nur einmal)
  • Installiere zuerst Node.js auf deinem Computer (nur einmal) · Kein Ein-Klick-Button: Einstellungen einfügen und Werte selbst ausfüllen
  • Installiere zuerst Node.js auf deinem Computer (nur einmal) · Kein Ein-Klick-Button: Einstellungen einfügen und Werte selbst ausfüllen

B · Andere in Dokumente, Tabellen & Büroarbeit, die mit ChatGPT funktionieren

Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden

Klappt mit Claude Code, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren (falls noch nicht vorhanden)

    Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter

    node -v
    • Eine Versionsnummer wie v26.13.1 = installiert, diesen Schritt überspringen
    • "command not found" (unter Windows "is not recognized") = noch nicht installiert, oder gerade installiert und das Terminal muss neu geöffnet werden
    So öffnest du das Terminal

    Mac: ⌘ + Leertaste drücken, Terminal eingeben, Enter

    Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen

    Noch nicht installiert: Öffne die offizielle Download-Seite, wähle die LTS-Version und den Klick-Installer: .pkg auf dem Mac · .msi unter Windows. Doppelklicken und bis zum Ende durchklicken. Kein curl-Befehl nötig

    Download-Seite von Node.js öffnen ↗

    Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: node -v

    Einmal installieren, gilt für alles, was Node.js braucht

  2. Terminal öffnen

    Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen

  3. Diesen Befehl einfügen und Enter drücken

    claude mcp add --scope user pdf -- npx -y @sezzlee/pdf-mcp
  4. /mcp in Claude Code eingeben

    Sezzlee PDF sollte in der Liste als verbunden erscheinen

  5. Ausprobieren

    Nutze Sezzlee PDF und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude Code sagt, dass es Sezzlee PDF nutzt, oder ein Werkzeug von Sezzlee PDF in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Cursor, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal) · Kein Ein-Klick-Button: Einstellungen einfügen und Werte selbst ausfüllen

  1. Node.js installieren (falls noch nicht vorhanden)

    Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter

    node -v
    • Eine Versionsnummer wie v26.13.1 = installiert, diesen Schritt überspringen
    • "command not found" (unter Windows "is not recognized") = noch nicht installiert, oder gerade installiert und das Terminal muss neu geöffnet werden
    So öffnest du das Terminal

    Mac: ⌘ + Leertaste drücken, Terminal eingeben, Enter

    Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen

    Noch nicht installiert: Öffne die offizielle Download-Seite, wähle die LTS-Version und den Klick-Installer: .pkg auf dem Mac · .msi unter Windows. Doppelklicken und bis zum Ende durchklicken. Kein curl-Befehl nötig

    Download-Seite von Node.js öffnen ↗

    Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: node -v

    Einmal installieren, gilt für alles, was Node.js braucht

  2. MCP-Einstellungsdatei von Cursor öffnen

    ~/.cursor/mcp.json

    Diese Einstellungen einfügen, leere Werte ausfüllen und speichern

    {
      "mcpServers": {
        "pdf": {
          "command": "npx",
          "args": [
            "-y",
            "@sezzlee/pdf-mcp"
          ]
        }
      }
    }
  3. KI-Chat in Cursor im Agent-Modus öffnen

  4. Ausprobieren

    Nutze Sezzlee PDF und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Cursor sagt, dass es Sezzlee PDF nutzt, oder ein Werkzeug von Sezzlee PDF in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit VS Code, aber erst etwas vorbereiten

Installiere zuerst Node.js auf deinem Computer (nur einmal) · Kein Ein-Klick-Button: Einstellungen einfügen und Werte selbst ausfüllen

  1. Node.js installieren (falls noch nicht vorhanden)

    Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter

    node -v
    • Eine Versionsnummer wie v26.13.1 = installiert, diesen Schritt überspringen
    • "command not found" (unter Windows "is not recognized") = noch nicht installiert, oder gerade installiert und das Terminal muss neu geöffnet werden
    So öffnest du das Terminal

    Mac: ⌘ + Leertaste drücken, Terminal eingeben, Enter

    Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen

    Noch nicht installiert: Öffne die offizielle Download-Seite, wähle die LTS-Version und den Klick-Installer: .pkg auf dem Mac · .msi unter Windows. Doppelklicken und bis zum Ende durchklicken. Kein curl-Befehl nötig

    Download-Seite von Node.js öffnen ↗

    Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: node -v

    Einmal installieren, gilt für alles, was Node.js braucht

  2. MCP-Einstellungsdatei von VS Code öffnen

    MCP: Open User Configuration

    Diese Einstellungen einfügen, leere Werte ausfüllen und speichern

    {
      "servers": {
        "pdf": {
          "type": "stdio",
          "command": "npx",
          "args": [
            "-y",
            "@sezzlee/pdf-mcp"
          ]
        }
      }
    }
  3. KI-Chat in VS Code im Agent-Modus öffnen

  4. Ausprobieren

    Nutze Sezzlee PDF und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn VS Code sagt, dass es Sezzlee PDF nutzt, oder ein Werkzeug von Sezzlee PDF in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach

Alle Apps mit MCP ansehen →

JSON-Einstellungen stehen unten unter „Für Entwickler“

Hängst du fest? Frag Leute, die Sezzlee PDF nutzen💬 Diskussion →
Für Entwickler: Terminal-Befehle und JSON-Einstellungen

Auf deinem Computer installiert

Claude Code

claude mcp add --scope user pdf -- npx -y @sezzlee/pdf-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "pdf": {
      "command": "npx",
      "args": [
        "-y",
        "@sezzlee/pdf-mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "pdf": {
      "command": "npx",
      "args": [
        "-y",
        "@sezzlee/pdf-mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "pdf": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@sezzlee/pdf-mcp"
      ]
    }
  }
}

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Auf einen Blick

GitHub-Sternei
1 (Sterne des ganzen Repos)
Dieses Repo enthält mehrere MCP-Einträge; die Sterne zählen in Ranglisten nur einmal
Downloads pro Wochei
140/Wo.
Verbindung
Läuft auf deinem Computer
Neueste Versioni
0.1.2
In der Registry veröffentlichti
12. Okt. 2026
Code zuletzt geänderti
13. Nov. 2026
Entwickler
sezzlee
Pakete
npm: @sezzlee/pdf-mcp
Registry-Status
Aktiv

Welche Apps ihn nutzen können

Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.

Laufen auf deinem Computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Alle Apps, mit Vor- und Nachteilen →

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 15. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto sezzlee bestätigt, dem das Repo gehört

  • ✓ Bestanden

    Wird noch gepflegt

    Code zuletzt geändert: vorgestern

  • ✓ Bestanden

    Hat eine Lizenz

    Nutzt MIT

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Diskussion

Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.

Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.

Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.

Mit Google anmelden, um zu posten

Nutzerbewertungen

Noch keine Bewertungen

Mit Google anmelden, um zu bewerten

Im Vergleich mit anderen in Dokumente, Tabellen & Büroarbeiti

  • Mehr Sterne als 0 % der anderen 3929 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 46 % der anderen 3929 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 3929 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Sezzlee PDF sicher?

Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt vorgestern geändert, und die neueste Version (0.1.2) kam vor 34 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Puter MCP, XcodeBuildMCP, XcodeBuildMCP

Andere in derselben Kategorie

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Puter MCP

Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more

von HeyPuterWeit verbreitet★ 44.174Aktualisiert vor 5 Monaten

Läuft in der Cloud✓ vom Dienst · puter.com

XcodeBuildMCP

XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.

von getsentryWeit verbreitet↓ 130.486/Wo. geteiltes Paket★ 6573Aktualisiert vor 4 Monaten

Läuft auf deinem Computer✓ vom Dienst · xcodebuildmcp.com

XcodeBuildMCP

XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.

von cameroncookeWeit verbreitet↓ 130.486/Wo. geteiltes Paket★ 6573Aktualisiert vor 14 Monaten

Läuft auf deinem Computer

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

@sezzlee/pdf-mcp

A read-only, sandboxed MCP server for local PDF documents. It builds on @sezzlee/file-core, which supplies sandbox path resolution, the response budget, the error envelope, cursors and the document cache. Text extraction uses @firecrawl/pdf-inspector. The server never reaches the network: OCR is optional, and when it is enabled, the connection decision belongs entirely to whoever supplies the two injected ports.

Quick start

{

"mcpServers": { "pdf": { "command": "npx", "args": ["-y", "@sezzlee/pdf-mcp", "/path/to/documents"] } } }

To enable OCR, point --ocr at a module whose default export is an OcrBinding (see Configuration and OCR):

{

"mcpServers": { "pdf": { "command": "npx", "args": [ "-y", "@sezzlee/pdf-mcp", "/path/to/documents", "--ocr", "/path/to/ollama-binding.js" ] } } }

Tools

ToolWhat it doesKey arguments
list_documentsLists readable PDF candidates under the root; never opens a filesubdirectory, pattern, maxResults
describe_documentPage count, document type, per-page OCR need, server capabilitiesfilePath
read_pagesReads selected pages as Markdown, page numbers 1-basedfilePath, pages, maxPages, ocr, cursor
find_in_documentLiteral search over extracted text, with page number and match contextfilePath, query, matchMode, caseSensitive, ocr, cursor

If the file path is already known, describe_document is optional: read_pages and find_in_document work from filePath alone.

Configuration

CLI (sezzlee-pdf [--ocr ]):

ArgumentDefaultMeaning
requiredSandbox root; every readable path is resolved and checked against it.
--ocr nonePath or package specifier to a module whose default export is { rasterizer, provider }. Absent means no OCR: read_pages/find_in_document refuse ocr: true and describe_document reports capabilities.ocr: false.

Programmatic (createPdfMcpServer(root, options)):

OptionDefaultMeaning
documentCacheSize2Extracted documents held in memory at once, 1–16. A budget, not a guard: each cached document holds every page's Markdown on the heap.
maxConcurrentListings4Concurrent list_documents calls before a request is refused.
maxConcurrentExtractions2Concurrent PDF extractions before a request is refused.
ocrnoneAn OcrBinding ({ rasterizer, provider, dpi?, maxPagesPerCall?, timeoutMs? }). Neither port is a dependency of this package.

OCR

The server does not perform OCR; it supports it. Two ports are injected — neither the raster library nor the model client is a dependency of this package.

interface PageRasterizer {

render(job: { bytes: Buffer; pages: readonly number[]; dpi: number; signal?: AbortSignal; }): Promise ; // { page, image, mediaType } }

interface OcrProvider { readonly name: string; recognize(job: { pages: readonly RenderedPage[]; signal?: AbortSignal; }): Promise ; // { page, markdown, confidence? } }

The server does exactly this: it renders the pages the text layer could not answer, recognizes the resulting images, substitutes the result for that page, and marks it source: "ocr".

Programmatic binding:

createPdfMcpServer(root, {

ocr: { rasterizer: pdfjsRasterizer, provider: ollamaProvider, dpi: 200 }, });

CLI binding — a module whose default export matches OcrBinding, loaded with --ocr (see examples/ollama-binding.ts in this package for a working example built from @sezzlee/pdf-raster-pdfjs and @sezzlee/ocr-ollama):

import { createPdfjsRasterizer } from "@sezzlee/pdf-raster-pdfjs";

import { createOllamaOcrProvider } from "@sezzlee/ocr-ollama"; import type { OcrBinding } from "@sezzlee/pdf-mcp";

const binding: OcrBinding = { rasterizer: createPdfjsRasterizer(), provider: createOllamaOcrProvider({ baseUrl: process.env["SEZZLEE_PDF_OCR_URL"] ?? "http://127.0.0.1:11434", model: process.env["SEZZLEE_PDF_OCR_MODEL"] ?? "deepseek-ocr:3b", }), dpi: 200, };

export default binding;

OCR rules
  • `ocr: true` with no provider bound is an error (ocr_unavailable), never a silent fall back to the text layer. Otherwise an agent that asked for OCR could mistake "nobody transcribed this document" for "no match". describe_document → capabilities.ocr reports whether one is bound.
  • An empty transcription does not count as an answer. If the provider returns empty text, the page stays needsOcr — "the model returned nothing" is not the same as "this page is blank".
  • An unrequested page is ignored. The ports may reorder, skip, or invent pages; results are matched to the page number that was requested, so a provider cannot overwrite a page the text layer already trusted.
  • Bytes leave the process. Binding a provider means those pages' pixels go somewhere else. OCR therefore defaults to off and is requested explicitly on every call.
  • A page is not re-transcribed on every call. Transcriptions are cached by document fingerprint plus page number. The cache is not a progress log: a search sends only the pages after the cursor to OCR and carries coverage forward in the cursor, so even a large document is eventually walked to the end from cache.
  • An expired job does not release its slot. Neither the engine nor an injected port can cancel work that has already started; the slot stays held until the work actually finishes. A provider that never returns can only be recovered by restarting the server — reclaiming the slot on a timer would only postpone the limit.

Rules

  • Every page number on the public surface is 1-based. The underlying library returns some fields 0-based and others 1-based within the same result object. The whole conversion lives in src/engine/, and lint bans importing @firecrawl/pdf-inspector outside that folder — a second import site would reintroduce the bug (measured on 1.23.0: PageMarkdownResult.page is 0-based, sibling pagesNeedingOcr is 1-based).
  • Page selection is validated before it reaches the library. An out-of-range index otherwise comes back as a phantom page marked needsOcr; a negative index wraps through u32. Both would look like a real page to the agent.
  • `describe_document` never builds its OCR page list from the classifier. classifyPdf marks every page of a document that contains a single scanned page. The list comes from the per-page extraction instead. classificationConfidence is confidence in the classifier's own verdict, not in any extracted text's accuracy.
  • An unreadable page is never presented as an empty one. A scanned page returns `needsOcr:

true; empty is true` only for a page the engine trusted and found genuinely blank.

  • Search coverage is reported on every response. When any page needs OCR, coverageComplete is false, and an empty match list is not proof the query is absent from the whole document.
  • A document is extracted once, in full; the response is paginated. Measurement showed that requesting a single page cuts extraction cost by a third, not 200-fold — the fixed cost dominates. Cursor identity depends on document content and OCR mode, not page size. An explicit pages selection is preserved across a cursor: it carries forward the rest of that selection and never wanders into unselected pages. A cursor resuming inside a page carries that page's text fingerprint; if the text changed since transcription, the response is stale_cursor rather than silently skipping content.
  • The server never reaches the network. fetch, node:http, node:net and their siblings are lint-banned inside src/, and the ban is repeated in every layer's override — a later oxlint override replaces no-restricted-imports rather than merging with it, so a single top-level ban would not apply everywhere.
  • Platform support is narrow. The engine ships no darwin-x64 binary and its wasm fallback is unpublished. On an unsupported host the server stops at startup with a one-line message (exit code 3).

Development

pnpm turbo run build --filter=@sezzlee/pdf-mcp

node packages/servers/pdf-mcp/dist/cli.js /path/to/documents

Tests: pnpm turbo run test --filter=@sezzlee/pdf-mcp (Vitest). A live-Ollama suite (test/ocr-live.spec.ts) is skipped unless SEZZLEE_PDF_OCR_URL is set; it also reads SEZZLEE_PDF_OCR_MODEL (default deepseek-ocr:3b). Everything else in test/ocr.spec.ts runs against fake ports; the live suite only proves the two real adapters compose.