使用说明

项目简介

mcp-server-milvus 是一个基于 Model Context Protocol (MCP) 构建的服务器,它将 Milvus 向量数据库的功能通过 MCP 协议暴露给 LLM 客户端。这意味着支持 MCP 协议的 LLM 应用(如 Claude Desktop, Cursor 等)可以利用该服务器连接到 Milvus 数据库,实现向量检索、数据管理等操作,从而增强 LLM 的上下文理解和知识获取能力。

主要功能点

  • 向量检索: 支持多种向量检索方式,包括精确向量检索、近似向量检索、混合检索和多向量检索。
  • 全文本检索: 支持基于文本内容在 Milvus 数据库中进行检索。
  • 数据管理: 提供 Milvus 数据库中集合(Collection)的创建、删除、查询信息、统计等管理功能。
  • 数据操作: 支持向 Milvus 数据库中插入、删除、更新数据。
  • 索引管理: 支持在向量字段上创建和查询索引,优化检索性能。
  • 灵活配置: 支持通过环境变量或命令行参数配置 Milvus 连接信息。

安装步骤

该服务器推荐使用 uv 直接运行,无需安装。

  1. 确保已安装 Python 3.10 或更高版本。
  2. 确保已安装 uv 安装 uv 可以参考其官方文档。
  3. 确保 Milvus 数据库实例正在运行。 可以是本地或远程的 Milvus 实例。

如果需要克隆仓库:

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

服务器配置

MCP 服务器需要配置到 MCP 客户端中才能使用。以下是配置信息示例,以 JSON 格式提供,用于配置 Claude Desktop 或 Cursor 等 MCP 客户端。

配置信息 (JSON):

{
  "mcpServers": {
    "milvus": { # 服务器名称,可以自定义,例如 "milvus"
      "command": "/PATH/TO/uv", # uv 命令的路径,如果 uv 已添加到系统 PATH,则可以直接使用 "uv"
      "args": [
        "--directory",
        "/path/to/mcp-server-milvus/src/mcp_server_milvus", # mcp-server-milvus 项目中 server.py 文件所在目录的路径
        "run",
        "server.py", # 运行服务器的脚本
        "--milvus-uri", # Milvus 连接 URI 参数
        "http://localhost:19530" # 你的 Milvus 数据库 URI,例如 "http://<milvus-server-ip>:<port>"
      ]
    }
  }
}

参数说明:

  • 'server name': 服务器的名称,例如 "milvus",在 MCP 客户端中用于标识该服务器。
  • 'command': 启动 MCP 服务器的命令,通常是 Python 解释器或 uv 运行器。
  • 'args': 传递给启动命令的参数列表。
    • '--directory': 指定服务器脚本所在目录。
    • 'run server.py': 运行 'server.py' 脚本。
    • '--milvus-uri': 指定 Milvus 数据库的连接 URI。请替换为你的实际 Milvus 服务地址。

注意:

  • 请将 '/PATH/TO/uv' 替换为 'uv' 的实际路径,如果 'uv' 已加入系统 'PATH' 环境变量,则直接使用 '"uv"' 即可。
  • 请将 '/path/to/mcp-server-milvus/src/mcp_server_milvus' 替换为 'server.py' 文件所在的实际目录路径。
  • 请将 'http://localhost:19530' 替换为你的 Milvus 数据库的实际 URI。

基本使用方法

  1. 启动 MCP 服务器: 根据上述配置信息,在 MCP 客户端中添加并启用 "milvus" 服务器。
  2. 在 LLM 应用中使用: 在支持 MCP 协议的 LLM 应用中(如 Claude Desktop, Cursor),当需要访问 Milvus 数据库时,LLM 应用会自动调用该 MCP 服务器提供的工具。
  3. 通过自然语言指令与 Milvus 交互: 例如,在 Claude Desktop 中,你可以提问 "What are the collections I have in my Milvus DB?",Claude 将会调用 'milvus-list-collections' 工具并返回 Milvus 中的集合列表。你可以使用 README.md 中提供的更多示例指令来体验不同的 Milvus 功能。

信息

分类

数据库与文件