pdf-text-extractor-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
PDF Text Extractor
Extract PDF text through a browser application or a local MCP server for AI agents. Both share an extraction core with English/German OCR fallback for scanned pages. The MCP server returns full-document text, page-level paragraphs, extraction methods, and warnings, with basic table readability.
Upload a PDF to the React application to view its text in the browser, or connect
an MCP client such as VS Code to the published
pdf-text-extractor-mcp
package. PDF extraction runs locally in either environment.
Run locally
Requires Node.js 22.19+ and npm.
npm ci
npm run devOther useful commands:
npm test
npm run build
npm run lintRelated MCP server: benspdf
Using PDF Text Extractor as an MCP Server
The separate mcp/ package exposes one local STDIO tool,
extract_pdf_text, with embedded PDF text and English/German OCR fallback.
It requires Node.js 22.19+ and npm. The React app does not need to be running.
Both OCR language models are packaged locally; extraction does not download models.
The package is published on npm.
It is also listed in the official MCP Registry
as io.github.Prashant2204/pdf-text-extractor-mcp. The registry link shows the
published metadata for version 0.1.1.
Launch version 0.1.1 without cloning this repository:
npx -y pdf-text-extractor-mcp@0.1.1The process waits for an MCP client on stdin. To test it interactively with the official MCP Inspector:
npx -y @modelcontextprotocol/inspector@2.13.0 npx -y pdf-text-extractor-mcp@0.1.1Click Connect, open Tools, select extract_pdf_text, and enter the absolute
path to a PDF on your computer.
For VS Code, add this to .vscode/mcp.json:
{
"servers": {
"pdf-text-extractor": {
"type": "stdio",
"command": "npx",
"args": ["-y", "pdf-text-extractor-mcp@0.1.1"]
}
}
}The client launches the process and discovers extract_pdf_text. Provide
{ "file_path": "/absolute/path/to/example.pdf" } using a path on the server's
machine. Results include full-document text and page-level paragraphs, extraction
methods and warnings. OCR supports English and German; complex layouts and OCR
accuracy are not guaranteed.
Example: use with an AI agent
After connecting the server and enabling extract_pdf_text, ask your agent:
Use
extract_pdf_textto read/absolute/path/to/contract.pdf, then summarize its important clauses. Include page references and mention extraction warnings.
The tool supplies the extracted text; the agent creates the summary. The MCP server itself does not use an LLM. Text returned to the agent follows your MCP client and model provider's data handling settings.
See the MCP package README for the complete result contract, Inspector CLI instructions, package verification and future releases.
To develop the MCP server from this repository:
npm ci --prefix mcp
npm run build --prefix mcp
node mcp/dist/index.jsFor a local development build in VS Code, use "command": "node" and
"args": ["/absolute/path/to/pdf-text-extractor/mcp/dist/index.js"].
Architecture
The browser app and Node MCP server share the extraction core in
mcp/src/shared/. It handles page iteration, embedded-text reading, scan detection,
OCR fallback, paragraphs, basic table spacing, warnings, and document text assembly.
The shared code imports no browser, Node, PDF.js, or Tesseract runtime modules.
The browser service reads uploaded files and supplies browser canvas/OCR workers. The MCP wrapper validates local paths and supplies Node canvas/workers and bundled models. Rendering limits and model delivery remain specific to each environment. Both run locally without uploading PDFs to an application server.
The React service keeps its existing { text, pagesWithoutBodyText } interface;
the MCP tool keeps its existing page-level JSON contract. Shared modules compile
into the MCP tarball, so installing the CLI still needs no repository checkout.
Testing
npm test checks the browser adapter's multi-page ordering, invalid input, empty
text, parser errors, OCR fallback, worker reuse and OCR startup failure. Most tests
mock PDF.js/Tesseract; a real PDF.js fixture also checks reading order and table
spacing. The same PDF fixture is checked through the MCP tool to verify both
wrappers use the same formatting rules.
npm test --prefix mcp checks the shared formatter, real English/German OCR
through STDIO, file errors, and partial results when OCR models are unavailable.
Limitations
Files are limited to 25 MiB. OCR can be slow or inaccurate on poor-quality scans. Pages that contain some embedded body text alongside an image may not trigger OCR. Complex tables and multi-column layouts may not preserve their visual structure. PNG and JPEG files are not accepted directly.
License
Project code is licensed under the MIT License, copyright © 2026 Prashant Bhatia. Third-party dependencies retain their own licenses. Bundled OCR model attribution and the Apache-2.0 license are preserved in the MCP package's third-party notices.
This server cannot be deployed
Maintenance
Related MCP Connectors
PDF tools for AI agents: validate, extract, merge, split, compress, OCR, sign and redact.
Generate and read PDFs for AI agents: a generate_pdf and a read_pdf tool, priced per document.
Deterministic PDF tools for AI agents: inspect fields, fill forms, merge PDFs, invoices.
Extract text, pages and metadata from PDFs in bulk, with OCR for scanned files.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to securely read and extract information from PDF files including text content, metadata, and page counts from both local files and URLs within the project context.1529 npmMIT
- AlicenseAqualityAmaintenanceEnables AI agents to inspect and work with PDF files entirely on the local machine, covering page counts, metadata, layout, encryption permissions, scan-vs-text detection, and page rendering. Generated results land in a temporary workspace as short artifact ids that can be chained between tools and exported to real folders on request.1230 PyPI1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceIt enables AI agents and MCP clients to read, fill, create, export, and reconstruct fillable PDF forms, plus extract, search, and edit text and layout blocks, entirely against local files over stdio.Apache 2.0
- AlicenseAqualityCmaintenanceEnables clients to inspect local PDFs by searching text, rendering pages, and cropping selected regions at high resolution directly from the source document. It runs locally over stdio without requiring models, embeddings, GPUs, or API keys, and does not modify source PDFs or send network requests.6MIT