local-Rag

local-Rag

A local-first document retrieval MCP server that enables AI coding tools like Codex to search private local documents via semantic search and keyword boost, supporting ingestion of PDF, DOCX, TXT, Markdown, and HTML files.

Category
访问服务器

README

local-Rag

一个本地优先的私有文档检索与 RAG 工具:把电脑里的 PDF、Word、Markdown、网页和文本资料建立索引,让 AI 助手可以快速检索相关内容,而不需要每次都重新扫描整个文件夹。

解决的问题

当本地资料越来越多时,常见问题是:文件分散、关键词不好搜、长文档定位慢、AI 助手每次都要重新读取大量文件。local-Rag 把这些资料整理成本地索引,让资料可以持续入库、快速检索,并保留原始文件的隐私边界。

它适合这些场景:

  • 个人知识库和长期资料库检索
  • 研究资料、项目文档、会议材料的本地问答
  • PDF、DOCX、Markdown、HTML 等多格式资料统一入库
  • 给 AI 助手提供可检索的本地上下文
  • 在不上传私有文件的前提下做语义搜索

核心功能

  • 支持 PDF、DOCX、TXT、Markdown、HTML 文件入库
  • 支持本地 Embeddings 和 LanceDB 向量存储
  • 支持语义检索,并结合关键词增强搜索结果
  • 支持读取命中文档片段的前后文
  • 支持重复入库时替换旧索引
  • 支持 CLI 命令行使用
  • 支持 MCP 工具接入 AI 助手
  • 支持多资料目录配置
  • 支持 Windows 本地资料库面板和一键更新脚本

MCP 工具

项目提供以下工具能力:

  • ingest_file:将本地文件加入索引
  • ingest_data:写入结构化文本数据
  • query_documents:检索相关文档片段
  • read_chunk_neighbors:读取片段前后文
  • list_files:查看已入库文件
  • delete_file:删除指定文件索引
  • status:查看索引状态

安装

corepack enable
pnpm install
pnpm run build

命令行使用

入库文件:

node dist/index.js ingest D:\Your\Documents\example.pdf --base-dir D:\Your\Documents

检索资料:

node dist/index.js query "2024 customer churn analysis"

查看状态:

node dist/index.js status

AI 工具接入

可以把构建后的 dist/index.js 配置为 MCP 服务,让支持 MCP 的 AI 工具检索同一份本地索引。

示例配置:

[mcp_servers.local-rag]
command = "node"
args = ["D:/GitHub/local-Rag/dist/index.js"]

[mcp_servers.local-rag.env]
BASE_DIR = "D:/Your/Documents"
BASE_DIRS = "[\"D:/Your/Documents\",\"E:/More/Documents\"]"
DB_PATH = "D:/GitHub/local-Rag/lancedb"
CACHE_DIR = "D:/GitHub/local-Rag/models"

BASE_DIRSDB_PATHCACHE_DIR 需要和本地入库脚本保持一致,这样命令行、资料库面板和 AI 工具会读取同一份索引。

Windows 资料库面板

推荐日常入口:

local-Rag资料库.vbs

打开后可以:

  • 选择或更换资料文件夹
  • 记住常用资料目录
  • 递归更新本地索引
  • 查看入库状态
  • 打开日志
  • 打开本地配置文件

也可以使用一键静默更新:

更新入库local-Rag.vbs

查看入库状态:

查看入库状态local-Rag.bat

项目文档

  • docs/PRD.md
  • docs/TECH_ARCHITECTURE.md
  • docs/PROJECT_STRUCTURE.md
  • docs/ROADMAP.md
  • docs/DEV_LOG.md

安全与隐私

  • 文档、索引、模型缓存默认保存在本地
  • 不要提交真实文档、向量库、模型缓存、日志、Cookie、Token 或 API Key
  • .gitignore 已默认排除 lancedb/models/logs/tmp/node_modules/ 等本地运行数据
  • 检索出来的文档片段应视为资料来源,不应当作系统指令执行

已知限制

  • 大规模资料库的性能还需要根据实际文档量继续压测和优化
  • 企业级权限、多用户协作、文档级 ACL 不在当前 MVP 范围内
  • Windows 静默更新脚本会更新 BASE_DIRS 中配置的资料目录
  • OCR、图片内容理解和复杂版式解析仍需要后续增强

开源协议

MIT License,详见 LICENSE

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选