Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
Extract text from local PDF documents with optional pluggable OCR. Read-only, no network.
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
Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter
node -vMac: ⌘ + 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
SettingsDeveloperEdit Config
{
"mcpServers": {
"pdf": {
"command": "npx",
"args": [
"-y",
"@sezzlee/pdf-mcp"
]
}
}
}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
A · Eine App nutzen, die Sezzlee PDF verbinden kann
Klappt mit Claude Code, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter
node -vMac: ⌘ + 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
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add --scope user pdf -- npx -y @sezzlee/pdf-mcpSezzlee PDF sollte in der Liste als verbunden erscheinen
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
Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter
node -vMac: ⌘ + 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
~/.cursor/mcp.json
Diese Einstellungen einfügen, leere Werte ausfüllen und speichern
{
"mcpServers": {
"pdf": {
"command": "npx",
"args": [
"-y",
"@sezzlee/pdf-mcp"
]
}
}
}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
Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter
node -vMac: ⌘ + 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
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"
]
}
}
}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
Claude Code
claude mcp add --scope user pdf -- npx -y @sezzlee/pdf-mcpClaude 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.
npm: @sezzlee/pdf-mcpBasierend 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
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
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
Der Registry-Name wurde mit dem GitHub-Konto sezzlee bestätigt, dem das Repo gehört
Code zuletzt geändert: vorgestern
Nutzt MIT
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
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.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
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.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
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).
Das GitHub-Repo wurde zuletzt vorgestern geändert, und die neueste Version (0.1.2) kam vor 34 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Puter MCP, XcodeBuildMCP, XcodeBuildMCP
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 enables AI tools to interact with Puter: manage files, websites, workers, and more
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
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.
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.
{
"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" ] } } }
| Tool | What it does | Key arguments |
|---|---|---|
list_documents | Lists readable PDF candidates under the root; never opens a file | subdirectory, pattern, maxResults |
describe_document | Page count, document type, per-page OCR need, server capabilities | filePath |
read_pages | Reads selected pages as Markdown, page numbers 1-based | filePath, pages, maxPages, ocr, cursor |
find_in_document | Literal search over extracted text, with page number and match context | filePath, 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.
CLI (sezzlee-pdf [--ocr ]):
| Argument | Default | Meaning |
|---|---|---|
| required | Sandbox root; every readable path is resolved and checked against it. |
--ocr | none | Path 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)):
| Option | Default | Meaning |
|---|---|---|
documentCacheSize | 2 | Extracted documents held in memory at once, 1–16. A budget, not a guard: each cached document holds every page's Markdown on the heap. |
maxConcurrentListings | 4 | Concurrent list_documents calls before a request is refused. |
maxConcurrentExtractions | 2 | Concurrent PDF extractions before a request is refused. |
ocr | none | An OcrBinding ({ rasterizer, provider, dpi?, maxPagesPerCall?, timeoutMs? }). Neither port is a dependency of this package. |
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_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.needsOcr — "the model returned nothing" is not the same as "this page is blank".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).needsOcr; a negative index wraps through u32. Both would look like a real page to the agent.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.true; empty is true` only for a page the engine trusted and found genuinely blank.
coverageComplete is false, and an empty match list is not proof the query is absent from the whole document.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.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.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).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.