Token导航 LogoToken导航TokenDH.com
MCP Server For Milvus logo
数据服务stdio官方级别未说明来源级核验

MCP Server For Milvus

MCP Server

MCP Server for Milvus是一个开源协议服务器,为LLM应用程序提供与Milvus向量数据库的无缝集成,支持多种运行模式和搜索查询操作。

工具数

12

提示词数

0

GitHub Stars

231

资源数

0
向量数据库数据管理PythonClaude搜索服务Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

zilliztech

提供方

zilliztech

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530

详细介绍

Milvus的MCP服务器

模型上下文协议(MCP)是一种开放协议,可实现LLM应用程序与外部数据源和工具之间的无缝集成。无论您是在构建基于AI的IDE、增强聊天界面,还是创建自定义AI工作流程,MCP都提供了一种标准化的方式将LLM与所需的上下文连接起来。

此存储库包含一个MCP服务器,可访问 米尔维斯 矢量数据库功能。

MCP with Milvus

先决条件

在使用此MCP服务器之前,请确保您已:

  • Python 3.10或更高版本
  • 跑步 米尔维斯 实例(本地或远程)
  • 紫外线 已安装(建议用于运行服务器)

用法

建议使用此MCP服务器的方式是直接使用 uv 无需安装。这就是Claude Desktop和Cursor在下面的示例中使用它的配置方式。

如果要克隆存储库:

git clone https://github.com/zilliztech/mcp-server-milvus.git
cd mcp-server-milvus

然后,您可以直接运行服务器:

uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530

或者,您可以在 src/mcp_server_milvus/ 目录中设置环境变量,并使用以下命令运行服务器:

uv run src/mcp_server_milvus/server.py

重要提示:.env文件的优先级将高于命令行参数。

运行模式

服务器支持两种运行模式: 标准 (默认)和 上海证券交易所 (服务器发送的事件)。

标准模式(默认)

  • 描述:通过标准输入/输出与客户沟通。如果未指定模式,则这是默认模式。
  • 用途:
  uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530

SSE模式

  • 描述:使用HTTP服务器发送事件进行通信。此模式允许多个客户端通过HTTP连接,适用于基于web的应用程序。
  • 用途:
  uv run src/mcp_server_milvus/server.py --sse --milvus-uri http://localhost:19530 --port 8000

- --sse:启用SSE模式。 - --port:指定SSE服务器的端口(默认值:8000)。

  • SSE模式下的调试:

如果要在SSE模式下调试,请在启动SSE服务后输入以下命令:

  mcp dev src/mcp_server_milvus/server.py

输出类似于:

  % mcp dev src/mcp_server_milvus/merged_server.py
  Starting MCP inspector...
  ⚙️ Proxy server listening on port 6277
  🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

然后,您可以访问MCP检查器 http://127.0.0.1:6274 用于测试。

流式HTTP模式

  • 描述:使用HTTP和流媒体支持进行通信。这是生产部署的推荐传输方式,支持有状态和无状态操作。
  • 用途:
  uv run src/mcp_server_milvus/server.py --streamable-http --milvus-uri http://localhost:19530 --port 8000

- --streamable-http:启用流式HTTP模式。 - --port:指定服务器的端口(默认值:8000)。 - --stateless:无状态模式(无会话持久性)的可选标志。

  • 无状态模式:
  uv run src/mcp_server_milvus/server.py --streamable-http --stateless --milvus-uri http://localhost:19530 --port 8000

支持的应用程序

此MCP服务器可以与支持模型上下文协议的各种LLM应用程序一起使用:

  • 克劳德桌面版:克劳德的Anthropic桌面应用程序
  • 光标:支持MCP的AI驱动代码编辑器
  • 自定义MCP客户端:任何实现MCP客户端规范的应用程序

使用Claude Desktop

不同模式的配置

SSE模式配置

按照以下步骤将Claude Desktop配置为SSE模式:

  1. 从以下位置安装Claude Desktophttps://claude.ai/download.
  2. 打开您的Claude Desktop配置文件:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  1. 为SSE模式添加以下配置:
{
  "mcpServers": {
    "milvus-sse": {
      "url": "http://your_sse_host:port/sse",
      "disabled": false,
      "autoApprove": []
    }
  }
}

流式HTTP模式配置

{
  "mcpServers": {
    "milvus-streamable-http": {
      "url": "http://your_host:port/mcp",
      "disabled": false,
      "autoApprove": []
    }
  }
}
  1. 重新启动Claude Desktop以应用更改。

