PDF to Markdown engine for LLMs. Smart table extraction, OCR, MCP server.
Project description
thinkpdf
Extract text, tables, and structure from PDFs. Built for RAG pipelines, AI training, and LLM context.
Read directly into memory or save as Markdown. Supports OCR.
Install
pip install thinkpdf # Python (PyPI)
npx thinkpdf # npm (run directly)
brew install thinkpdf # macOS (Homebrew)
choco install thinkpdf # Windows (Chocolatey)
snap install thinkpdf # Linux (Snap Store)
conda install -c conda-forge thinkpdf # Anaconda (pending)
For better table extraction (but slower):
pip install thinkpdf[docling]
Quick Start
thinkpdf document.pdf # outputs document.md
thinkpdf document.pdf -o output.md # custom output
thinkpdf folder/ --batch # convert all PDFs
from thinkpdf import convert
convert("document.pdf") # returns markdown
GUI
pip install thinkpdf[gui]
thinkpdf-gui
MCP Server
Add to your MCP config:
{
"mcpServers": {
"thinkpdf": {
"command": "python",
"args": ["-m", "thinkpdf.mcp_server"]
}
}
}
| Tool | Description |
|---|---|
read_pdf |
Read PDF content into context |
convert_pdf |
Convert and save to file |
get_document_info |
Get PDF metadata |
License
AGPL-3.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
thinkpdf-1.0.5.tar.gz
(57.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
thinkpdf-1.0.5-py3-none-any.whl
(59.0 kB
view details)
File details
Details for the file thinkpdf-1.0.5.tar.gz.
File metadata
- Download URL: thinkpdf-1.0.5.tar.gz
- Upload date:
- Size: 57.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6db7ed075f214f3c11e3d64be0d4f5fcf0a3e2623026dabe8500e70aa0ab2fe9
|
|
| MD5 |
a3f5e217076090de62756a3b36c62c71
|
|
| BLAKE2b-256 |
ff57c7931becfc6effc739bd18e270285ee296cc58aec3243b44f87d20fa42fc
|
File details
Details for the file thinkpdf-1.0.5-py3-none-any.whl.
File metadata
- Download URL: thinkpdf-1.0.5-py3-none-any.whl
- Upload date:
- Size: 59.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ae3327984d51d8c0b4c3beab6a308879862e4da35dd8af8063b1969715bab40
|
|
| MD5 |
331c853b8ecac63245bd78ce56bb49b9
|
|
| BLAKE2b-256 |
7e7e91c3a4053a657e7383fe516131889105118400f94823b76820b80d1060f2
|