返回 MCP 目录
public公开dns本地运行

mcp-server-lancedb

一个基于LanceDB向量数据库的MCP服务器实现,提供语义记忆存储和检索功能。

article

README

🚀 mcp-lance-db:LanceDB 的 MCP 服务器

模型上下文协议(MCP) 是一个开放协议,它让大语言模型(LLM)应用程序与外部数据源和工具实现无缝集成。无论你是在构建由 AI 驱动的集成开发环境(IDE)、增强聊天界面,还是创建自定义 AI 工作流,MCP 都提供了一种标准化方式,用于连接 LLM 与其所需的上下文。

此仓库展示了如何为 LanceDB(一个嵌入式向量数据库)创建一个 MCP 服务器。

🚀 快速开始

在 Claude Desktop 上运行

  • MacOS 系统:配置文件路径为 ~/Library/Application\ 支持/Claude/claude_desktop_config.json
  • Windows 系统:配置文件路径为 %APPDATA%/Claude/claude_desktop_config.json%

配置内容如下:

{
  "lancedb": {
    "command": "uvx",
    "args": [
      "mcp-lance-db"
    ]
  }
}

✨ 主要特性

这是一个基础的模型上下文协议服务器,用于在 LanceDB 向量数据库中存储和检索记忆。它充当语义记忆层,允许存储文本及其嵌入向量,以便后续检索。

🔧 技术细节

组件 - 工具

该服务器实现了两个工具:

  • add - memory:向向量数据库添加新的记忆。
    • 接收一个必填的字符串参数 "content"
    • 存储文本,以便以后通过其嵌入向量进行检索。
  • search - memories:检索语义上相似的记忆。
    • 接收一个必填的字符串参数 "query"
    • 有可选的 "limit" 参数,用于控制结果数量(默认值为 5)。
    • 返回与查询在语义上相似度排名的记忆。
    • 更新服务器状态并通知客户端资源更改。

配置

该服务器使用的配置如下: | 属性 | 详情 | | ---- | ---- | | 数据库路径 | "./lancedb" | | 收藏集名称 | "memories" | | 嵌入提供程序 | "sentence - transformers" | | 模型 | "BAAI/bge - small - en - v1.5" | | 设备 | "cpu" | | 相似度阈值 | 0.7(距离范围的上限) |

💻 使用示例

开发 - 构建和发布

要准备分发包,可按以下步骤操作:

基础用法

  1. 同步依赖项并更新锁定文件:
uv sync

高级用法

  1. 构建包发行版本:
# 构建包发行版本,会在 dist/ 目录下创建源代码和轮格式发行版
uv build
  1. 发布到 PyPI:
# 发布到 PyPI,需要通过环境变量或命令行参数设置 PyPI 资质信息
uv publish

注意:您需要通过环境变量或命令行参数设置 PyPI 资质信息:

  • 令牌:--tokenUV_PUBLISH_TOKEN
  • 或者用户名/密码:--username/UV_PUBLISH_USERNAME--password/UV_PUBLISH_PASSWORD

开发 - 调试

由于 MCP 服务器通过标准输入输出运行,调试可能具有挑战性。为了获得最佳的调试体验,我们强烈推荐使用 MCP Inspector

基础用法

您可以通过以下命令启动 MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory $(PWD) run mcp-lance-db

启动后,Inspector 会显示一个 URL,您可以将其在浏览器中打开以开始调试。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端