mochow-mcp-server-python

mochow-mcp-server-python

3.3

If you are the rightful owner of mochow-mcp-server-python and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Server provides access to Baidu Cloud's vector database functionalities.

百度向量数据库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)