Labsco
MCP SERVER

PDF Splitter

by espresso3389

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

Document Conversion, PDF & Translation
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