PDF智能搜索工具

PageIndex Light MCP是一款基于MCP协议的智能PDF搜索工具,通过LLM推理实现类人类的文档导航和搜索功能。

  • by BukeLy
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 BukeLy/pageindex-light-mcp

使用说明

页面索引灯MCP

通过MCP进行代理PDF搜索——灵感来自 页码

无向量、基于推理的文档检索,像人类一样思考


概述

页面索引灯MCP带来 代理搜索 通过模型上下文协议将功能添加到PDF文档中。它利用LLM推理进行智能的、类似人类的文档导航,而不是传统的向量相似性。

灵感来自 VectifyAI/页面索引 和 页面索引mcp.

特性

  • 代理搜索 --基于LLM的文档结构语义搜索
  • MCP采样 --原生MCP协议采样支持
  • LLM回退 --非采样客户端自动回退到OpenAI兼容API
  • OCR回退 --扫描PDF的自动OCR

工具

工具 说明
get_index 获取支持语义搜索的PDF索引
get_detail 检索特定页面的详细内容

运作原理

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

快速开始

克劳德桌面/克劳德代码

添加到MCP配置中:

{
  "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"
      }
    }
  }
}

环境变量

这两种配置都是 可选且独立:

变量 目的 必填
PAGEINDEX_LLM_* 非采样MCP客户端的回退 可选
PAGEINDEX_OCR_* 扫描PDF的回退(当文本提取失败时) 可选
# 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

许可证

麻省理工学院