LanceDB MCP Server 使用说明

项目简介

LanceDB MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它将 LanceDB 向量数据库的功能以 MCP 协议的形式暴露出来,使得 LLM 客户端可以通过标准的 MCP 接口,方便地利用 LanceDB 进行向量数据的存储、检索和管理,为 LLM 应用提供高效的上下文信息支持,尤其适用于需要处理和搜索向量嵌入的应用场景。

主要功能点

  • 向量数据存储与管理: 支持创建和管理向量数据库表,用于存储向量数据及其相关的元数据(例如文本描述)。
  • 高效相似性搜索: 提供基于向量相似度的快速搜索功能,可以根据查询向量找到数据库中相似的向量数据。
  • 资源抽象: 将 LanceDB 的表抽象为 MCP 的资源 ('table://{name}'),方便客户端通过资源路径访问数据。
  • 工具化操作: 提供创建表、添加向量、搜索向量等工具,LLM 客户端可以通过调用这些工具来操作 LanceDB 数据库。
  • 标准 MCP 协议: 采用 JSON-RPC over Stdio 通信,符合 MCP 标准,易于与各种 MCP 客户端集成。

安装步骤

  1. 克隆仓库
    git clone https://github.com/RyanLisse/lancedb_mcp.git
    cd lancedb_mcp
  2. 安装依赖 推荐使用 'uv' 包管理器安装项目依赖:
    uv pip install -e .
    或者使用 'pip':
    pip install -e .

服务器配置

要使 MCP 客户端(如 Claude Desktop)能够连接到 LanceDB MCP Server,需要在客户端的配置文件中添加服务器配置信息。以下是一个示例 'claude_desktop_config.json' 中的配置片段,展示了如何配置 LanceDB MCP Server:

"mcpServers": {
  "lancedb": {
    "command": "uv",
    "args": [
      "run",
      "python",
      "-m",
      "lancedb_mcp.server",
      "--db-path",  // LanceDB 数据库存储路径参数
      "~/.lancedb" // 默认数据库路径,可以修改为其他路径
    ]
  }
}

配置参数说明:

  • '"lancedb"': 服务器名称,可以自定义,用于在客户端中标识该服务器连接。
  • '"command": "uv"': 启动服务器的命令,这里使用 'uv run' 来运行 Python 模块。如果使用 'pip' 安装,并且 'python' 命令指向正确的 Python 环境,也可以将 'command' 修改为 '"python"'。
  • '"args"': 启动命令的参数列表,包括:
    • '"run"': 'uv run' 的子命令,表示运行 Python 模块。
    • '"python"': 实际执行的 Python 解释器。
    • '"-m"': Python 选项,表示将模块作为脚本运行。
    • '"lancedb_mcp.server"': 要运行的 Python 模块,即 LanceDB MCP Server 的入口 'server.py'。
    • '"--db-path"': LanceDB MCP Server 接收的参数,用于指定 LanceDB 数据库的存储路径。
    • '"~/.lancedb"': '--db-path' 参数的值,表示数据库存储在用户家目录下的 '.lancedb' 文件夹中。您可以根据需要修改此路径。

基本使用方法

  1. 启动服务器: 配置好客户端后,客户端通常会自动启动配置的 MCP 服务器。或者您可以手动在终端中执行 'uv run python -m lancedb_mcp.server --db-path ~/.lancedb' (或相应的 'pip' 命令) 来启动服务器。
  2. 客户端连接: 在 MCP 客户端中配置并连接到名为 '"lancedb"' 的服务器。
  3. 使用工具: 客户端连接成功后,可以列出服务器提供的工具 ('list_tools'),例如:
    • 'create_table': 创建新的向量表,需要提供表名和向量维度等配置信息。
    • 'add_vector': 向指定的表中添加向量数据,需要提供表名、向量数据和相关的文本元数据。
    • 'search_vectors': 在指定的表中搜索相似向量,需要提供表名、查询向量和搜索数量限制。
  4. 调用工具: 通过客户端界面或 API 调用相应的工具,并传入所需的参数,即可利用 LanceDB MCP Server 提供的向量数据库功能。例如,调用 'create_table' 工具创建一个名为 'my_table',维度为 768 的向量表。

通过以上步骤,您可以使用 LanceDB MCP Server 为 LLM 应用提供强大的向量数据管理和检索能力。

信息

分类

数据库与文件