Skip to main content

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

Tool What 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdf_agent_mcp-0.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdf_agent_mcp-0.1.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file pdf_agent_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: pdf_agent_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for pdf_agent_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 eb1cb67a365e2316ba16ca3b52c922472fed1c0b2ffea24ed6545a98b989f912
MD5 f02d87be4f463df3c8c0911a7a105478
BLAKE2b-256 c6609235fba486d90e8dc60fffed15c568367c9db05e02fdcca42767dcb54176

See more details on using hashes here.

File details

Details for the file pdf_agent_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pdf_agent_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for pdf_agent_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83d2b5e901b01c082a71636b13537335d66dcbd5d9ee860d51c035babfce561c
MD5 0165463cce4e37a03095f74a61895ee9
BLAKE2b-256 7ebc277131b062b782730fdc070875670e6866e8d37c19da76e1ecaa903cf35d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page