hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides access to Milvus vector database functionality, including vector similarity search, text search, collection management, and data operations for AI applications.
Milvus 的 MCP 服务器
模型上下文协议 (MCP) 是一种开放协议,支持 LLM 应用程序与外部数据源和工具之间的无缝集成。无论您是构建 AI 驱动的 IDE、增强聊天界面,还是创建自定义 AI 工作流,MCP 都提供了一种标准化的方式,将 LLM 与其所需的上下文连接起来。
该存储库包含一个 MCP 服务器,可提供对Milvus矢量数据库功能的访问。
先决条件
在使用此 MCP 服务器之前,请确保您已:
用法
推荐使用此 MCP 服务器的方式是直接通过uv
运行,无需安装。以下示例中,Claude Desktop 和 Cursor 均采用此配置。
如果你想克隆存储库:
然后就可以直接运行服务器了:
或者,您可以更改src/mcp_server_milvus/
目录中的 .env 文件来设置环境变量,然后使用以下命令运行服务器:
重要提示:.env 文件的优先级高于命令行参数。
支持的应用程序
此 MCP 服务器可与支持模型上下文协议的各种 LLM 应用程序一起使用:
- Claude Desktop :Anthropic 为 Claude 开发的桌面应用程序
- Cursor :支持 MCP 的 AI 代码编辑器
- 自定义 MCP 客户端:任何实现 MCP 客户端规范的应用程序
与 Claude Desktop 一起使用
- 从https://claude.ai/download安装 Claude Desktop
- 打开您的 Claude Desktop 配置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- macOS:
- 添加以下配置:
- 重启Claude桌面
与游标一起使用
Cursor 还支持 MCP工具。您可以通过两种方式将 Milvus MCP 服务器添加到 Cursor:
选项 1:使用光标设置 UI
- 前往
Cursor Settings
>Features
>MCP
- 点击
+ Add New MCP Server
按钮 - 填写表格:
- 类型:选择
stdio
(因为您正在运行命令) - 姓名:
milvus
- 命令:
/PATH/TO/uv --directory /path/to/mcp-server-milvus/src/mcp_server_milvus run server.py --milvus-uri http://127.0.0.1:19530
⚠️ 注意:使用
127.0.0.1
而不是localhost
以避免潜在的 DNS 解析问题。 - 类型:选择
选项 2:使用项目特定配置(推荐)
在项目根目录中创建一个.cursor/mcp.json
文件:
- 在项目根目录中创建
.cursor
目录:Copy - 创建一个包含以下内容的
mcp.json
文件:Copy - 重新启动 Cursor 或重新加载窗口
添加服务器后,您可能需要点击 MCP 设置中的刷新按钮来刷新工具列表。当查询相关时,代理会自动使用 Milvus 工具。
验证集成
要验证 Cursor 是否已成功与您的 Milvus MCP 服务器集成:
- 打开“光标设置”>“功能”>“MCP”
- 检查“Milvus”是否出现在 MCP 服务器列表中
- 验证工具是否已列出(例如 milvus_list_collections、milvus_vector_search 等)
- 如果服务器已启用但显示错误,请检查下面的故障排除部分
可用工具
该服务器提供以下工具:
搜索和查询操作
milvus_text_search
:使用全文搜索来搜索文档- 参数:
collection_name
:要搜索的集合的名称query_text
:要搜索的文本limit
:最大结果数(默认值:5)output_fields
:结果中包含的字段drop_ratio
:忽略的低频词的比例(0.0-1.0)
- 参数:
milvus_vector_search
:对集合执行向量相似性搜索- 参数:
collection_name
:要搜索的集合的名称vector
:查询向量vector_field
:包含要搜索的向量的字段(默认值:“矢量”)limit
:最大结果数(默认值:5)output_fields
:结果中包含的字段metric_type
:距离度量(COSINE,L2,IP)(默认值:“COSINE”)
- 参数:
milvus_query
:使用过滤表达式查询集合- 参数:
collection_name
:要查询的集合的名称filter_expr
:过滤表达式(例如“年龄> 20”)output_fields
:结果中包含的字段limit
:最大结果数(默认值:10)
- 参数:
收藏管理
milvus_list_collections
:列出数据库中的所有集合milvus_create_collection
:使用指定的 schema 创建一个新的集合- 参数:
collection_name
:新集合的名称collection_schema
:集合模式定义index_params
:可选索引参数
- 参数:
milvus_load_collection
:将集合加载到内存中,用于搜索和查询- 参数:
collection_name
:要加载的集合的名称replica_number
:副本数量(默认值:1)
- 参数:
milvus_release_collection
:从内存中释放集合- 参数:
collection_name
:要发布的集合的名称
- 参数:
数据操作
milvus_insert_data
:将数据插入集合中- 参数:
collection_name
:集合的名称data
:将字段名称映射到值列表的字典
- 参数:
milvus_delete_entities
:根据过滤表达式从集合中删除实体- 参数:
collection_name
:集合的名称filter_expr
:过滤表达式以选择要删除的实体
- 参数:
环境变量
MILVUS_URI
:Milvus 服务器 URI(可以设置而不是 --milvus-uri)MILVUS_TOKEN
:可选的身份验证令牌MILVUS_DB
:数据库名称(默认为“default”)
发展
直接运行服务器:
示例
使用 Claude Desktop
示例 1:列出集合
然后,Claude 将使用 MCP 在您的 Milvus DB 上检查此信息。
示例 2:搜索文档
Claude 将使用 Milvus 的全文搜索功能来查找相关文档:
使用游标
示例:创建集合
在 Cursor 中,你可以询问:
Cursor 将使用 MCP 服务器执行此操作:
故障排除
常见问题
连接错误
如果您看到类似“无法连接到 Milvus 服务器”的错误:
- 验证您的 Milvus 实例是否正在运行:
docker ps
(如果使用 Docker) - 检查配置中的 URI 是否正确
- 确保没有防火墙规则阻止连接
- 尝试在 URI 中使用
127.0.0.1
而不是localhost
身份验证问题
如果您看到身份验证错误:
- 验证您的
MILVUS_TOKEN
是否正确 - 检查您的 Milvus 实例是否需要身份验证
- 确保您拥有执行操作的正确权限
未找到工具
如果 MCP 工具没有出现在 Claude Desktop 或 Cursor 中:
- 重启应用程序
- 检查服务器日志是否有任何错误
- 验证 MCP 服务器是否正常运行
- 按下 MCP 设置中的刷新按钮(用于光标)
获取帮助
如果您仍然遇到问题:
- 查看GitHub Issues 中是否有类似问题
- 加入Zilliz 社区 Discord以获得支持
- 提交新问题并提供有关问题的详细信息
This server cannot be installed
实现模型上下文协议的集成服务器,使 LLM 应用程序能够与 Milvus 矢量数据库功能交互,从而允许通过自然语言进行矢量搜索、集合管理和数据操作。