LLM文档交互服务器

LanceDB MCP服务器是一个使LLM能够通过代理RAG和混合搜索直接与本地文档交互的服务,适用于本地LLM的数据查询和分析场景。

  • by adiom-data
  • TypeScript
  • 本地部署
  • 78 星标
  • 更新于
在 GitHub 查看 adiom-data/lance-mcp

使用说明

🗄️ 用于LLMS的LanceDB MCP服务器

一种模型上下文协议(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 <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许可证获得许可-请参阅 许可证 文件以获取详细信息。