返回市场
MCP服务器LanceDB

MCP服务器LanceDB

作者:kyryl-opens-ml8 星标更新:2025-02-26

项目介绍

mcp-lance-db: 一个用于LanceDB的MCP服务器

模型上下文协议(MCP) 是一个开放协议,它使大型语言模型(LLM)应用程序与外部数据源和工具之间的无缝集成成为可能。无论您是在构建AI驱动的IDE,增强聊天界面,还是创建自定义AI工作流,MCP都提供了一种标准化的方法来连接LLMs及其所需的上下文。

此仓库是一个如何为嵌入式向量数据库LanceDB创建MCP服务器的例子。

概览

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

组件

工具

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

  • 添加记忆:向向量数据库添加新的记忆

    • 接受“内容”作为必需的字符串参数
    • 存储带有向量嵌入的文本以供以后检索
  • 搜索记忆:检索语义相似的记忆

    • 接受“查询”作为必需的字符串参数
    • 可选的“限制”参数用于控制结果数量(默认值:5)
    • 返回按与查询的语义相似性排序的记忆
    • 更新服务器状态并通知客户端资源变化

配置

该服务器使用以下配置:

  • 数据库路径:"./lancedb"
  • 集合名称:"memories"
  • 嵌入提供商:"sentence-transformers"
  • 模型:"BAAI/bge-small-en-v1.5"
  • 设备:"cpu"
  • 相似度阈值:0.7(距离范围的上限)

快速开始

Claude Desktop

在MacOS上:~/Library/Application\ Support/Claude/claude_desktop_config.json 在Windows上:%APPDATA%/Claude/claude_desktop_config.json

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

开发

构建和发布

为了准备分发的包:

  1. 同步依赖项并更新锁文件:
uv sync
  1. 构建包分布:
uv build

这将在dist/目录下创建源码和wheel分布。

  1. 发布到PyPI:
uv publish

注意:您需要通过环境变量或命令标志设置PyPI凭证:

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

调试

由于MCP服务器通过标准输入输出运行,调试可能会很困难。为了获得最佳的调试体验,我们强烈建议使用MCP Inspector

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

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

启动后,Inspector会显示一个可以在浏览器中访问的URL以开始调试。