LabscoMCP early access ↗
espresso3389MCP SERVER

PDF Splitter

Random access into a PDF — read one page, search the text, or render a page as an image.

by espresso3389 ↗Document Conversion, PDF & TranslationCommunity

LABSCO SUMMARY

The name undersells it — rendering is half the value.

Text extraction is the obvious part. Being able to rasterise a page at a chosen dpi is what lets a model look at a table, a diagram or a scanned form that has no extractable text at all. The outputPath option is the one to reach for on anything large: writing files to disk instead of returning base64 keeps a fifty-page render out of the conversation.

What it is

A PDF reader built to avoid sending whole documents into a model. Load a file once, then pull only the pages, images or matches you need; the parsed document stays in memory for fast repeat access.

What you get

  • load_pdf loads from a local path or a URL and returns an id and a page count; list_loaded_pdfs shows what is open
  • extract_page and extract_range return text from a page or a span of pages
  • search_pdf searches the text, taking plain strings or regular expressions, case-sensitive or not, and returns page numbers with context
  • get_pdf_info returns metadata; extract_outline returns the table of contents with page references
  • render_page and render_pages rasterise pages at a chosen dpi as PNG or JPEG, returned as base64 or written to files with a {page} pattern in the path
  • list_images, extract_images and extract_image pull the embedded images out, with the same choice of base64 or files

Requirements

Bun, on Linux, macOS or Windows. The README's install lines name the package @espresso3389/pdf-splitter-mcp at version 0.1.1, which npm does not have. To upgrade you have to clear the bunx cache first, since it caches the downloaded package under the temporary directory.

Setup effort

One command — bunx espresso3389/pdf-splitter-mcp install claudecode