Back to Discover

pdf-mcp

connector

wesseltl

Extract text and tables from PDFs for an agent: invoices, reports, statements.

View on GitHub
0 starsSynced Aug 8, 2026

Install to Claude Code

/plugin marketplace add wesseltl/pdf-mcp

README

pdf-mcp

Python MCP License

Let your AI agent pull text and tables out of PDFs. An MCP server for invoices, reports, and statements, where the data lives in tables the model can't read from a pasted blob.

When you paste a PDF into a prompt, the columns collapse and the table turns to mush, so the model guesses at the numbers. This extracts the actual table structure with deterministic code, so the agent gets clean rows and never invents a cell.

What it turns a PDF into

A PDF invoice table like this:

Item     Qty   Price
Widget    3    12.50
Gadget    1    40.00
Bolt     10     0.25

comes back as structured rows (or CSV), not a flattened line of text:

[["Item","Qty","Price"],["Widget","3","12.50"],["Gadget","1","40.00"],["Bolt","10","0.25"]]

The tools it gives an agent

ToolWhat it does
page_count(path)How many pages the PDF has
extract_text(path, page)Text per page (one page, or the whole doc)
extract_tables(path, page)Tables as rows of cells
table_to_csv(path, page, index)One table as clean CSV text

Quickstart

pip install "pdf-agent-mcp[mcp]"

Add it to your MCP client (e.g. Claude Desktop):

{
  "mcpServers": {
    "pdf": { "command": "pdf-agent-mcp" }
  }
}

Now your agent can answer "pull the line items out of this invoice" by reading the PDF, not guessing.

Also usable from plain Python

from pdf_mcp import extractor

extractor.extract_tables("invoice.pdf")      # {'tables': [{'rows': [...]}], ...}
extractor.table_to_csv("invoice.pdf")        # clean CSV of the first table
extractor.extract_text("report.pdf", page=1)

Tests

python -m unittest discover -s tests     # builds its own test PDF, runs anywhere

License

MIT

Rendered live from wesseltl/pdf-mcp's GitHub README — not stored, always reflects the source repo.

1 Install Method

NameDescriptionCategorySource
pypi packageInstall via pypi (stdio transport)mcp-serverpdf-agent-mcp

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.