Claude RAG MCP服务器
用于克劳德代码的MCP服务器,具有RAG(检索增强生成)功能。自动保存和索引您的编码会话以进行语义搜索。
特性
- 语义搜索 -通过意义而不仅仅是关键字找到解决方案
- 自动分块 -具有重叠功能的智能文本分割
- 项目隔离 -按项目组织的数据
- 灵活的存储 -Qdrant(向量)+SQLite(元数据)
- 多个嵌入提供程序 -OpenAI或Ollama(当地)
- 知识类型 -解决方案、命令、代码、注释、错误修复、架构
快速开始
1.先决条件
- Node.js 20+
- Docker(适用于Qdrant)
- OpenAI API密钥(或用于本地嵌入的Ollama)
2.启动Qdrant
cd docker
docker-compose up -d3.安装和构建
npm install
npm run build4.配置克劳德代码
增添 ~/.claude/settings.json:
{
"mcpServers": {
"rag": {
"command": "node",
"args": ["/path/to/claude-rag-mcp/dist/index.js"],
"env": {
"EMBEDDING_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-your-key",
"QDRANT_URL": "http://localhost:6333"
}
}
}
}5.重新启动克劳德代码
用法
保存知识
rag_save: Save a solution about XYZ
- content: "To fix the simulator issue, run xcrun simctl boot "
- type: "solution"
- project_id: "confyday-ios"
- tags: ["xcode", "simulator"]搜索知识
rag_search: Find solutions about simulators
- query: "how to fix simulator"
- project_id: "confyday-ios"输入序列
rag_list: Show all saved knowledge
- project_id: "confyday-ios"
- type: "solution"删除条目
rag_delete: Remove entry
- id: "uuid-here"工具参考
| 工具 | 说明 |
|---|---|
rag_save | 保存知识(解决方案、命令、代码、注释、错误修复、架构) |
rag_search | 带过滤器的语义搜索 |
rag_list | 列出带分页的条目 |
rag_delete | 按ID删除 |
配置
环境变量
# Embedding Provider: openai | ollama
EMBEDDING_PROVIDER=openai
# OpenAI
OPENAI_API_KEY=sk-...
EMBEDDING_MODEL=text-embedding-3-small # or text-embedding-3-large
EMBEDDING_DIMENSIONS=1536 # 1536 for small, 3072 for large
# Ollama (local, free)
OLLAMA_URL=http://localhost:11434
OLLAMA_MODEL=nomic-embed-text
# Qdrant
QDRANT_URL=http://localhost:6333
QDRANT_COLLECTION=claude_rag
# SQLite
SQLITE_PATH=~/.claude-rag/data.db
# Chunking
CHUNK_SIZE=512
CHUNK_OVERLAP=50
# Search
DEFAULT_SEARCH_LIMIT=10
MIN_SCORE_THRESHOLD=0.5
# Logging
LOG_LEVEL=info # debug | info | warn | error使用Ollama(免费,本地)
- 安装Ollama:https://ollama.ai
- 拉式嵌入模型:
ollama pull nomic-embed-text- 设置环境:
EMBEDDING_PROVIDER=ollama
OLLAMA_URL=http://localhost:11434
OLLAMA_MODEL=nomic-embed-text建筑
┌─────────────────────────────────────────┐
│ Claude Code │
│ rag_save() rag_search() rag_list() │
└──────────────────┬──────────────────────┘
│ stdio (JSON-RPC)
┌──────────────────▼──────────────────────┐
│ MCP RAG Server │
│ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│ │ Chunker │ │ Embedder │ │ Tools │ │
│ └──────────┘ └──────────┘ └────────┘ │
└──────────────────┬──────────────────────┘
┌──────────┴──────────┐
│ │
┌───────▼───────┐ ┌───────▼───────┐
│ Qdrant │ │ SQLite │
│ (vectors) │ │ (metadata) │
└───────────────┘ └───────────────┘发展
# Watch mode
npm run dev
# Run tests
npm test
# Lint
npm run lint
# Format
npm run format成本估算
| 嵌入模型 | 每1M代币的成本 |
|---|---|
| 文本嵌入3-small | 0.02美元 |
| 文本嵌入-3大 | 0.13美元 |
| Ollama(当地) | 免费 |
对于典型使用(约10万个代币/月): \<0.01美元/月 OpenAI很小。
许可证
麻省理工学院
