Literature Review RAG MCP Server
项目简介
Literature Review RAG MCP Server是一个面向学术文献的RAG(检索增强生成)系统后端,专注于德国区域经济转型相关研究。通过标准化的MCP协议与LLM客户端(如Claude Desktop和Claude Code)通信,提供上下文管理、语义搜索、相关文献发现、引用生成等功能,支持多种文献筛选条件和异步PDF上传与索引。
主要功能点
- 管理和托管学术文献资源,支持阶段和主题分类
- 语义搜索,基于嵌入向量与ChromaDB持久化存储
- 支持丰富的筛选:研究阶段、主题、年份、方法论等
- 提供多种工具:语义搜索、上下文获取、相关文献发现、文献统计、带引用回答等
- 支持同步和异步PDF上传,智能提取文献结构化信息并索引
- 通过MCP协议支持与LLM客户端交互,实现上下文提供和工具调用
- 具备完善的用户认证和权限管理(含OAuth)
- 支持多种传输方式,具备安全、可扩展特性
安装步骤
-
克隆仓库并进入'literature_review_rag_api'目录。
-
创建Python虚拟环境并激活:
python -m venv venv source venv/bin/activate -
安装依赖包:
pip install -r requirements.txt pip install fastmcp -
准备数据目录,放置PDF文献,确保路径配置正确,且通过'config/literature_config.yaml'或环境变量覆盖相应路径。
-
可选择运行索引构建脚本:
python -m scripts.build_index -
启动MCP服务器:
python -m literature_rag.mcp_server -
可选运行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请求/响应进行交互,具备完善的会话管理和安全认证保障。