Skip to main content
Glama

Baidu Vector Database MCP Server

Official
by baidu
README.md7.03 kB
# 百度向量数据库MCP Server 本代码仓库包含一个 MCP 服务器,它提供对[百度云向量数据库](https://cloud.baidu.com/doc/VDB/index.html)功能的访问。 ## 前提条件 在使用百度云向量数据库MCP Server之前,请确保你具备以下条件: 1. Python 3.10 或更高版本 2. 已安装[uv](https://github.com/astral-sh/uv)用于运行MCP Server ## 使用方式 使用百度云向量数据库MCP Server的推荐方式是通过`uv`运行,而无需进行安装。 克隆代码仓库,执行以下命令: ``` git clone https://github.com/baidu/mochow-mcp-server-python.git cd mochow-mcp-server-python ``` 随后,你可以直接通过`uv`运行,其中`endpoint`和`api-key`根据实际需要修改: ``` uv run src/mochow_mcp_server/server.py uv run src/mochow_mcp_server/server.py --endpoint http://127.0.0.1:8287 --api-key mochow ``` 或者,在`src/mochow_mcp_server/`目录中修改`.env`文件来设置环境变量,再使用以下命令运行服务器: ``` uv run src/mochow_mcp_server/server.py ``` ## 支持的应用程序 百度云向量数据库MCP Server可以与各种支持模型上下文协议的大语言模型应用程序配合使用: - **Claude Desktop**:Anthropic 公司为 Claude 开发的桌面应用程序 - **Cursor**:支持 MCP 的人工智能代码编辑器 - **自定义 MCP 客户端**:任何实现 MCP 客户端规范的应用程序 ## 在Claude Desktop中的使用方式 从[https://claude.ai](https://claude.ai/download)下载 Claude Desktop。 打开 Claude Desktop 的配置文件,在 macOS 系统中,路径为`~/Library/Application Support/Claude/claude_desktop_config.json`。 添加以下配置: ```JSON { "mcpServers": { "mochow": { "command": "/PATH/TO/uv", "args": [ "--directory", "/path/to/mochow-mcp-server-python/src/mochow_mcp_server", "run", "server.py", "--endpoint", "http://127.0.0.1:8287", "--api-key", "mochow" ] } } } ``` 重启 Claude Desktop。 ## 在 Cursor 中的使用方法 [Cursor 也支持 MCP](https://docs.cursor.com/context/model-context-protocol)工具。你可以通过两种方式将百度MCP Server添加到Cursor中: 依次打开`Cursor设置`>`功能`>`MCP`,点击`+添加新的MCP服务器`按钮,在`mcp.json`中添加以下配置: ```JSON { "mcpServers": { "mochow": { "command": "/PATH/TO/uv", "args": [ "--directory", "/path/to/mochow-mcp-server-python/src/mochow_mcp_server", "run", "server.py", "--endpoint", "http://127.0.0.1:8287", "--api-key", "mochow" ] } } } ``` 重启 Cursor 或重新加载窗口。 ## 可用工具 百度云向量数据库MCP Server提供以下工具: ### Database操作 - `list_databases`: 列出数据库中所有的Database - `create_database`: 创建一个新的Database - 参数: - `database_name`: 待创建的Database名称 - `use_database`: 切换到一个已存在的Database - 参数: - `database_name`: 待切换的Database名称 ### Table操作 - `list_tables`: 列出数据库中所有的Table - `describe_table`: 获取指定Table的详细信息 - 参数: - `table_name`: Table名称 - `stats_table`: 获取指定Table的统计信息 - 参数: - `table_name`: Table名称 ### 数据操作 - `delete_table_rows`: 使用过滤表达式删除数据 - 参数: - `table_name`: Table名称 - `filter_expr`: 过滤表达式 - `select_table_rows`: 使用过滤表达式查询数据 - 参数: - `table_name`: Table名称 - `filter_expr`: 过滤表达式 - `limit`: 查询结果的最大条数 - `output_fields`: 查询结果中要返回的字段名 ### 索引操作 - `create_vector_index`: 在指定向量字段上创建向量索引 - 参数: - `table_name`: Table名称 - `index_name`: 向量索引名称 - `field_name`: 向量字段名称 - `index_type`: 向量索引类型 - `metric_type`: 向量索引的距离度量 - `params`: 向量索引的创建参数 - `rebuild_vector_index`: 重新构建指定向量索引 - 参数: - `table_name`: Table名称 - `index_name`: 向量索引名称 - `drop_vector_index`: 删除指定向量索引 - 参数: - `table_name`: Table名称 - `index_name`: 向量索引名称 - `describe_index`: 获取指定索引的详情信息 - 参数: - `table_name`: Table名称 - `index_name`: 向量索引名称 ### 检索操作 - `vector_search`: 执行带标量过滤的向量相似性检索 - 参数: - `table_name`: Table名称 - `vector`: 向量 - `vector_field`: 向量字段名称 - `limit`: 相似性检索结果中返回最接近目标向量的记录数量 - `filter_expr`: 过滤表达式 - `output_fields`: 查询结果中要返回的字段名 - `fulltext_search`: 执行全文检索 - 参数: - `table_name`: Table名称 - `index_name`: 向量索引名称 - `search_text`: 全文检索的检索表达式 - `limit`: 全文检索返回相关性最高的条目数 - `filter_expr`: 过滤表达式 - `output_fields`: 查询结果中要返回的字段名 ## 环境变量 - `MOCHOW_ENDPOINT`: 百度云向量数据库连接实例URI - `MOCHOW_API_KEY`: 百度云向量数据库实例API密钥 ## 使用样例 ### 使用Claude Desktop #### Example 1: 列出数据库中所有的Database ``` How many databases do i have in the mochow db? ``` Claude将使用百度云向量数据库MCP Server提供的list_databases来获取数据库列表. ``` Let me check how many databases you have in the Mochow instance. You have 2 databases in your Mochow instance: 1. book 2. test ``` #### Example 2: 查看指定表的schema信息 ``` I want to get the detail of  table named book_segments in database book. ``` Claude将使用百度云向量数据库MCP Server提供的describe_table来获取表的详情信息. ``` I'll help you get the details of the "book_segments" table in the "book" database. Let me first switch to the "book" database and then describe the table. Here's the information about the "book_segments" table in the "book" database: Database: book Table Name: book_segments Creation Time: 2025-05-06 11:08:22 State: NORMAL Schema: id (STRING) Primary Key: Yes Partition Key: Yes Not Null: Yes bookName (STRING) Not Null: Yes author (STRING) Not Null: No page (UINT32) Not Null: No segment (TEXT) Not Null: No vector (FLOAT_VECTOR) Not Null: Yes Dimension: 1024 Indexes book_name_filtering_idx (FILTERING_INDEX) Field: bookName Order: ASCEND Structure Type: DEFAULT vector_idx (HNSW) Field: vector Metric Type: L2 Auto Build: False Parameters: (M: 16 efConstruction: 200) ```

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/baidu/mochow-mcp-server-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server