
MCP RAG Server

2025.04.07
0
TypeScript检索增强生成LLM 上下文增强本地化部署开发效率
rag-server-mcp 是一个基于 Model Context Protocol (MCP) 的服务,旨在为连接的 LLMs(大型语言模型)提供检索增强生成(RAG)能力。它通过索引项目文档并提供相关上下文来增强 LLM 的响应。该项目结合了 Google Genkit、ChromaDB 和 Ollama 技术,支持本地化部署和隐私保护。
View on GitHub
Overview
基本能力
产品定位
rag-server-mcp 是一个专为 Model Context Protocol 生态系统设计的 RAG 服务器,旨在通过本地化部署和自动索引项目文档来增强 LLM 的上下文理解和响应能力。
核心功能
- 自动索引:启动时自动扫描项目目录并索引支持的文件类型(如
.txt
,.md
,.json
,.jsonl
,.csv
等)。 - 分层分块:智能分块 Markdown 文件,分离文本和代码块。
- 向量存储:使用 ChromaDB 进行持久化向量存储。
- 本地嵌入:利用 Ollama 生成本地嵌入(默认使用
nomic-embed-text
模型)。 - MCP 工具:提供以下 RAG 功能作为标准 MCP 工具:
indexDocuments
:手动索引文件或目录。queryDocuments
:检索与查询相关的文档块。removeDocument
:通过源路径移除特定文档的块。removeAllDocuments
:清除当前项目的所有索引。listDocuments
:列出已索引文档的源路径。
适用场景
- 需要为 LLM 提供项目文档上下文的开发场景。
- 本地化部署的 RAG 解决方案,注重隐私和定制化。
- 开发工具链中集成 RAG 能力的场景。
使用教程
使用依赖
- 安装 Docker Desktop 或 Docker Engine。
- 确保主机上的端口
8000
(ChromaDB)和11434
(Ollama)可用。
安装教程
- 克隆仓库:
bash git clone https://github.com/sylphlab/rag-server-mcp.git cd mcp-rag-server
- 启动服务:
bash docker-compose up -d --build
- 首次运行时拉取嵌入模型:
bash docker exec ollama ollama pull nomic-embed-text
调试方式
- 运行本地测试:
bash npm test
- 运行带有覆盖率的测试:
bash npm run test:cov
- 本地运行服务器(非 Docker 环境):
bash npm start
(需确保 ChromaDB 和 Ollama 服务已运行并可通过环境变量CHROMA_URL
和OLLAMA_HOST
访问)