使用说明
MCP-RAG
克劳德桌面版个人笔记本LM
Claude Desktop的通用RAG(检索增强生成)MCP服务器。通过CLI索引文档,在Claude Desktop中使用0%幻觉搜索它们。
什么是MCP-RAG?
把它想象成 Claude桌面版NotebookLM:
- 📚 为所有文档建立索引:PDF、Word、PowerPoint、Excel、,한글,TXT,MD
- 🔍 自然语言搜索:在Claude Desktop中提问
- ✅ 0%幻觉:答案仅基于您的文件
- 💻 100%本地:所有数据都保留在您的计算机上(ChromaDB)
- 🎯 简单的工作流程:用于索引的CLI→ 克劳德桌面搜索
建筑
┌─────────────────────┐
│ Your Documents │
│ (PDF, DOCX, etc) │
└──────────┬──────────┘
│
▼
[CLI: npm run cli add]
│
▼
┌─────────────────────┐
│ ChromaDB Server │ ◄─── Vector embeddings
│ (localhost:8000) │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ MCP-RAG Server │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ Claude Desktop │ ◄─── You ask questions here!
└─────────────────────┘
两部分系统:
- 命令行界面 =文档管理(添加、删除、列表)
- 克劳德桌面 =搜索和问答
快速开始
1.安装
git clone https://github.com/seanshin0214/mcp-rag.git
cd mcp-rag
npm install
pip install chromadb
2.启动ChromaDB服务器
在单独的终端中保持此运行:
chroma run --host localhost --port 8000
3.添加文档(CLI)
# Add single document
npm run cli add school "path/to/regulations.pdf"
# Add multiple documents
npm run cli add research "paper1.pdf"
npm run cli add research "paper2.docx"
npm run cli add work "handbook.pptx"
支持的格式:
- 文档:PDF、DOCX、HWP、TXT、MD
- 演示文稿:PPTX
- 电子表格:XLSX、XLS
4.配置克劳德桌面
窗户: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
✨ 选项1:自动启动ChromaDB(推荐)
{
"mcpServers": {
"mcp-rag": {
"command": "node",
"args": ["/absolute/path/to/mcp-rag/start-with-chroma.js"]
}
}
}
这会在启动MCP-RAG之前自动启动ChromaDB!
选项2:手动启动ChromaDB
{
"mcpServers": {
"mcp-rag": {
"command": "node",
"args": ["/absolute/path/to/mcp-rag/src/index.js"]
}
}
}
您需要手动运行 chroma run --host localhost --port 8000 在开始之前。
重要提示: 使用您的实际安装路径!
5.重新启动克劳德桌面
6.提问!
在克劳德桌面中:
"What does the school collection say about attendance?"
"Search the research collection for methodology"
"Show me all my collections"
CLI命令
# Add document
npm run cli add <collection> <file> [-d "description"]
# List all collections
npm run cli list
# Get collection info
npm run cli info <collection>
# Search test
npm run cli search <collection> "query"
# Delete collection
npm run cli delete <collection>
例子
# Add with description
npm run cli add school "regulations.pdf" -d "School regulations 2024"
# Add multiple files (PowerShell)
Get-ChildItem "*.docx" | ForEach-Object {
npm run cli add MyCollection $_.FullName
}
# Check what's indexed
npm run cli list
npm run cli info school
MCP工具(克劳德桌面版)
当您在Claude Desktop中提问时,会自动使用以下工具:
| 工具 | 说明 |
|---|---|
search_documents |
在特定收藏或所有收藏中搜索 |
list_collections |
列出所有可用收藏 |
get_collection_info |
获取收藏的详细信息 |
注: 文档添加仅限于CLI,在Claude Desktop中不可用。
运作原理
索引(CLI)
1. Read file (PDF/DOCX/PPTX/etc)
2. Extract text
3. Split into 500-token chunks (50-token overlap)
4. Generate embeddings (ChromaDB)
5. Store in collection
搜索(克劳德桌面)
1. You ask: "What's the attendance policy?"
2. MCP-RAG searches ChromaDB
3. Returns top 5 most relevant chunks
4. Claude answers using ONLY those chunks
用例
📚 学生
npm run cli add math "calculus-textbook.pdf"
npm run cli add physics "lecture-notes.docx"
→ “解释我数学收藏中的导数概念”
🏢 专业人士
npm run cli add company "employee-handbook.pdf"
npm run cli add project "requirements.docx"
→ “我们的假期政策是什么?”
🔬 研究人员
npm run cli add literature "papers/*.pdf"
npm run cli add notes "research-notes.md"
→ “从文献集中总结方法论”
特性
- ✅ 多收藏支持 -按主题组织
- ✅ 语义搜索 -ChromaDB矢量嵌入
- ✅ 消息来源 -查看哪个文档/块
- ✅ 相关性评分 -知道这场比赛有多自信
- ✅ 多种文件格式 -PDF、DOCX、PPTX、XLSX、HWP、TXT、MD
- ✅ 100%本地 -没有云,都在你的机器上
- ✅ 0%幻觉 -仅基于文档的答案
比较
| 功能 | 笔记本LM | MCP-RAG |
|---|---|---|
| 平台 | 谷歌云 | 本地 |
| 人工智能模型 | 双子座 | 克劳德 |
| 隐私 | 云 | 100%本地 |
| 多收藏 | ❌ | ✅ |
| CLI | ❌ | ✅ |
| 费用 | 免费(有限) | 免费(无限) |
故障排除
ChromaDB连接错误
问题: Cannot connect to ChromaDB
解决方案:
chroma run --host localhost --port 8000
保持这个终端打开!
克劳德桌面:MCP服务器未显示
- 检查
claude_desktop_config.json语法 - 使用绝对路径(非相对路径)
- 完全重新启动克劳德桌面
- 检查ChromaDB是否正在运行
没有搜索结果
# Verify documents are indexed
npm run cli list
npm run cli info <collection>
# Re-index if needed
npm run cli add <collection> <file>
高级
批量添加文件
PowerShell:
Get-ChildItem "C:\docs\*.pdf" | ForEach-Object {
npm run cli add MyCollection $_.FullName
}
猛击:
for f in /path/to/docs/*.pdf; do
npm run cli add MyCollection "$f"
done
自定义块大小
编辑 src/indexer.js:
const CHUNK_SIZE = 500; // Tokens per chunk
const CHUNK_OVERLAP = 50; // Overlap between chunks
更大的块=更多的上下文,更少的块 更小的块=更精确,更多的块
项目结构
mcp-rag/
├── src/
│ ├── index.js # MCP server
│ ├── cli.js # CLI tool
│ └── indexer.js # Document processing
├── chroma/ # ChromaDB data (auto-created)
├── package.json
├── README.md
├── QUICK_START.md
└── HOW_TO_USE.md
需求
- Node.js 18+
- python 3.8+(适用于ChromaDB)
- 克劳德桌面 (最新版本)
贡献
欢迎投稿!这是一个通用的工具,可以让许多用户受益。
许可证
MIT许可证-请参阅 许可证
鸣谢
内置:
- 模型上下文协议(MCP) -人类学
- ChromaDB -矢量数据库
- pdf解析 -PDF提取
- 猛犸 -DOCX提取
- office解析器 -PPTX提取
- 工作簿 -Excel提取
- 节点hwp -韩文extraction
MCP-RAG -你的文件,克劳德的情报,零幻觉。
