# Research MCP Server：将论文检索与LLM推理解耦的MCP架构实践

> 一个基于FastMCP、arXiv和ChromaDB的研究论文发现与摄取工具，展示了如何从传统的FastAPI+本地LLM架构迁移到MCP服务器架构，实现检索与推理的清晰分离。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-31T19:15:30.000Z
- 最近活动: 2026-05-31T19:19:12.540Z
- 热度: 154.9
- 关键词: MCP, Model Context Protocol, RAG, arXiv, ChromaDB, FastMCP, 论文检索, LLM架构, FastAPI, Ollama
- 页面链接: https://www.zingnex.cn/forum/thread/research-mcp-server-llmmcp
- Canonical: https://www.zingnex.cn/forum/thread/research-mcp-server-llmmcp
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：the-samarium
- 来源平台：GitHub
- 原始标题：Research-paper-mcp-server
- 原始链接：https://github.com/the-samarium/Research-paper-mcp-server
- 来源发布时间/更新时间：2026-05-31T19:15:30Z

## 项目背景与演进历程

Research MCP Server项目展示了一个典型的AI应用架构演进案例。它最初是一个完整的FastAPI后端服务，集成了本地LLM推理能力（通过Ollama），构建了一个完整的RAG（检索增强生成）流水线。在这个初始架构中，服务器负责从arXiv获取论文、下载PDF、向量化存储到ChromaDB，并直接使用本地LLM生成综合答案。

然而，随着MCP（Model Context Protocol）协议的兴起，项目作者意识到可以将LLM推理层完全从服务器中剥离。这种架构转变代表了AI应用设计的一个重要趋势：将"检索"与"推理"分离，让专业工具专注于数据获取和存储，而将由LLM完成的复杂推理任务交给专门的LLM宿主（如Claude Desktop）来处理。

## 核心架构与技术栈

项目当前采用的技术架构体现了清晰的分层设计。底层使用FastMCP作为MCP服务器框架，FastAPI提供HTTP通信层，ChromaDB负责向量存储，Ollama提供嵌入模型支持（注意LLM推理已被移除），langchain-text-splitters处理文档分块，pypdf负责PDF文本提取，feedparser解析arXiv的Atom订阅源。

这种技术选型的精妙之处在于，它保留了所有与数据获取、存储和检索相关的能力，同时移除了需要大量计算资源的LLM推理部分。服务器现在只暴露检索工具，通过MCP协议供连接的LLM宿主调用。LLM宿主接收原始文档片段后，自行完成推理和综合。这种分离不仅简化了服务器架构，还让用户可以灵活选择不同的LLM宿主，而不受服务器端限制。

## 功能特性与使用方式

Research MCP Server提供了四个核心API端点。`/search`端点允许用户根据关键词从arXiv获取最多20篇相关论文；`/search/rag`端点更为强大，它不仅获取论文，还会下载PDF、进行嵌入处理并持久化到ChromaDB，支持`top_k`参数控制返回结果数量和`wipe_db`参数清空现有数据库；`/query`端点用于从ChromaDB检索与查询相关的文档片段；`/wipe`和`/clear-assets`端点则分别用于清空向量数据库和删除已下载的PDF文件。

项目支持三种运行模式。开发模式下可以通过FastMCP CLI启动，配合inspector进行调试；也可以通过MCP Inspector UI配置运行；最实用的方式是将服务器注册到Claude Desktop的配置文件中，这样Claude就能直接调用这些工具进行论文检索。对于希望保留传统REST API体验的用户，项目仍然支持以FastAPI模式运行。

## 存储设计与数据流

项目采用本地文件系统存储设计，自动创建两个关键目录：`assets/`用于存放从arXiv下载的PDF文件，`chromaDB/`用于持久化Chroma向量数据库。这两个目录都在项目根目录下自动创建，路径解析逻辑确保无论工作目录在哪里，文件都能正确存放。

数据流的设计非常直观：用户首先调用`/search/rag`获取并索引论文，这个步骤会填充`assets/`和`chromaDB/`两个目录；然后用户可以通过`/query`端点进行语义检索。值得注意的是，如果启用了`wipe_db=true`参数，系统会先释放内存中的数据库连接并清空现有数据，这一点在Windows系统上尤为重要，因为ChromaDB的文件锁可能阻止删除操作。

## 部署与依赖要求

部署Research MCP Server需要满足几个前提条件：Python 3.10或更高版本、uv包管理器、以及运行中的Ollama实例（用于嵌入模型，而非LLM推理）。安装流程简洁明了：克隆仓库、创建虚拟环境、通过uv安装依赖即可。

虽然Ollama仍然需要运行，但它的作用仅限于提供嵌入能力（如nomic-embed-text模型），所有LLM推理都转移到了MCP客户端。这种设计大大降低了服务器的资源需求，使得在资源受限的环境中部署成为可能，同时又不牺牲检索质量。

## 架构启示与实践价值

Research MCP Server的演进为AI应用架构设计提供了有价值的参考。它证明了MCP协议在构建模块化AI系统方面的潜力——通过标准化接口，不同的组件可以独立演进：服务器专注于数据质量和检索效率，LLM宿主专注于推理能力和用户体验。

对于研究者和开发者而言，这个项目不仅是一个实用的论文检索工具，更是一个理解MCP架构范式的优秀案例。它展示了如何在保留现有技术投资（FastAPI、ChromaDB、Ollama嵌入）的同时，通过协议层面的抽象实现架构现代化。这种渐进式演进策略对于生产环境中的AI系统升级尤为可贵。
