Pageindex
БесплатноНе проверенSelf-hosted MCP server for Claude Code that implements PageIndex vectorless RAG locally, enabling indexing, navigation, and content extraction of PDF documents
Описание
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текст страниц не извлекается (только метаданные дерева)
Установка Pageindex
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/ypolosov/pageindex-mcpFAQ
Pageindex MCP бесплатный?
Да, Pageindex MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Pageindex?
Нет, Pageindex работает без API-ключей и переменных окружения.
Pageindex — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Pageindex в Claude Desktop, Claude Code или Cursor?
Открой Pageindex на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: 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
автор: mcpdotdirectCompare Pageindex with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