标准模式配置

对于stdio模式,请执行以下步骤:

  1. 从以下位置安装Claude Desktophttps://claude.ai/download.
  2. 打开您的Claude Desktop配置文件:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  1. 为stdio模式添加以下配置:
{
  "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"
      ]
    }
  }
}
  1. 重新启动Claude Desktop以应用更改。

使用游标

Cursor还支持MCP 工具。您可以按照以下步骤将Milvus MCP服务器与Cursor集成:

集成步骤

  1. 打开 Cursor Settings > MCP
  2. 点击 Add new global MCP server
  3. 点击后,它会自动将您重定向到 mcp.json 文件,如果不存在,将创建该文件

配置 mcp.json 文件

对于标准模式:

覆盖 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"
      ]
    }
  }
}

对于SSE模式:

  1. 通过运行以下命令启动服务:
   uv run src/mcp_server_milvus/server.py --sse --milvus-uri http://your_sse_host --port port

> 备注:替换 http://your_sse_host 与您的实际SSE主机地址和 port 使用您正在使用的特定端口号。

  1. 服务启动并运行后,覆盖 mcp.json 包含以下内容的文件:
   {
       "mcpServers": {
         "milvus-sse": {
           "url": "http://your_sse_host:port/sse",
           "disabled": false,
           "autoApprove": []
         }
       }
   }

对于流式HTTP模式:

  1. 启动服务:
   uv run src/mcp_server_milvus/server.py --streamable-http --milvus-uri http://your_host --port port
  1. 更新 mcp.json:
   {
     "mcpServers": {
       "milvus-streamable-http": {
         "url": "http://your_host:port/mcp",
         "disabled": false,
         "autoApprove": []
       }
     }
   }

完成集成

完成上述步骤后,重新启动Cursor或重新加载窗口以确保配置生效。

验证集成

要验证Cursor是否已成功与Milvus MCP服务器集成:

  1. 打开 Cursor Settings > MCP
  2. 检查列表中是否出现“milvus”、“milvus-sse”或“milvus-可流式传输http”(取决于您选择的模式)
  3. 确认列出了相关工具(例如milvus_list_collections、milvus_vector_search等)
  4. 如果服务器已启用但显示错误,请检查下面的故障排除部分

可用工具

服务器提供以下工具:

搜索和查询操作

  • milvus_text_search:使用全文搜索搜索文档

- 参数: - collection_name:要搜索的集合名称 - query_text:要搜索的文本 - limit:要返回的最大结果数(默认值:5) - output_fields:要包含在结果中的字段 - drop_ratio:要忽略的低频项比例(0.0-1.0)(默认值:0.2)

  • milvus_vector_search:对集合执行向量相似性搜索

- 参数: - collection_name:要搜索的集合名称 - vector:查询向量 - vector_field:矢量搜索的字段名(默认值:“vector”) - limit:要返回的最大结果数(默认值:5) - output_fields:要包含在结果中的字段 - filter_expr:筛选器表达式 - metric_type:距离度量(COSINE、L2、IP)(默认值:“COSINE”) - radius:范围搜索的可选下限(默认值:无) - range_filter:范围搜索的可选上限(默认值:无)

  • milvus_hybrid_search:对集合执行混合搜索

- 参数: - collection_name:要搜索的集合名称 - query_text:用于搜索的文本查询 - text_field:文本搜索的字段名 - vector:文本查询的向量 - vector_field:矢量搜索的字段名 - limit:要返回的最大结果数(默认值:5) - output_fields:要包含在结果中的字段 - filter_expr:筛选器表达式 - sparse_radius:稀疏范围搜索的可选下限(默认值:无) - sparse_range_filter:稀疏范围搜索的可选上限(默认值:无) - dense_radius:密集范围搜索的可选下限(默认值:无) - dense_range_filter:密集范围搜索的可选上限(默认值:无)

  • milvus_text_similarity_search:对集合执行文本相似性搜索

> 备注:此工具仅在Milvus 2.6.0及以上版本中受支持。您需要在Milvus服务器上设置嵌入函数。看 嵌入函数 了解更多详情。

