• 關於 Milvus
  • 開始使用
  • 概念
  • 使用者指南
  • 資料匯入
  • AI 工具
  • 管理指南
  • 工具
  • 整合
  • 教學
  • 常見問題
  • API Reference

MCP + Milvus:連結 AI 與向量資料庫

簡介

Model Context Protocol (MCP)是一種開放式通訊協定,可讓 Claude 和 Cursor 等 AI 應用程式與外部資料來源和工具進行無縫互動。無論您是要建立自訂的 AI 應用程式、整合 AI 工作流程或強化聊天介面,MCP 都提供了標準化的方式來連接大型語言模型 (LLM) 與相關的情境資料。

本教學教導您如何為 Milvus 設定 MCP 伺服器,讓 AI 應用程式可以執行向量搜尋、管理集合,並使用自然語言指令擷取資料,而無需撰寫自訂資料庫查詢。

先決條件

在設定 MCP 伺服器之前,請確保您擁有

  • Python 3.10 或更高版本
  • 運行中的Milvus實例
  • uv(建議用於執行伺服器)

開始使用

使用此 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

支援的應用程式

此 MCP 伺服器可與支援模型上下文通訊協定的各種 AI 應用程式搭配使用,例如

  • Claude Desktop:Anthropic 的 Claude 桌面應用程式
  • Cursor:在其 Composer 功能中支援 MCP 的 AI 程式碼編輯器
  • 其他自訂MCP 用戶端 任何實作 MCP 用戶端規格的應用程式

在 Claude Desktop 中使用 MCP

  1. 安裝Claude Desktop
  2. 開啟 Claude 配置檔案:
    • 在 macOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
  3. 新增下列設定:
{
  "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

Cursor也透過 Composer 中的 Agent 功能支援 MCP 工具。您可以透過兩種方式將 Milvus MCP 伺服器新增至 Cursor:

選項 1:使用 Cursor 設定 UI

  1. 開啟Cursor SettingsFeaturesMCP
  2. 按一下+ Add New MCP Server
  3. 填寫
    • 類型: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 解析問題。
  1. 專案根目錄中建立.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"
      ]
    }
  }
}
  1. 重新啟動 Cursor 以套用組態。

新增伺服器後,您可能需要按下 MCP 設定中的刷新按鈕,以填充工具清單。當與您的查詢相關時,Composer Agent 會自動使用 Milvus 工具。

驗證整合

確保 MCP 伺服器設定正確:

針對游標

  1. 前往Cursor SettingsFeaturesMCP
  2. 確認"Milvus" 出現在 MCP 伺服器清單中。
  3. 檢查是否列出 Milvus 工具 (例如milvus_list_collections,milvus_vector_search)。
  4. 如果出現錯誤,請參閱下面的疑難排解部分。

適用於 Milvus 的 MCP 伺服器工具

此 MCP 伺服器提供多種工具,用於搜尋、查詢和管理 Milvus 中的向量資料。如需詳細資訊,請參閱mcp-server-milvus文件。

🔍 搜尋和查詢工具

  • milvus-text-search→ 使用全文檢索搜尋文件。
  • milvus-vector-search→ 在資料集中執行向量相似性搜尋。
  • milvus-hybrid-search→ 執行結合向量相似性和屬性篩選的混合搜尋。
  • milvus-multi-vector-search→ 使用多個查詢向量執行向量相似性搜尋。
  • milvus-query→ 使用篩選表達式查詢集合。
  • milvus-count→ 計算集合中的實體。

📁 集合管理

  • milvus-list-collections→ 列出資料庫中的所有集合。
  • milvus-collection-info→ 取得關於集合的詳細資訊。
  • milvus-get-collection-stats→ 取得有關集合的統計資料。
  • milvus-create-collection→ 以指定的模式建立新的集合。
  • milvus-load-collection→ 將集合載入記憶體以進行搜尋和查詢。
  • milvus-release-collection→ 從記憶體釋放集合。
  • milvus-get-query-segment-info→ 取得查詢區段的資訊。
  • milvus-get-collection-loading-progress→ 取得集合的載入進度。

資料操作

  • milvus-insert-data→ 將資料插入集合。
  • milvus-bulk-insert→ 分批插入資料以獲得更好的效能。
  • milvus-upsert-data→ 將資料上插入集合(如果存在,則插入或更新)。
  • milvus-delete-entities→ 根據篩選表達式從集合中刪除實體。
  • milvus-create-dynamic-field→ 將動態欄位新增至現有的集合。

⚙️ 索引管理

  • milvus-create-index→ 在向量欄位上建立索引。
  • milvus-get-index-info→ 獲取關於集合中索引的資訊。

環境變數

  • MILVUS_URI→ Milvus 伺服器 URI (可以設定為--milvus-uri)。
  • MILVUS_TOKEN→ 可選的驗證標記。
  • MILVUS_DB→ 資料庫名稱(預設為 "default")。

開發

直接執行伺服器:

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

範例

使用 Claude 桌面

範例 1:列出集合

What are the collections I have in my Milvus DB?

Claude 然後使用 MCP 在我們的 Milvus DB 上檢查這些資訊。

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

> View result from milvus-list-collections from milvus (local)

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 的 Composer 中,您可以詢問:

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.

> View result from milvus-create-collection from milvus (local)

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

疑難排解

常見問題

連線錯誤

如果您看到類似 "Failed to connect to Milvus server"(連接 Milvus 伺服器失敗)的錯誤:

  1. 確認您的 Milvus 實例正在執行:docker ps (如果使用 Docker)
  2. 檢查配置中的 URI 是否正確
  3. 確保沒有防火牆規則阻擋連線
  4. 嘗試在 URI 中使用127.0.0.1 而非localhost

驗證問題

如果您看到驗證錯誤

  1. 驗證您的MILVUS_TOKEN 是否正確
  2. 檢查您的 Milvus 實例是否需要驗證
  3. 確保您有正確的權限來執行您要執行的操作

找不到工具

如果 MCP 工具沒有出現在 Claude Desktop 或 Cursor:

  1. 重新啟動應用程式
  2. 檢查伺服器日誌是否有任何錯誤
  3. 驗證 MCP 伺服器是否正常執行
  4. 按下 MCP 設定中的刷新按鈕(適用於 Cursor)

取得協助

如果您繼續遇到問題

  1. 檢查GitHub Issues中的類似問題
  2. 加入Zilliz 社群 Discord以獲得支援
  3. 提交一個新的問題,並提供有關您問題的詳細資訊

總結

依照本教學,您現在已經可以執行MCP 伺服器,在 Milvus 中啟用 AI 驅動的向量搜尋。無論您使用的是Claude DesktopCursor,現在都可以使用自然語言指令來查詢、管理和搜尋 Milvus 資料庫,而無需撰寫資料庫程式碼!