MCP RAG Server

MCP RAG Server

site icon
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)可用。

安装教程

  1. 克隆仓库: bash git clone https://github.com/sylphlab/rag-server-mcp.git cd mcp-rag-server
  2. 启动服务: bash docker-compose up -d --build
  3. 首次运行时拉取嵌入模型: bash docker exec ollama ollama pull nomic-embed-text

调试方式

  • 运行本地测试: bash npm test
  • 运行带有覆盖率的测试: bash npm run test:cov
  • 本地运行服务器(非 Docker 环境): bash npm start (需确保 ChromaDB 和 Ollama 服务已运行并可通过环境变量 CHROMA_URLOLLAMA_HOST 访问)

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。