内容
# 本地RAG-MCP
> 纯SQLite混合RAG,用于AI编码代理。FTS5加上可选的本地Ollama嵌入。无图层,无云依赖,一个可移植的数据库文件。
[](LICENSE)
[](https://www.typescriptlang.org/)
`本地RAG-MCP` 为Claude、Codex和VS Code MCP客户端提供一个小型本地知识库:文档、块、全文搜索、可选的向量搜索和引用的检索结果。
它故意不实现图:
- 没有图数据库
- 没有边表
- 没有实体图
- 没有关系遍历
- 没有隐藏的托管服务
## 安装
全局安装:
```bash
npm install -g @gilligan-tech/local-rag-mcp
local-rag-mcp init
```
## 快速入门
```bash
local-rag-mcp init
local-rag-mcp ingest ./README.md --collection 项目
local-rag-mcp search "如何配置"
local-rag-mcp doctor
```
搜索始终通过SQLite FTS5进行。如果Ollama在本地运行并且嵌入模型可用,摄入/搜索也会使用向量相似性。
```bash
ollama pull nomic-embed-text
```
## MCP工具
| 工具 | 用途 |
|------|---------|
| `rag_ingest_text` | 直接将文本添加到本地RAG数据库 |
| `rag_ingest_file` | 摄入 `.md`、`.txt` 或 `.json` 文件 |
| `rag_search` | 使用关键词、向量或混合检索进行搜索 |
| `rag_get_document` | 获取文档及其块 |
| `rag_list_documents` | 分页浏览摄入的文档 |
| `rag_delete_document` | 删除文档及其块/嵌入 |
| `rag_reindex` | 重建FTS和可选地填充缺失的嵌入 |
| `rag_stats` | 显示数据库和嵌入状态 |
## 配置
| 环境变量 | 默认值 | 描述 |
|---------|---------|-------------|
| `LOCAL_RAG_DB` | `~/.local-rag-mcp/rag.db` | SQLite数据库路径 |
| `LOCAL_RAG_OLLAMA_URL` | `http://127.0.0.1:11434` | 本地Ollama API URL |
| `LOCAL_RAG_EMBED_MODEL` | `nomic-embed-text` | Ollama嵌入模型 |
| `LOCAL_RAG_DISABLE_EMBEDDINGS` | 未设置 | 设置为 `1` 以强制仅关键词模式 |
## Claude Desktop / Claude Code
全局安装后,将CLI用作MCP_stdio命令:
```json
{
"mcpServers": {
"local-rag": {
"command": "local-rag-mcp",
"env": {
"LOCAL_RAG_DB": "/绝对路径/to/rag.db"
}
}
}
}
```
## Codex / VS Code MCP客户端
使用相同的命令:
```text
local-rag-mcp
```
服务器默认使用stdio,因此它适用于启动本地工具的MCP主机。
## local-rag-mcp 与 claude-memory
| 包 | 用途 |
|---------|---------|
| `claude-memory` | 持久项目内存、规则、决策、偏好;仅关键词FTS5 |
| `@gilligan-tech/local-rag-mcp` | 文档/块知识库,具有混合关键词/向量检索 |
它们是兄弟,而不是替代品。将持久的代理指令保存在 `claude-memory` 中;将较大的参考文档、记录、规格和知识库材料放在 `local-rag-mcp` 中。
## 开发
```bash
npm install
npm run build
npm run lint
npm test
npm pack
```
## 许可证
Apache-2.0。版权归Gilligan Tech Inc.所有。