mcp-pdf-reader

mcp-pdf-reader

3.4

If you are the rightful owner of mcp-pdf-reader 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.

A PDF file reading server based on FastMCP, supporting PDF text extraction, OCR recognition, and image extraction via the MCP protocol.

๐Ÿ“„ 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.