Techtenstein PDF MCP
README.md
<!-- mcp-name: io.github.sathvic-kollu/techtenstein-pdf -->
# 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](https://apis.techtenstein.com).
## Tools exposed
- `pdf_extract_text(pdf_url, ocr=False)` — Extract all text from a PDF as clean plain text
- `pdf_extract_tables(pdf_url)` — Extract all tables as structured row arrays
- `pdf_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`:
```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`:
```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)
```json
{
"text": "Full extracted body text...",
"page_count": 12,
"word_count": 3450,
"ms": 240
}
```
## Response schema (tables mode)
```json
{
"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
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues