Baidu Vector Database MCP Server

Baidu Vector Database MCP Server

A server that provides access to Baidu Cloud Vector Database functionality through the Model Context Protocol, enabling LLM applications to perform vector searches and database operations via natural language.

Category
Visit Server

Tools

create_vector_index

Create a vector index on a vector type field in the Mochow instance. Args: table_name (str): Name of the table. index_name (str): Name of the index. field_name (str): Name of the vector field. index_type (str): Type of vector index. Supported values are "HNSW", "HNSWPQ", "HNSWSQ". metric_type (str): Distance metric. Supported values are "L2", "COSINE", "IP". params (Optional[dict[str, Any]]): Additional vector index parameters. Returns: str: A message indicating the success of index creation.

describe_index

Describe index details in the Mochow instance. Args: table_name (str): Name of the table. index_name (str): Name of the index to describe. Returns: str: A string containing the details of the index.

rebuild_vector_index

Rebuild the vector index in the Mochow instance. Args: table_name (str): Name of the table. index_name (str): Name of the vector index to rebuild. Returns: str: A message indicating the success of index rebuild initiation.

delete_table_rows

Delete rows with a filter expression in the Mochow instance. Args: table_name (str): Name of the table. filter_expr (str): Filter expression to select data to delete. Returns: str: A message indicating the success of data deletion.

drop_vector_index

Drop the vector index in the Mochow instance. Args: table_name (str): Name of the table. index_name (str): Name of the vector index to drop. Returns: str: A message indicating the success of index drop.

select_table_rows

Select rows with a filter expression in the Mochow instance. Args: table_name (str): Name of the table. filter_expr (str): Filter expression to select data. Defaults to None. limit (int): Maximum number of results. Defaults to 10. output_fields (Optional[list[str]]): Fields to return in the results. Defaults to None. Returns: str: A string containing the selected rows.

vector_search

Perform vector similarity search combining vector similarity and scalar attribute filtering in the Mochow instance. Args: table_name (str): Name of the table to search. vector (list[float]): Search vector. vector_field (str): Target field containing vectors to search. Defaults to "vector". limit (int): Maximum number of results. Defaults to 10. output_fields (Optional[list[str]]): Fields to return in the results. Defaults to None. filter_expr (Optional[str]): Filter expression for scalar attributes. Defaults to None. params: Additional vector search parameters Returns: str: A string containing the vector search results.

list_databases

List all databases in the Mochow instance. Returns: str: A string containing the names of all databases.

create_database

Create a database in the Mochow instance. Args: database_name (str): Name of the database. Returns: str: A message indicating the success of database creation.

use_database

Switch to a different database. Args: database_name (str): Name of the database to use. Returns: str: A message indicating the success of the database switch.

list_tables

List all tables in the current database. Returns: str: A string containing the names of all tables.

describe_table

Describe table details in the Mochow instance. Args: table_name (str): Name of the table to describe. Returns: str: A string containing the details of the table.

stats_table

Get the table statistics in the Mochow instance. Args: table_name (str): Name of the table to get statistics. Returns: str: A string containing the table statistics.

fulltext_search

Perform full text search combining BM25 similarity and scalar attribute filtering in the Mochow instance. Args: table_name (str): Name of the table to search. index_name (str): Name of the inverted index to perform full text search. search_text (str): Text to search. limit (int): Maximum number of results. Defaults to 10. output_fields (Optional[list[str]]): Fields to return in the results. Defaults to None. Returns: str: A string containing the full text search results.

README

百度向量数据库MCP Server

本代码仓库包含一个 MCP 服务器,它提供对百度云向量数据库功能的访问。

前提条件

在使用百度云向量数据库MCP Server之前,请确保你具备以下条件:

  1. Python 3.10 或更高版本
  2. 已安装uv用于运行MCP Server

使用方式

使用百度云向量数据库MCP Server的推荐方式是通过uv运行,而无需进行安装。

克隆代码仓库,执行以下命令:

git clone https://github.com/baidu/mochow-mcp-server-python.git
cd mochow-mcp-server-python

随后,你可以直接通过uv运行,其中endpointapi-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下载 Claude Desktop。

打开 Claude Desktop 的配置文件,在 macOS 系统中,路径为~/Library/Application Support/Claude/claude_desktop_config.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工具。你可以通过两种方式将百度MCP Server添加到Cursor中:

依次打开Cursor设置>功能>MCP,点击+添加新的MCP服务器按钮,在mcp.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)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured