本项目是基于Model Context Protocol (MCP) 的服务器实现,旨在允许大型语言模型(LLM)客户端(如Claude Desktop, Cursor等)通过标准化的方式访问和操作百度云向量数据库。它将数据库的管理和数据操作功能封装为LLM可调用的工具(Tools)。

主要功能点

  • 数据库管理: 列出、创建和切换数据库。
  • 表和数据操作: 列出、描述表的Schema和统计信息;支持按条件查询和删除数据。
  • 索引管理: 创建、重建、删除和描述表的向量索引。
  • 向量和全文检索: 在表中执行向量相似性搜索和全文检索(BM25)。

安装步骤

  1. 前提条件: 确保已安装 Python 3.10 或更高版本。
  2. 安装 uv: 如果没有安装 uv,请先安装它。'uv' 是一个快速的 Python 包安装器和执行器。
    pip install uv
  3. 克隆仓库: 将本代码仓库克隆到本地。
    git clone https://github.com/baidu/mochow-mcp-server-python.git
    cd mochow-mcp-server-python
  4. 配置数据库连接:
    • 您可以通过环境变量 '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与计算