Skip to main content
Glama
MCP PDF Reader

MCP PDF Reader

by mlexpertio

MCP PDF Reader

A Model Context Protocol (MCP) server that provides tools for reading and processing PDF documents. Built with Docling for document conversion and text extraction.

Features

  • MCP Server with tools for PDF document processing

  • Document Text Extraction: Convert PDF content to clean Markdown format

  • Document Discovery: List and access available PDF files

Related MCP server: MCP PDF Reader

Tools

The server provides two main tools:

  • get_document_list: Returns a list of all available PDF files in the data directory

  • get_document_text: Extracts and returns the full text content of a specified PDF file in Markdown format

Install

Make sure you have uv installed.

Clone the repository:

git clone git@github.com:mlexpertio/mcp-pdf-reader.git
cd mcp-pdf-reader

Install Python:

uv python install 3.12.10

Create and activate a virtual environment:

uv venv
source .venv/bin/activate

Install dependencies:

uv sync

Usage

Add PDF Documents

Place your PDF files in the data/ directory. The server will automatically detect and make them available through the tools.

Run MCP Server

Start the MCP server:

python server.py

The server runs using stdio transport and can be integrated with any MCP-compatible client.

Development and Testing

Use the MCP inspector to test the server:

mcp dev server.py

This will open a web interface where you can test the available tools and inspect their responses.

Use in VSCode/Cursor

You can use the MCP integration in your editor. Tools & Integrations -> New MCP Server and edit the mcp.json file to include the following:

{
  "mcpServers": {
    "pdf-reader": {
      "command": "/opt/homebrew/bin/uv", // path to your uv binary
      "args": ["run", "--directory", "PATH_TO_YOUR_PROJECT", "server.py"]
    }
  }
}

License

See LICENSE file for details.

Available Tools

2 tools
get_document_listB
Use this tool to get the list of documents.

Returns:
    list[str]: The list of document filenames.

Inputs: no named parameters. Returns: result

get_document_textA
Use this tool to get the content of a document given its filename.

Args:
    filename (str): The filename of the document to get.

Returns:
    str: The content of the document in Markdown format.

Inputs: filename (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 2 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: one retrieves the list of documents, and the other retrieves the content of a specific document. There is no overlap or ambiguity between them.

    Naming Consistency4/5

    Both tool names follow a consistent 'get_document_<action>' pattern, using snake_case and the same prefix. The minor deviation is that one uses 'text' and the other 'list', but the pattern is clear and predictable.

    Tool Count4/5

    For a PDF reader MCP server, two tools is minimal but still reasonable for core functionality: listing documents and reading their content. It feels slightly thin but earns its place.

    Completeness3/5

    The server covers basic read operations (list and get content), but lacks tools for searching within documents, getting metadata, or navigating pages. Agents have no way to target specific sections or handle structured PDFs.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      A Model Context Protocol server that enables the extraction of text, metadata, and embedded images from PDF files. It provides tools for searching text with context, reading specific pages, and counting total pages within a document.
      7
      45 npm
      1
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      A server designed for processing PDF documents, enabling text extraction, table data retrieval, and metadata collection from local files. It allows users to scan directories for PDFs and read specific pages, specifically optimized for thesis literature analysis.
      3
      -
    • A
      license
      A
      quality
      D
      maintenance
      A comprehensive tool server for reading, merging, and extracting content from PDF files via local paths or direct URLs. It enables metadata retrieval, regex searching, and page-specific text extraction with built-in caching and workspace-restricted security.
      9
      5,936 PyPI
      MIT