mcp-pdf-reader

DeepSeekMine/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.