Techtenstein PDF MCP
MCP server that gives your Claude, Cline, or Cursor session the ability to extract text, tables, and metadata from any PDF URL — including scanned PDFs via OCR. Powered by the Techtenstein PDF Extract API.
Tools exposed
pdf_extract_text(pdf_url, ocr=False)— Extract all text from a PDF as clean plain textpdf_extract_tables(pdf_url)— Extract all tables as structured row arrayspdf_metadata(pdf_url)— Get title, author, page count, creation date, encryption status
Install (Claude Desktop)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"techtenstein-pdf": {
"command": "uvx",
"args": ["techtenstein-pdf-mcp"],
"env": {
"TECHTENSTEIN_API_KEY": "your_key_from_techtenstein.com"
}
}
}
}
Restart Claude Desktop. pdf_extract_text, pdf_extract_tables, and pdf_metadata will appear as available tools.
Install (Cline / VS Code)
Cline auto-detects MCP servers from your Claude Desktop config. Same setup as above works.
Install (Cursor)
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"techtenstein-pdf": {
"command": "uvx",
"args": ["techtenstein-pdf-mcp"],
"env": {"TECHTENSTEIN_API_KEY": "your_key"}
}
}
}
Get an API key
Free tier (50 extractions/day, no card): https://apis.techtenstein.com
Paid tiers start at $5/month for 2,000 extractions.
Example usage
Once installed, ask Claude:
"Extract the tables from this earnings report PDF: https://example.com/q4.pdf"
Claude will call pdf_extract_tables and return a clean structured view of every table on the page.
Or for scanned documents:
"This PDF is a scanned invoice. Extract the text: https://example.com/invoice.pdf"
Claude will call pdf_extract_text(pdf_url, ocr=True) and read the image-based text via OCR.
Response schema (text mode)
{
"text": "Full extracted body text...",
"page_count": 12,
"word_count": 3450,
"ms": 240
}
Response schema (tables mode)
{
"tables": [
{
"page": 3,
"rows": [
["Product", "Q1", "Q2", "Q3", "Q4"],
["Widget A", "1200", "1350", "1420", "1600"]
]
}
]
}
Support
- Docs: https://apis.techtenstein.com
- Issues: https://github.com/sathvic-kollu/techtenstein-pdf-mcp/issues
- Email: sathvic777@gmail.com
License
MIT
Metadata
Release files for techtenstein-pdf-mcp 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| techtenstein_pdf_mcp-1.0.2.tar.gz | 3.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| techtenstein_pdf_mcp-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.9 kB
Release files / techtenstein_pdf_mcp-1.0.2.tar.gz
| Download URL | techtenstein_pdf_mcp-1.0.2.tar.gz |
|---|---|
| Size | 3.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
360fc24cb59a75fad1fe62d377153e756749b577760892460d4abb803cb3a476
|
|
BLAKE2b-256 checksum How to use checksums |
40f0f1184004e8f7d55b977c4df6263e95d1b82dce5954292ab69a9c841bce4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / techtenstein_pdf_mcp-1.0.2-py3-none-any.whl
| Download URL | techtenstein_pdf_mcp-1.0.2-py3-none-any.whl |
|---|---|
| Size | 3.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
024b1efc1d850266daa0b4f25d582989db0bf2555d7c89ef2cbec8bd5811618a
|
|
BLAKE2b-256 checksum How to use checksums |
a03a1564dadd89a22db8009e36c1a51c39d187a8809571d1f3d1fc0f3398f321
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|