内容
# 🗄️ LanceDB MCP 服务器用于 LLMS
[](https://nodejs.org/en/)
[](https://opensource.org/licenses/MIT)
一个模型上下文协议(MCP)服务器,使 LLMs 能够直接与磁盘上的文档交互,通过代理 RAG 和混合搜索在 LanceDB 中。向 LLMs 提问关于整个数据集或特定文档的问题。
## ✨ 功能
- 🔍 LanceDB 支持的无服务器向量索引和文档摘要目录。
- 📊 有效使用 LLM 代币。LLM 本身在需要时查找所需内容。
- 📈 安全性。索引存储在本地,因此在使用本地 LLM 时不会将数据传输到云端。
## 🚀 快速开始
要开始使用,请在本地创建一个目录来存储索引,并将此配置添加到您的 Claude Desktop 配置文件中:
**MacOS**: `~/Library/Application\ Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"lancedb": {
"command": "npx",
"args": [
"lance-mcp",
"本地索引目录路径"
]
}
}
}
```
### 先决条件
- Node.js 18+
- npx
- MCP 客户端(例如 Claude Desktop App)
- 安装了摘要和嵌入模型(参见 config.ts - 默认情况下,我们使用 Ollama 模型)
- `ollama pull snowflake-arctic-embed2`
- `ollama pull llama3.1:8b`
### 演示
<img src="https://github.com/user-attachments/assets/90bfdea9-9edd-4cf6-bb04-94c9c84e4825" width="50%">
#### 本地开发模式:
```json
{
"mcpServers": {
"lancedb": {
"command": "node",
"args": [
"LANCE_MCP/dist/index.js 路径",
"本地索引目录路径"
]
}
}
}
```
使用 `npm run build` 构建项目。
使用 `npx @modelcontextprotocol/inspector dist/index.js 本地索引目录路径` 运行 MCP 工具检查器。
### 种子数据
种子脚本在 LanceDB 中创建两个表 - 一个用于文档摘要目录,另一个用于向量化文档块。
要运行种子脚本,请使用以下命令:
```console
npm run seed -- --dbpath <本地索引目录路径> --filesdir <文档路径>
```
您可以使用 docs/ 目录中的示例数据。请随意调整 config.ts 文件中的默认摘要和嵌入模型。如果需要重新创建索引,只需使用 `--overwrite` 选项重新运行种子脚本。
#### 目录
- 文档摘要
- 元数据
#### 块
- 向量化文档块
- 元数据
## 🎯 示例提示
尝试使用这些提示与 Claude 交互以探索功能:
```plaintext
"我们目录中有哪些文档?"
"为什么美国的医疗保健系统如此不堪重负?"
```
## 📝 可用工具
服务器提供以下工具用于与索引交互:
### 目录工具
- `catalog_search`: 在目录中搜索相关文档
### 块工具
- `chunks_search`: 根据目录中的特定文档查找相关块
- `all_chunks_search`: 从所有已知文档中查找相关块
## 📜 许可证
该项目根据 MIT 许可证授权 - 有关详细信息,请参见 [LICENSE](LICENSE) 文件。