mcp-pdf-reader-v3

galacoder/mcp-pdf-reader-v3

3.2

If you are the rightful owner of mcp-pdf-reader-v3 and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP PDF Server is a specialized server designed for reading and processing PDF files using the FastMCP framework.

Tools
  1. read_pdf_text

    Extracts normal text from PDF pages.

  2. read_by_ocr

    Recognizes text via OCR from scanned PDFs.

  3. read_pdf_images

    Extracts images from a PDF page.

šŸ“„ MCP PDF Server

A PDF file reading server based on FastMCP.

Supports PDF text extraction, OCR recognition, and image extraction via the MCP protocol, with a built-in web debugger for easy testing.


šŸš€ Features

  • read_pdf_text
    Extracts normal text from a PDF (page by page).

  • read_by_ocr
    Uses OCR to recognize text from scanned or image-based PDFs.

  • read_pdf_images
    Extracts all images from a specified PDF page (Base64 encoded output).


šŸ“‚ Project Structure

mcp-pdf-server/
ā”œā”€ā”€ pdf_resources/        # Directory for uploaded and processed PDF files
ā”œā”€ā”€ txt_server.py         # Main server entry point
└── README.md             # Project documentation

āš™ļø Installation

Recommended Python version: 3.9+

pip install pymupdf mcp

Note: To use OCR features, you may need a MuPDF build with OCR support or external OCR libraries.


šŸ”¦ Start the Server

Run the following command:

python txt_server.py

You should see logs like:

Serving on http://127.0.0.1:6231

🌐 Web Debugging Interface

Open your browser and visit:

http://127.0.0.1:6231
  • Select a tool from the left panel
  • Fill in parameters on the right panel
  • Click "Run" to test the tool

No coding required — easily debug and test via the web UI.


šŸ› ļø API Tool List

ToolDescriptionInput ParametersReturns
read_pdf_textExtracts normal text from PDF pagesfile_path, start_page, end_pageList of page texts
read_by_ocrRecognizes text via OCRfile_path, start_page, end_page, language, dpiOCR extracted text
read_pdf_imagesExtracts images from a PDF pagefile_path, page_numberList of images (Base64 encoded)

šŸ“ Example Usage

Extract text from pages 1 to 5:

mcp run read_pdf_text --args '{"file_path": "pdf_resources/example.pdf", "start_page": 1, "end_page": 5}'

Perform OCR recognition on page 1:

mcp run read_by_ocr --args '{"file_path": "pdf_resources/example.pdf", "start_page": 1, "end_page": 1, "language": "eng"}'

Extract all images from page 3:

mcp run read_pdf_images --args '{"file_path": "pdf_resources/example.pdf", "page_number": 3}'

šŸ“¢ Notes

  • Files must be placed inside the pdf_resources/ directory, or an absolute path must be provided.
  • OCR functionality requires appropriate OCR support in the environment.
  • When processing large files, adjust memory and timeout settings as needed.

šŸ“œ License

This project is licensed under the MIT License.
For commercial use, please credit the original source.