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 上下文拼装。