PDF Content Search MCP
MCP bridge for PDF Content Search — full-text PDF search with Apple Vision OCR across thousands of documents in under a second from Claude, Cursor, or any MCP client. Advanced filters (date, category, sender, amount), wildcards, boolean operators. Bridge open-source (MIT), PDF Content Search app is commercial with free iOS+Android companion scanner apps.
README
PDF Content Search MCP Server
Full-text PDF search + OCR for Claude, Cursor, and any MCP client.
This is the official Model Context Protocol bridge for PDF Content Search — a native macOS app that indexes thousands of PDFs (including scanned ones via Apple Vision OCR) and finds anything in under a second.
You need the PDF Content Search app installed and running. This MCP server is a stdio→HTTP bridge — the index, OCR engine, and search live in the app. Get PDF Content Search at store.juergenkoller.software/apps/pdf-content-search.
What you can do
"Claude, find every invoice from Telekom in 2024 across all my PDFs and list amount + date."
"Cursor, search 'data processing agreement' across my contracts folder, return the matching PDF + page number."
The app exposes search, filter, OCR, indexing, and document-metadata tools through MCP. Search results include page numbers, highlighted snippets, and bounding-box coordinates from OCR. Full tool list is announced by the server on tools/list after initialize.
Installation
Prerequisites
- macOS 12 (Monterey) or later
- PDF Content Search app installed and running — get it here (one-time purchase €89.99, 30-day free trial, includes free iOS + Android scanner companion apps)
- Swift 5.9+ (Xcode 15+) if building from source
Build from source
git clone https://github.com/juergenkoller-software/pdf-content-search-mcp.git
cd pdf-content-search-mcp
swift build -c release
# Binary: .build/release/pdf-content-search-mcp
Universal binary (for shipping inside the app bundle):
swift build -c release --arch arm64 --arch x86_64
Already inside the app
If you have PDF Content Search installed, the bridge ships inside the app bundle at Contents/Resources/pdf-content-search-mcp. Use the "Set up Claude Desktop" button in the app to auto-configure Claude Desktop with the right path and token — that's the recommended path for end users.
This repo is the source code for that bundled bridge, kept open so you can audit it, fork it, or run it under your own sandbox.
Configuration
Claude Desktop
{
"mcpServers": {
"pdf-content-search": {
"command": "/path/to/pdf-content-search-mcp",
"env": {
"PDF_CS_TOKEN": "your-token-here",
"PDF_CS_PORT": "44477"
}
}
}
}
Get PDF_CS_TOKEN from PDF Content Search → Settings → API Server, or use the in-app "Set up Claude Desktop" button.
Claude Code
claude mcp add pdf-content-search /path/to/pdf-content-search-mcp \
--env PDF_CS_PORT=44477 \
--env PDF_CS_TOKEN=your-token-here
Cursor / other MCP clients
Same pattern — stdio MCP server.
Environment variables
| Variable | Default | Description |
|---|---|---|
PDF_CS_TOKEN |
(none) | Bearer token matching the app's API Server token (required) |
PDF_CS_PORT |
44477 |
Port of the app's API server |
PDF_CS_HOST |
127.0.0.1 |
Host to reach the app |
Protocol behavior
- Newline-delimited JSON on stdin/stdout (MCP stdio transport).
- Each line is POSTed to the app's
/mcpendpoint verbatim. - The first response's
Mcp-Session-Idheader is cached and sent with every subsequent request, so session state survives across messages. - Notifications (requests without
id) expect HTTP 202 and produce no stdout. - Transport errors are turned into JSON-RPC error responses (code
-32000"Cannot reach PDF Content Search") so the client surfaces a meaningful message instead of hanging. - HTTP 401 → JSON-RPC error
-32001with a hint to rerun the setup. - HTTP 404 on an established session drops the cached ID and tells the client to re-initialize.
How it works
┌────────────────┐ JSON-RPC stdio ┌────────────────┐ HTTP+Bearer ┌────────────────────┐
│ Claude/Cursor │ ───────────────► │ pdfcs-mcp │ ─────────────► │ PDF Content Search │
│ (MCP client) │ ◄─────────────── │ (this repo) │ ◄───────────── │ (port 44477) │
└────────────────┘ └────────────────┘ └────────────────────┘
PDF Content Search owns the index (full-text + OCR + extracted metadata), the AI-naming pipeline, the iOS/Android sync, and the search engine. This bridge keeps the stdio MCP transport open-source so you can audit the wire format independently.
About PDF Content Search
PDF Content Search replaces complex folder structures with lightning-fast full-text search. Highlights:
- One-time purchase — €89.99, no subscription
- Full-text search across thousands of PDFs in under a second
- OCR text recognition — Apple Vision Framework, makes scans searchable
- AI file naming — phone photo of invoice becomes
250401 Invoice Telekom.pdf - Free companion apps — iOS and Android scanner apps included
- Encrypted sync to Mac
- Advanced filters — date, category, sender, amount; boolean operators; wildcards
- Spotlight + iCloud Drive integration
- MCP server (this repo) + REST API
- Made for offices, law firms, accountants — anyone with lots of documents
→ Get PDF Content Search at store.juergenkoller.software
License
MIT — see LICENSE. Bridge open source; the PDF Content Search app is commercial.
Issues & support
- Bridge bugs: open an issue
- App support: support@juergenkoller.software
Built by Juergen Koller Software GmbH.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.