本项目是基于Model Context Protocol (MCP) 的服务器实现,旨在允许大型语言模型(LLM)客户端(如Claude Desktop, Cursor等)通过标准化的方式访问和操作百度云向量数据库。它将数据库的管理和数据操作功能封装为LLM可调用的工具(Tools)。
主要功能点
- 数据库管理: 列出、创建和切换数据库。
- 表和数据操作: 列出、描述表的Schema和统计信息;支持按条件查询和删除数据。
- 索引管理: 创建、重建、删除和描述表的向量索引。
- 向量和全文检索: 在表中执行向量相似性搜索和全文检索(BM25)。
安装步骤
- 前提条件: 确保已安装 Python 3.10 或更高版本。
- 安装 uv: 如果没有安装 uv,请先安装它。'uv' 是一个快速的 Python 包安装器和执行器。
pip install uv - 克隆仓库: 将本代码仓库克隆到本地。
git clone https://github.com/baidu/mochow-mcp-server-python.git cd mochow-mcp-server-python - 配置数据库连接:
- 您可以通过环境变量 'MOCHOW_ENDPOINT' 和 'MOCHOW_API_KEY' 配置百度云向量数据库实例的连接信息。在项目根目录下的 '.env' 文件中设置这些变量,或者在启动命令中作为参数提供。
- 或者在启动时使用 '--endpoint' 和 '--api-key' 参数指定连接信息。
服务器配置(在MCP客户端中)
MCP客户端(如Claude Desktop, Cursor等)需要配置如何启动和连接到此MCP服务器。通常,这涉及编辑客户端的配置文件,添加一个新的MCP服务器条目。
您需要在客户端的配置文件中添加一个类似以下的结构,指示客户端如何通过命令行启动此服务器:
{ "mcpServers": { "your-server-name": { // 您可以自定义一个服务器名称,例如 "mochow-vdb" "command": "/path/to/uv", // 指向 uv 可执行文件的绝对路径 "args": [ "--directory", "/path/to/mochow-mcp-server-python/src/mochow_mcp_server", // 指向本项目 src/mochow_mcp_server 目录的绝对路径 "run", "server.py", // 以下参数可选,如果未设置环境变量或需要在客户端配置中指定: "--endpoint", "您的百度云向量数据库实例URI", // 替换为实际的数据库实例URI "--api-key", "您的API密钥" // 替换为实际的API密钥 ] } } }
请将上述 '/path/to/...' 替换为您本地实际的路径,并将数据库连接信息替换为您的。
基本使用方法
配置完成后,重启您的MCP客户端(如Claude Desktop或Cursor)。客户端将会识别并尝试启动配置的百度向量数据库MCP服务器。
您现在可以在与LLM的交互中提及与百度云向量数据库相关的操作。LLM客户端(如果集成了对MCP工具的调用能力)会识别您的意图,并可能调用MCP服务器提供的工具来完成任务,例如:
- 询问数据库中有多少个数据库(可能调用 'list_databases' 工具)。
- 要求查看某个表的详细结构(可能调用 'use_database' 和 'describe_table' 工具)。
- 要求在特定表中执行向量搜索(可能调用 'use_database' 和 'vector_search' 工具)。
您与LLM的交互将是自然语言,LLM负责理解并选择调用哪个工具,并将工具执行的结果呈现给您。
请参考您使用的具体MCP客户端的文档,了解如何在聊天中触发工具调用。
信息
分类
AI与计算