关于 mcp-lance-db: A LanceDB MCP server
mcp-lance-db 是一个示例 MCP 服务,使用嵌入式 LanceDB 向量数据库存储和检索语义记忆,适用于需要保存文本并按含义查找相关内容的应用。
主要功能
- 01将文本保存为向量记忆
- 02按语义相似度搜索记忆
- 03设置搜索结果数量上限
- 04通知客户端资源变更
适用场景
- 01保存文本以便日后按含义检索
- 02根据自然语言查询查找相关记忆
MCP 相关
向 MCP 客户端提供 add-memory 和 search-memories 工具。搜索结果按语义相似度排序,服务还会通知客户端资源变更。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-lance-db:LanceDB MCP 服务
模型上下文协议(MCP)是一种开放协议,可让大模型应用与外部数据源和工具无缝集成。无论你是在构建 AI 驱动的 IDE、增强聊天界面,还是创建自定义 AI 工作流,MCP 都提供了一种标准化方式,将大模型与其所需的上下文连接起来。
本仓库示例展示了如何为嵌入式向量数据库 LanceDB 创建 MCP 服务。
概述
一个基础的模型上下文协议服务,用于在 LanceDB 向量数据库中存储和检索记忆。 它充当语义记忆层,可存储带有向量嵌入的文本,以供后续检索。
组件
工具
该服务实现了两个工具:
-
add-memory:向向量数据库添加新记忆
- 接受必填的字符串参数“content”
- 存储文本及其向量嵌入,以供后续检索
-
search-memories:检索语义相似的记忆
- 接受必填的字符串参数“query”
- 可选的“limit”参数,用于控制结果数量(默认值: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"
]
}
}
开发
构建和发布
准备分发软件包:
- 同步依赖项并更新锁定文件:
uv sync
- 构建软件包分发文件:
uv build
这将在 dist/ 目录中创建源代码分发包和 wheel 分发包。
- 发布到 PyPI:
uv publish
注意:你需要通过环境变量或命令行标志设置 PyPI 凭据:
- Token:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务通过 stdio 运行,调试可能颇具挑战。为获得最佳调试体验,我们强烈建议使用 MCP Inspector。
你可以通过 npm 使用以下命令启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory $(PWD) run mcp-lance-db
启动后,Inspector 会显示一个 URL,你可以在浏览器中访问该 URL 开始调试。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。