Lance模型上下文协议服务器
一种模型上下文协议(MCP)服务器,使大型语言模型(LLM)能够通过代理式RAG和LanceDB中的混合搜索直接与磁盘上的文档进行交互。可以就整个数据集或特定文档向大型语言模型提问。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"lancedb": {
"args": [
"PATH_TO_LANCE_MCP/dist/index.js",
"PATH_TO_LOCAL_INDEX_DIR"
],
"command": "node"
}
}
}
服务介绍
🗄️ LanceDB MCP 服务器用于 LLM
一个 Model Context Protocol (MCP) 服务器,使 LLM 能够通过 LanceDB 中的代理 RAG 和混合搜索直接与其磁盘上的文档进行交互。可以向 LLM 提问关于整个数据集或特定文档的问题。
✨ 特性
- 🔍 由 LanceDB 支持的无服务器向量索引和文档摘要目录。
- 📊 高效利用 LLM 令牌。LLM 本身在需要时查找所需内容。
- 📈 安全性。索引存储在本地,因此在使用本地 LLM 时不会将数据传输到云端。
🚀 快速开始
要开始使用,请创建一个本地目录来存储索引,并将此配置添加到您的 Claude Desktop 配置文件中:
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"lancedb": {
"command": "npx",
"args": [
"lance-mcp",
"PATH_TO_LOCAL_INDEX_DIR"
]
}
}
}
前提条件
- Node.js 18+
- npx
- MCP 客户端(例如 Claude Desktop 应用程序)
- 已安装的摘要和嵌入模型(参见 config.ts - 默认情况下我们使用 Ollama 模型)
ollama pull snowflake-arctic-embed2ollama pull llama3.1:8b
演示
本地开发模式:
{
"mcpServers": {
"lancedb": {
"command": "node",
"args": [
"PATH_TO_LANCE_MCP/dist/index.js",
"PATH_TO_LOCAL_INDEX_DIR"
]
}
}
}
使用 npm run build 构建项目。
使用 npx @modelcontextprotocol/inspector dist/index.js PATH_TO_LOCAL_INDEX_DIR 运行 MCP 工具检查器。
种子数据
种子脚本会在 LanceDB 中创建两个表 - 一个用于文档摘要目录,另一个用于向量化文档片段。
要运行种子脚本,请使用以下命令:
npm run seed -- --dbpath <PATH_TO_LOCAL_INDEX_DIR> --filesdir <PATH_TO_DOCS>
您可以使用 docs/ 目录中的示例数据。请随意调整 config.ts 文件中的默认摘要和嵌入模型。如果您需要重新创建索引,只需使用 --overwrite 选项重新运行种子脚本即可。
目录
- 文档摘要
- 元数据
片段
- 向量化文档片段
- 元数据
🎯 示例提示
尝试使用这些提示与 Claude 探索功能:
"What documents do we have in the catalog?"
"Why is the US healthcare system so broken?"
📝 可用工具
服务器提供以下工具以与索引进行交互:
目录工具
catalog_search: 在目录中搜索相关文档
片段工具
chunks_search: 根据目录中的特定文档查找相关片段all_chunks_search: 从所有已知文档中查找相关片段
📜 许可证
该项目根据 MIT 许可证授权 - 详情请参阅 LICENSE 文件。