mcp-server-milvus 项目详细介绍
项目概述
mcp-server-milvus 是由 Zilliz Tech 开发的一个开源项目,它为 Milvus 向量数据库提供了 Model Context Protocol (MCP) 服务器实现。该项目使得LLM应用能够通过标准化协议无缝集成和访问Milvus向量数据库的功能。
核心功能特性
支持的操作工具
该MCP服务器提供了以下核心工具:
-
milvus_text_search: 使用全文搜索功能搜索文档- 参数: collection_name, query_text, limit, output_fields, drop_ratio
-
milvus_vector_search: 在集合上执行向量相似性搜索- 参数: collection_name, vector, vector_field, limit, output_fields, metric_type
-
milvus_query: 使用过滤表达式查询集合- 参数: collection_name, filter_expr, output_fields, limit
-
milvus_list_collections: 列出数据库中的所有集合 -
milvus_create_collection: 创建具有指定模式的新集合- 参数: collection_name, collection_schema, index_params
-
milvus_load_collection: 将集合加载到内存中进行搜索和查询- 参数: collection_name, replica_number
-
milvus_release_collection: 从内存中释放集合- 参数: collection_name
-
milvus_insert_data: 向集合中插入数据- 参数: collection_name, data
-
milvus_delete_entities: 基于过滤表达式从集合中删除实体- 参数: collection_name, filter_expr
系统要求
- Python 3.10 或更高版本
- 运行中的 Milvus 实例(本地或远程)
- uv 工具(推荐用于运行服务器)
安装和配置
克隆项目
git clone https://github.com/zilliztech/mcp-server-milvus.git
cd mcp-server-milvus
直接运行服务器
推荐的方式是使用 uv 直接运行服务器,无需安装:
uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530
或者通过设置 .env 文件中的环境变量:
uv run src/mcp_server_milvus/server.py
支持的客户端应用
该MCP服务器可以与多种支持Model Context Protocol的LLM应用程序配合使用:
Claude Desktop 集成
- 安装 Claude Desktop
- 配置
claude_desktop_config.json文件:
{
"mcpServers": {
"milvus": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://localhost:19530"
]
}
}
}
Cursor 编辑器集成
Cursor 支持两种配置方式:
方式一:通过GUI配置
- 进入 Cursor Settings > Features > MCP
- 点击 "+ Add New MCP Server" 按钮
- 填写表单:
- Type: 选择
stdio - Name:
milvus - Command:
/PATH/TO/uv --directory /path/to/mcp-server-milvus/src/mcp_server_milvus run server.py --milvus-uri http://127.0.0.1:19530
- Type: 选择
方式二:配置文件
创建 .cursor/mcp.json 文件:
{
"mcpServers": {
"milvus": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://127.0.0.1:19530"
]
}
}
}
环境变量配置
MILVUS_URI: Milvus 服务器 URI(可替代 --milvus-uri 参数)MILVUS_TOKEN: 可选的认证令牌MILVUS_DB: 数据库名称(默认为 "default")
使用示例
在 Claude Desktop 中的使用
用户可以通过自然语言与 Milvus 数据库交互:
查询集合列表:
What are the collections I have in my Milvus DB?
搜索文档:
Find documents in my text_collection that mention "machine learning"
在 Cursor 中的使用
创建新集合:
Create a new collection called 'articles' in Milvus with fields for title (string), content (string), and a vector field (128 dimensions)
故障排除
连接问题
- 验证 Milvus 实例正在运行
- 检查 URI 配置是否正确
- 确保防火墙规则不会阻止连接
- 尝试使用
127.0.0.1而不是localhost
认证问题
- 验证
MILVUS_TOKEN是否正确 - 检查 Milvus 实例是否需要认证
- 确保具有执行操作的正确权限
技术架构
该项目基于 Python 开发,采用了现代化的开发工具链:
- 使用 uv 作为包管理和运行工具
- 遵循 MCP 标准协议规范
- 提供完整的 Milvus 数据库操作封装
- 支持多种 AI 应用客户端
应用场景
该项目主要适用于以下场景:
- AI 驱动的代码编辑器增强
- 聊天界面的上下文增强
- 自定义 AI 工作流构建
- 向量数据库与 LLM 的集成
- 语义搜索和 RAG(检索增强生成)应用
通过 mcp-server-milvus,开发者可以轻松地将 Milvus 向量数据库的强大功能集成到各种 AI 应用中,为用户提供更智能、更准确的交互体验。