- 参数: - collection_name:要搜索的集合名称 - query_text:用于相似性搜索的文本查询 - anns_field:文本搜索的字段名 - limit:要返回的最大结果数(默认值:5) - output_fields:要包含在结果中的字段 - metric_type:距离度量(COSINE、L2、IP)(默认值:“COSINE”) - filter_expr:可选筛选器表达式 - radius:范围搜索的可选下限(默认值:无) - range_filter:范围搜索的可选上限(默认值:无)

  • milvus_query:使用筛选表达式查询集合

- 参数: - collection_name:要查询的集合名称 - filter_expr:筛选表达式(例如“年龄>20”) - output_fields:要包含在结果中的字段 - limit:要返回的最大结果数(默认值:10)

馆藏管理

  • milvus_list_collections:列出数据库中的所有集合
  • milvus_create_collection:使用快速设置或自定义模式创建新集合

- 参数: - collection_name:新收藏的名称 - auto_id:是否自动生成id,默认为True - dimension:矢量维度,默认为768;用于快速设置,如果 field_schema 被提供 - primary_field_name:主字段的名称,默认为“id”;用于快速设置,如果 field_schema 被提供 - vector_field_name:向量字段的名称,默认为“vector”;用于快速设置,如果 field_schema 被提供 - metric_type:公制类型,默认为“COSINE”;用于快速设置,如果 field_schema 被提供 - field_schema:字段模式列表,每个元素都是一个具有以下键的字典: - name:字段名称 - type:字段类型 - index_params:索引参数的可选列表,每个元素都是一个具有以下键的字典: - field_name:要索引的字段的名称 - index_type:索引类型 - **kwargs:其他可选索引参数 - other_kwargs:创建集合的其他关键字参数

  • milvus_load_collection:将集合加载到内存中以进行搜索和查询

- 参数: - collection_name:要加载的集合名称 - replica_number:副本数量(默认值:1)

  • milvus_release_collection:从内存中释放集合

- 参数: - collection_name:要发布的集合名称

  • milvus_get_collection_info:列出特定集合的架构、属性、集合ID和其他元数据等详细信息。

- 参数: - 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:数据库名称(默认为“默认”)

发展

要直接运行服务器,请执行以下操作:

uv run server.py --milvus-uri http://localhost:19530

示例

使用克劳德桌面

示例1:列出集合

What are the collections I have in my Milvus DB?

然后,Claude将使用MCP在您的Milvus数据库中检查此信息。

I'll check what collections are available in your Milvus database.

Here are the collections in your Milvus database:

1. rag_demo
2. test
3. chat_messages
4. text_collection
5. image_collection
6. customized_setup
7. streaming_rag_demo

示例2:搜索文档

Find documents in my text_collection that mention "machine learning"

Claude将使用Milvus的全文搜索功能来查找相关文档:

I'll search for documents about machine learning in your text_collection.

> View result from milvus-text-search from milvus (local)

Here are the documents I found that mention machine learning:
[Results will appear here based on your actual data]

使用光标

示例:创建集合

在Cursor中,您可以问:

Create a new collection called 'articles' in Milvus with fields for title (string), content (string), and a vector field (128 dimensions)

Cursor将使用MCP服务器执行此操作:

I'll create a new collection called 'articles' with the specified fields.

Collection 'articles' has been created successfully with the following schema:
- title: string
- content: string
- vector: float vector[128]

故障排除

常见问题

连接错误

如果您看到诸如“连接到Milvus服务器失败”之类的错误:

  1. 验证您的Milvus实例是否正在运行: docker ps (如果使用Docker)
  2. 检查配置中的URI是否正确
  3. 确保没有防火墙规则阻止连接
  4. 尝试使用 127.0.0.1 而不是 localhost 在URI中

身份验证问题

如果您看到身份验证错误:

  1. 验证您的 MILVUS_TOKEN 是正确的
  2. 检查您的Milvus实例是否需要身份验证
  3. 确保您对尝试执行的操作具有正确的权限

未找到工具

如果MCP工具未出现在克劳德桌面或光标中:

  1. 重新启动应用程序
  2. 检查服务器日志是否有任何错误
  3. 验证MCP服务器是否正常运行
  4. 按下MCP设置中的刷新按钮(光标)

获取帮助

如果您继续遇到问题:

  1. 检查 对于类似的问题
  2. 加入 Milvus社区不和 支持
  3. 提交一个新问题,其中包含有关您问题的详细信息

目录标签

目录标签

向量数据库数据管理PythonClaude搜索服务本地部署LLM集成AI工具

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP