MCP PDF Tools Server logo

MCP PDF Tools Server

by hanweg

An MCP server that provides PDF manipulation tools, allowing LLMs to perform operations like merging PDFs and extracting pages through the Model Context Protocol. It is currently a work in progress and should be used with caution.

View on GitHub

Last updated: N/A

What is MCP PDF Tools Server?

This is an MCP (Model Context Protocol) server designed to provide PDF manipulation capabilities to Large Language Models (LLMs). It enables LLMs to interact with and modify PDF documents programmatically.

How to use MCP PDF Tools Server?

To use this server, you need to clone the repository, set up a virtual environment using uv venv, activate the environment, and install the package using uv pip install -e .. Then, configure your Claude Desktop environment by adding the server details to the claude_desktop_config.json file, specifying the command and arguments for running the server.

Key features of MCP PDF Tools Server

  • Merge multiple PDF files into a single PDF

  • Merge multiple PDF files into a single PDF in user specified order

  • Extract specific pages from a PDF file

  • Search PDFs (though filesystem search or Everything search is recommended)

  • Find (and merge) related PDFs based on text extraction and regex pattern matching from a target input PDF

Use cases of MCP PDF Tools Server

  • Automated PDF merging for report generation

  • Extracting specific data pages from multiple PDFs for analysis

  • Creating a single PDF document from multiple sources in a defined order

  • Finding and merging related documents based on content analysis

  • Programmatically extracting relevant sections from PDF documents for LLM processing

FAQ from MCP PDF Tools Server

Is this server production ready?

No, this is a work in progress and should be used with caution.

What is MCP?

MCP stands for Model Context Protocol, a protocol for LLMs to interact with external tools and services.

What PDF operations are supported?

Currently, merging PDFs, extracting pages, and searching PDFs are supported.

How do I configure this server with Claude Desktop?

You need to add the server details to the claude_desktop_config.json file, specifying the command and arguments for running the server.

What are the dependencies?

The dependencies are managed using uv and are specified in the project's configuration files.