PageIndex Light MCP
Agentic PDF search via MCP, enabling intelligent document retrieval through LLM reasoning instead of vector similarity.
README
<div align="center">
PageIndex Light MCP
Agentic PDF Search via MCP — Inspired by PageIndex
Vectorless, reasoning-based document retrieval that thinks like a human
</div>
Overview
PageIndex Light MCP brings agentic search capabilities to your PDF documents through the Model Context Protocol. Instead of traditional vector similarity, it leverages LLM reasoning for intelligent, human-like document navigation.
Inspired by VectifyAI/PageIndex and pageindex-mcp.
Features
- Agentic Search — LLM-powered semantic search through document structure
- MCP Sampling — Native MCP protocol sampling support
- LLM Fallback — Auto-fallback to OpenAI-compatible APIs for non-sampling clients
- OCR Fallback — Automatic OCR for scanned PDFs
Tools
| Tool | Description |
|---|---|
get_index |
Get PDF index with semantic search support |
get_detail |
Retrieve detailed content of a specific page |
How It Works
flowchart TB
subgraph Input
A[PDF File] --> B{Text Extraction}
end
subgraph TextExtraction["Text Extraction"]
B -->|Success| C[Raw Text]
B -->|Empty/Minimal| D{OCR Configured?}
D -->|Yes| E[Vision LLM OCR]
D -->|No| C
E --> C
end
subgraph Indexing
C --> F[LLM Summarization]
F -->|Per Page| G[Page Summaries]
G --> H[(Cached Index)]
end
subgraph Search["Agentic Search"]
I[User Query] --> J{Has Query?}
J -->|No| K[Return Full Index]
J -->|Yes| L[LLM Reasoning]
H --> L
L --> M[Ranked Results]
end
subgraph LLMProvider["LLM Provider"]
N{MCP Sampling?}
N -->|Supported| O[MCP Client LLM]
N -->|Not Supported| P[Fallback LLM API]
end
F -.-> N
L -.-> N
Quick Start
Claude Desktop / Claude Code
Add to your MCP config:
{
"mcpServers": {
"pageindex": {
"command": "uv",
"args": ["run", "--directory", "/path/to/pageindex-light-mcp", "server.py"],
"env": {
"PAGEINDEX_LLM_BASE_URL": "https://api.openai.com/v1",
"PAGEINDEX_LLM_API_KEY": "sk-xxx",
"PAGEINDEX_LLM_MODEL": "gpt-4o-mini",
"PAGEINDEX_OCR_BASE_URL": "https://api.openai.com/v1",
"PAGEINDEX_OCR_API_KEY": "sk-xxx",
"PAGEINDEX_OCR_MODEL": "gpt-4o-mini"
}
}
}
}
Environment Variables
Both configurations are optional and independent:
| Variable | Purpose | Required |
|---|---|---|
PAGEINDEX_LLM_* |
Fallback for non-Sampling MCP clients | Optional |
PAGEINDEX_OCR_* |
Fallback for scanned PDFs (when text extraction fails) | Optional |
# LLM Config — Used when MCP client doesn't support Sampling
PAGEINDEX_LLM_BASE_URL=https://api.openai.com/v1
PAGEINDEX_LLM_API_KEY=sk-xxx
PAGEINDEX_LLM_MODEL=gpt-4o-mini
# OCR Config — Used when PDF text extraction returns empty/minimal content
PAGEINDEX_OCR_BASE_URL=https://api.openai.com/v1
PAGEINDEX_OCR_API_KEY=sk-xxx
PAGEINDEX_OCR_MODEL=gpt-4o-mini # Any vision-capable model
License
MIT
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.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.