RAG MCP Tool
本项目是一个基于 Model Context Protocol (MCP) 的 RAG (检索增强生成) 工具,旨在为本地文件提供智能检索能力。本项目能够扫描指定目录下的文本文件,生成向量索引,并通过 MCP 协议提供检索服务。
功能特性
增量索引: 智能识别文件变更,仅对新增或修改的文件进行重新索引,提高效率。
自动过滤: 自动忽略以
.开头的隐藏目录(如.git,.venv等)。多格式支持: 支持常见的纯文本文件格式(.txt, .md, .json, .py, .js 等)。
MCP 协议支持: 提供标准的 MCP 工具
search_rag和read_raw_file,可轻松集成到 Claude Desktop 等客户端。灵活配置: 支持自定义 LLM 服务地址、模型名称和分块策略。
安装
本项目需要使用 Python 3.13 或更高版本。推荐使用 uv 进行包管理和运行。
配置
在项目根目录下创建 config.yaml 文件,参考以下格式进行配置:
使用说明
命令行工具
使用 uv run mcp_rag_tool 运行工具。
1. 建立索引
对指定目录进行索引:
rag数据会存放在 /path/to/your/documents/.muxue_rag 目录下
2. 启动 MCP 服务器
启动服务器以供 MCP 客户端连接:
也可以指定目录启动MCP服务器:
用这种方式启动,serach_rag工具不会有dir_path参数,所有查询会锁定这个目录下。
注意:
此启动方式只用于锁定
serach_rag工具的查询目录(即屏蔽掉dir_path参数),不会建立rag索引。必须先执行
uv run mcp_rag_tool --dir /path/to/your/documents建立索引,再启动mcp服务器。
3. 其他命令
清理索引: 删除指定目录的 RAG 数据库。
uv run mcp_rag_tool --clean --dir /path/to/your/documents备份索引: 备份 RAG 数据库到指定位置。
uv run mcp_rag_tool --backup --dir /path/to/your/documents --backup-path /path/to/backup查看帮助:
uv run mcp_rag_tool --help
MCP 客户端配置
要将此工具添加到 Claude Desktop,请编辑您的 Claude 配置文件 (macOS 上通常位于 ~/Library/Application Support/Claude/claude_desktop_config.json):
注意:请将 /path/to/rag_mcp 替换为您的实际项目路径。
工具列表
启动服务后,将提供以下工具:
search_rag: 根据关键词在索引文档中搜索相关内容,返回内容的同时会返回改内容所在的原始文件。
read_raw_file: 读取指定文件的原始内容,方便进一步分析。