Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Pageindex

FreeNot checked

Self-hosted MCP server for Claude Code that implements PageIndex vectorless RAG locally, enabling indexing, navigation, and content extraction of PDF documents

GitHubEmbed

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 текст страниц не извлекается (только метаданные дерева)

from github.com/ypolosov/pageindex-mcp

Install Pageindex in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install pageindex-mcp

Installs 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-mcp

FAQ

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

Compare Pageindex with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs