🗄️ 用于LLMS的LanceDB MCP服务器
](https://nodejs.org/en/) 
一种模型上下文协议(MCP)服务器,使LLM能够通过LanceDB中的代理RAG和混合搜索直接与磁盘上的文档交互。向LLM询问有关整个数据集或特定文档的问题。
✨ 特性
- 🔍 LanceDB支持无服务器矢量索引和文档摘要目录。
- 📊 有效使用LLM代币。LLM本身会在需要时查找所需内容。
- 📈 安全。索引存储在本地,因此使用本地LLM时不会将数据传输到云端。
🚀 快速开始
首先,创建一个本地目录来存储索引,并将此配置添加到您的Claude Desktop配置文件中:
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json\ 视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"lancedb": {
"command": "npx",
"args": [
"lance-mcp",
"PATH_TO_LOCAL_INDEX_DIR"
]
}
}
}先决条件
- Node.js 18+
- 新巴拿马型船舶
- MCP客户端(例如克劳德桌面应用程序)
- 汇总和嵌入已安装的模型(请参阅config.ts-默认情况下我们使用Ollama模型)
- ollama pull snowflake-arctic-embed2 - ollama 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
--filesdir
您可以使用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许可证获得许可-请参阅 许可证 文件以获取详细信息。
