mochow-mcp-server-python
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之前,请确保你具备以下条件:
- Python 3.10 或更高版本
- 已安装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下载 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
: 百度云向量数据库连接实例URIMOCHOW_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)