Pageindex MCP logo

Pageindex MCP

Reason over long local or online PDFs through hierarchical indexing, targeted retrieval, page extraction, and document image access.

Install Pageindex MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "pageindex-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@pageindex/mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

pageindex-mcp MCP server connects MCP-compatible agents to PageIndex’s reasoning-based, hierarchical index for long PDFs. It can process local files or PDF URLs, then guide retrieval through folders, document outlines, targeted pages, and embedded or rendered images rather than relying on a vector database. Use it when an agent needs to inspect lengthy, structured, or scanned documents while preserving their page and section context. The service can run through PageIndex’s hosted HTTP endpoint or locally with the published Node.js package.

Use cases

  • Process long research PDFs from URLs or local files
  • Navigate financial or technical document collections by folder
  • Retrieve relevant sections before reading targeted pages
  • Inspect scanned pages and embedded document images
  • Check processing status and remove confirmed documents

Key features

  • Reasoning-based hierarchical PDF retrieval
  • OCR and structured document extraction
  • Local and online PDF processing
  • Folder browsing with relevance sorting
  • Targeted page and image extraction
  • Hosted HTTP and local npx deployment

Tools9

What Pageindex MCP lets your agent do. Expand a tool for its parameters.

Verified live~2.9k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

25/26 checks healthy over the last 92d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 7d ago via OSV.dev · @pageindex/mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars412Stargazers on the source repository.
npm downloads628Package downloads in the last 30 days.
Last commit8d agoMost recent push to the default branch.
Tools exposed9Callable tools this server registers over MCP.
Directory activity7 viewsConfig copies, upvotes, and views on AllMCPs.

How Pageindex MCP works

What pageindex-mcp does

pageindex-mcp gives MCP clients tools for loading and investigating PDF documents through PageIndex. Documents are represented as hierarchical trees, allowing an agent to navigate folders, sections, and page references before reading relevant content. The approach is designed for reasoning-based retrieval rather than vector similarity, document chunking, or a fixed top-k result set.

It accepts PDF files from URLs and, when run locally, local PDF files. Processing includes OCR, hierarchical content extraction, and document analysis. A processed document receives a unique doc_id, which is used by later operations. Files can be up to 100 MB, and processing commonly takes between zero and three minutes, with an estimate of about two seconds per page.

How it works

A reliable retrieval sequence starts with get_folder_structure() to map the available document hierarchy. The agent can then use browse_documents() at the root or within a folder, optionally sorting by relevance with a query. search_documents() is intended as a fallback when relevance-based browsing misses a document that should match a precise term, acronym, or filename fragment.

For an individual document, get_document() reports processing state and metadata. Once the document is ready, get_document_structure() exposes its outline, section headers, and page references. Documents longer than 20 pages should be handled through the outline first, with pagination used for large structures. The agent can then request narrow page ranges through get_page_content() instead of loading the entire file at once.

Page content may include paths for embedded images or rendered page images. Passing one of those paths to get_document_image() returns an MCP image content block, which is useful for scanned pages and layouts whose meaning depends on visual presentation.

Setup and configuration

For hosted use, create an API key in the PageIndex dashboard and configure an HTTP MCP connection to https://api.pageindex.ai/mcp with an Authorization: Bearer ... header. The setup uses API-key authentication and does not require an OAuth flow.

PageIndex App users can connect through https://app.pageindex.ai/mcp; Claude Desktop also has a one-click option using the .mcpb package from the project’s releases. OAuth is handled for that App-based connection.

To upload local PDFs, run the local MCP package through npx with Node.js 18 or newer:

config.json
{
  "mcpServers": {
    "pageindex": {
      "command": "npx",
      "args": ["-y", "@pageindex/mcp"]
    }
  }
}

The hosted endpoint can be used from agent frameworks and SDKs that support MCP, including the Claude Agent SDK, Vercel AI SDK, OpenAI Agents SDK, and LangChain MCP adapters.

Tools and capabilities

  • process_document: Upload and analyze a PDF from a URL or local path.
  • get_folder_structure: Display the document hierarchy as a tree.
  • browse_documents: Navigate folders or retrieve documents by relevance.
  • search_documents: Perform keyword-based fallback searches with relevance scores.
  • get_document: Check processing status and metadata.
  • get_document_structure: Read section outlines and page references.
  • get_page_content: Extract selected page ranges.
  • get_document_image: Return embedded or rendered page images.
  • remove_document: Permanently delete explicitly confirmed documents and their associated data.

Removal is irreversible, so clients should require explicit confirmation and inspect each returned per-document result.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Pageindex MCP

pageindex-mcp is an MCP server that connects AI clients to PageIndex’s reasoning-based document index for long PDFs. Its main tools process local or online PDFs, browse folders, search documents, inspect outlines, read page content, retrieve document images, check processing status, and remove documents.

Install the local server by configuring an MCP client to run `npx -y @pageindex/mcp` with Node.js 18 or newer. For hosted use, point the client to PageIndex’s HTTP MCP endpoint and add a bearer API key; PageIndex App users can instead connect through its MCP URL.

Run the local MCP package to upload local PDFs. The `process_document` tool accepts local files or PDF URLs, performs OCR and hierarchical analysis, and returns a `doc_id` for later calls. The supported file size is up to 100 MB.

Yes, pageindex-mcp works with Cursor through an MCP connection. Configure Cursor with either the hosted HTTP endpoint and an API-key authorization header or the local `npx` command when local PDF upload is required.

Start with `get_folder_structure()` and `browse_documents()`, then check readiness with `get_document()`. For documents over 20 pages, use `get_document_structure()` to find relevant sections and pass narrow page ranges to `get_page_content()`; use `get_document_image()` for embedded or rendered page images.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewPageindex MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/pageindex-mcp?style=directory)](https://allmcps.com/mcp/pageindex-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/pageindex-mcp"><img src="https://allmcps.com/api/badge/pageindex-mcp?style=directory" alt="Pageindex MCP on AllMCPs" /></a>