Literature Review RAG MCP Server

项目简介

Literature Review RAG MCP Server是一个面向学术文献的RAG(检索增强生成)系统后端,专注于德国区域经济转型相关研究。通过标准化的MCP协议与LLM客户端(如Claude Desktop和Claude Code)通信,提供上下文管理、语义搜索、相关文献发现、引用生成等功能,支持多种文献筛选条件和异步PDF上传与索引。

主要功能点

  • 管理和托管学术文献资源,支持阶段和主题分类
  • 语义搜索,基于嵌入向量与ChromaDB持久化存储
  • 支持丰富的筛选:研究阶段、主题、年份、方法论等
  • 提供多种工具:语义搜索、上下文获取、相关文献发现、文献统计、带引用回答等
  • 支持同步和异步PDF上传,智能提取文献结构化信息并索引
  • 通过MCP协议支持与LLM客户端交互,实现上下文提供和工具调用
  • 具备完善的用户认证和权限管理(含OAuth)
  • 支持多种传输方式,具备安全、可扩展特性

安装步骤

  1. 克隆仓库并进入'literature_review_rag_api'目录。

  2. 创建Python虚拟环境并激活:

    python -m venv venv
    source venv/bin/activate
  3. 安装依赖包:

    pip install -r requirements.txt
    pip install fastmcp
  4. 准备数据目录,放置PDF文献,确保路径配置正确,且通过'config/literature_config.yaml'或环境变量覆盖相应路径。

  5. 可选择运行索引构建脚本:

    python -m scripts.build_index
  6. 启动MCP服务器:

    python -m literature_rag.mcp_server
  7. 可选运行FastAPI REST API服务器:

    python -m literature_rag.api

服务器配置(MCP客户端使用)

配置示例(JSON格式,适用于Claude Desktop或Claude Code):

  • server name: 'literature-rag'(用于客户端标识)

  • command: 指向Python解释器的绝对路径,用于启动服务器,如:

    '/Users/username/path/to/venv/bin/python'

  • args: 用于启动MCP服务器模块的参数数组,如:

    '["-m", "literature_rag.mcp_server"]'

  • 工作目录(cwd): MCP服务器代码所在绝对路径

  • 环境变量(env):

    • 'PYTHONPATH': 代码模块路径保证导入正确
    • 'INDICES_PATH': 文献索引存储目录
    • 'CONFIG_PATH': 配置文件路径

示例说明:

  • MCP客户端启动时会执行对应命令运行MCP服务器
  • 参数中'-m literature_rag.mcp_server'指定启动MCP服务器主模块
  • 环境变量确保服务器正确加载数据和配置

基本使用方法

  • 配置好MCP客户端与服务器的启动命令和参数,建立连接。
  • 通过MCP协议调用服务器提供的工具(如'semantic_search'),向服务器发送查询请求。
  • 使用'get_context_for_llm'获取带格式引用的上下文,支持LLM生成答案。
  • 利用'list_papers'查询可用文献,'find_related_papers'查找相似文献。
  • 通过异步上传接口上传PDF,系统自动抽取、索引并同步到知识库。
  • 支持带引用的自动问答,帮助完成学术研究辅助。

以上均通过JSON-RPC请求/响应进行交互,具备完善的会话管理和安全认证保障。

服务器信息