Paperpipe PaperQA Retrieval MCP Server

使用说明(简要要点,便于开发者快速上手):

  • 项目简介
    • 这个仓库实现了一个面向 MCP 客户端的 PaperQA2 检索服务器。通过 MCP 的工具接口,客户端可以请求检索结果、查看可用 PaperQA 索引及其状态,并集成到大语言模型的上下文服务中。
  • 主要功能点
    • retrieve_chunks:根据查询从 PaperQA2 索引中提取原始文本片段及引用信息,返回给客户端进行后续处理。
    • list_pqa_indexes:列出当前可用的 PaperQA2 索引及其元数据(如嵌入模型、是否含有元数据)。
    • get_pqa_index_status:返回指定索引的状态信息和文件映射情况,方便运维与调试。
    • 延迟加载与容错:服务器在首次请求时加载 MCP 服务实现,遇到缺失依赖时给出清晰错误信息。
  • 安装步骤
    • 安装 MCP 支持:在运行环境中安装 paperpipe 的 MCP 相关扩展,例如通过 pip 安装 paperpipe[mcp]。
    • 启动服务器:直接执行 paperqa_mcp_server.py(或通过 python -m paperpipe.paperqa_mcp_server 启动),确保 Python 版本为 3.11+,并满足依赖。
  • 服务器配置(MCP 客户端需要的最小连接信息,JSON 格式)
    • server name:paperqa
    • command:paperqa_mcp
    • args:[]
    • env:可选环境变量,如 PAPERQA_EMBEDDING 指定默认嵌入模型,PAPERPIPE_PQA_INDEX_DIR 指定索引根目录等(MCP 客户端不需要关心实现细节,但用于调试时可参考) 伪示例(文本描述,不含代码块):
    • {
    • "server": "paperqa",
    • "command": "paperqa_mcp",
    • "args": [],
    • "env": {
    • "PAPERQA_EMBEDDING": "text-embedding-3-small",
    • "PAPERPIPE_PQA_INDEX_DIR": "/path/to/.paperpipe/.pqa_index"
    • }
    • } 注:实际部署时请将 server、command、args、env 替换为你运行环境中的具体路径和参数。MCP 客户端仅需要知道服务器的启动命令及参数来建立连接。
  • 基本使用方法
    • 客户端向 MCP 服务器发送 JSON-RPC 请求,调用 retrieve_chunks、list_pqa_indexes、get_pqa_index_status 等工具接口。
    • 服务器接收请求,执行对应 PaperQA2 检索逻辑,返回结构化的 JSON-RPC 响应以及必要的状态信息,便于后续 LLM 上下文拼装。

服务器信息