Pageindex
FreeNot checkedSelf-hosted MCP server for Claude Code that implements PageIndex vectorless RAG locally, enabling indexing, navigation, and content extraction of PDF documents
About
Self-hosted MCP server for Claude Code that implements PageIndex vectorless RAG locally, enabling indexing, navigation, and content extraction of PDF documents without LLM calls during search.
README
Self-hosted MCP server для Claude Code, реализующий PageIndex vectorless RAG полностью локально.
Архитектура
Claude Code (Max plan — handles all reasoning)
│ stdio
▼
pageindex-mcp (TypeScript)
├── index_document ──→ run_pageindex.py (Python, local)
│ └── OpenAI API (tree generation, one-time)
├── get_document_tree ──→ local JSON
├── get_page_content ──→ pdftotext (local)
├── list_documents ──→ local filesystem
└── delete_document ──→ local filesystem
Никаких LLM-вызовов внутри сервера — Claude Code сам навигирует дерево и анализирует контент. Не нужен ANTHROPIC_API_KEY.
Предварительные требования
# 1. Node.js ≥ 18
node --version
# 2. Python PageIndex repo
git clone https://github.com/VectifyAI/PageIndex /opt/pageindex
cd /opt/pageindex && pip install -r requirements.txt
# 3. poppler-utils для извлечения текста из PDF
# Ubuntu/Debian:
sudo apt install poppler-utils
# macOS:
brew install poppler
Установка и сборка
npm install
npm run build
Переменные окружения
| Переменная | Обязательна | Описание |
|---|---|---|
OPENAI_API_KEY |
да (для индексации) | PageIndex генерирует дерево через OpenAI |
PAGEINDEX_REPO_PATH |
да | Путь к клонированному репозиторию PageIndex |
INDEX_STORE_PATH |
нет | Где хранить JSON индексы (default: ~/.pageindex-store) |
PAGEINDEX_MODEL |
нет | OpenAI модель (default: gpt-4o-2024-11-20) |
Для OpenRouter вместо прямого OpenAI:
OPENAI_BASE_URL=https://openrouter.ai/api/v1
OPENAI_API_KEY=sk-or-v1-...
PAGEINDEX_MODEL=openai/gpt-4o
Подключение к Claude Code
Вариант A: локальный stdio (рекомендуется)
Добавить в ~/.claude.json или .mcp.json в проекте:
{
"mcpServers": {
"pageindex-local": {
"command": "node",
"args": ["/absolute/path/to/pageindex-mcp/build/index.js"],
"env": {
"OPENAI_API_KEY": "sk-...",
"PAGEINDEX_REPO_PATH": "/opt/pageindex"
}
}
}
}
Вариант B: dev-режим (tsx, без сборки)
{
"mcpServers": {
"pageindex-local": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/pageindex-mcp/src/index.ts"],
"env": {
"OPENAI_API_KEY": "sk-...",
"PAGEINDEX_REPO_PATH": "/opt/pageindex"
}
}
}
}
Использование в Claude Code
# 1. Индексировать документ (один раз)
"Проиндексируй PDF /path/to/spec.pdf с id pam-spec"
# 2. Посмотреть структуру документа
"Покажи структуру документа pam-spec"
# 3. Извлечь контент конкретной секции
"Покажи содержимое ноды 0005 в документе pam-spec"
# 4. Список всех документов
"Какие документы проиндексированы?"
# 5. Удалить индекс
"Удали индекс pam-spec"
Claude Code сам навигирует дерево, выбирает нужные секции и отвечает — не нужны отдельные API-вызовы.
Инструменты MCP
| Инструмент | Описание |
|---|---|
index_document |
Генерирует PageIndex tree из PDF (один раз, затем переиспользуется) |
get_document_tree |
Иерархическая структура документа для навигации |
get_page_content |
Извлечение текста по node_id или диапазону страниц |
list_documents |
Список проиндексированных документов с метаданными |
delete_document |
Удалить документ из индекса |
Стоимость
- Индексация (разово): ~$0.10–0.50 за документ (OpenAI gpt-4o)
- Поиск: бесплатно на Claude Code Max plan
- Хранение: локальные JSON файлы
Ограничения
- Генерация дерева требует OpenAI API (hardcoded в Python PageIndex)
- Для больших PDF (500+ стр.) индексация может занять несколько минут
- Без
poppler-utilsтекст страниц не извлекается (только метаданные дерева)
Install Pageindex in Claude Desktop, Claude Code & Cursor
unyly install pageindex-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add pageindex-mcp -- npx -y pageindex-mcpFAQ
Is Pageindex MCP free?
Yes, Pageindex MCP is free — one-click install via Unyly at no cost.
Does Pageindex need an API key?
No, Pageindex runs without API keys or environment variables.
Is Pageindex hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Pageindex in Claude Desktop, Claude Code or Cursor?
Open Pageindex on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Pageindex with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
