爆火 | API 終將淘汰,MCP+LLM+向量數(shù)據庫才是 Agent 開發(fā)新范式 原創(chuàng)
"大模型雖然智能,但似乎在面對各種問題時仍顯得力不從心。"
許多用戶在運用大模型時,可能都會遇到這樣的困惑。
舉例來說,詢問 DeepSeek 關于即將到來的清明節(jié)的習俗,AI 能夠信手拈來地提供答案;然而,當要求它制定一份為期三天兩晚的清明旅行計劃時,其給出的方案似乎總是不夠完美。
原因顯而易見,在制定旅行計劃時,大模型缺少了天氣、機票、鐵路、導航、酒店等重要數(shù)據與工具的接入。這就好比一個極具智慧的大腦,卻缺乏了外部的“數(shù)據”輸入和強健的四肢支持。
在這種情況下,為了提升大模型的能力,通過為其配備多樣化的外部工具和數(shù)據庫,Agent 技術最近2年來備受關注。
然而,要打造一個高度智能的 Agent,通常需要集成大量的外部工具。在傳統(tǒng)的 Agent 開發(fā)過程中,每增加一個工具,就需要為大模型編寫一個新的 API,這使得系統(tǒng)變得越來越復雜。
MCP(模型上下文協(xié)議)的問世改變了這一現(xiàn)狀。
去年11月,硅谷 AI 巨頭 Anthropic 正式發(fā)布了MCP——模型上下文協(xié)議,使得開發(fā)者只需編寫一次代碼,就能讓大模型對接不同的 API、數(shù)據庫與文件系統(tǒng),極大簡化了模型的配置過程。
正因為如此,MCP 一經推出,便被譽為最強大的標準化接口協(xié)議,一夜之間在全球大模型領域掀起熱潮,成為新一代 Agent 工具調用的標準協(xié)議。
那么,MCP 究竟是什么呢?我們又該如何將其與 Milvus 相結合?
1、模型上下文協(xié)議(MCP)是什么
MCP 是一種開源協(xié)議,它的目標是對大模型與各類數(shù)據源及工具的互聯(lián)方式進行標準化。
借助 MCP,大模型(LLM)就如同配備了通用的 Type C 充電接口,能夠迅速連接到任何支持 MCP 的工具。
從技術架構的角度來看,MCP 實行的是客戶端-服務器模型,其中,主應用程序能夠與多個工具服務器建立連接:
MCP 主機:指那些希望通過 MCP 來獲取數(shù)據的程序,例如 Claude 的桌面應用、集成開發(fā)環(huán)境(IDE)或者 AI 工具(Cursor、Agents 等)。
MCP 客戶端:這是與服務器建立一對一連接的協(xié)議客戶端。
MCP 服務器:通過標準化的模型上下文協(xié)議,連接到具有特定功能的輕量級程序。
本地數(shù)據源:指的是 MCP 服務器可以安全訪問的計算機文件、數(shù)據庫和服務。
遠程服務:MCP 服務器能夠連接到互聯(lián)網上的外部系統(tǒng)(例如,通過 API 進行連接)。
2、為何要將 Milvus 與 MCP 結合使用?
Milvus 不僅在處理大規(guī)模數(shù)據方面表現(xiàn)出色,其高效的相似性搜索能力和可擴展的向量存儲特性,使其成為 Agent 智能體的首選解決方案。
借助 MCP 這位“理想的協(xié)調者”,開發(fā)者能夠在不增加額外工程量的情況下,輕松實現(xiàn)大模型對向量數(shù)據庫知識的高效、標準化訪問。
那么,通過 MCP 整合 Milvus,我們將能夠享受到哪些功能呢?
- 復雜的向量相似性搜索能力
- 索引的創(chuàng)建與操作
- Schema 分析:可以直接在 AI 代理界面中檢查集合的 Schema、字段類型和索引設置。
- 實時監(jiān)控:獲取集合的統(tǒng)計信息、實體數(shù)量和數(shù)據庫運行狀態(tài)指標,確保系統(tǒng)性能最優(yōu)。
- 動態(tài)操作:根據需求變化,即時創(chuàng)建新集合、插入數(shù)據或修改 Schema。
- 全文搜索:從 Milvus 2.5 版本開始,新版本均支持全文搜索功能。
3、如何將 Milvus 通過 MCP 與大模型集成?
Milvus MCP 服務器兼容支持 MCP 的各種大模型(LLM)應用程序,其中包括但不限于以下幾款:
- Claude Desktop:由 Anthropic 開發(fā)的 Claude 桌面應用程序。
- Cursor:一款 AI 代碼編輯器,其 Composer 功能支持 MCP。
- 自定義 MCP 客戶端:任何遵循 MCP 客戶端規(guī)范開發(fā)的應用程序。
在接下來的步驟中,我們將通過 Claude Desktop 和 Cursor 來展示部署過程。
第一步:環(huán)境準備
在使用 MCP 服務器之前,請確保已經準備好:
- Python 3.10 或更高版本;
- 正在運行的 Milvus 實例(本地或遠程)
- uv 工具
第二步:配置指南
我們推薦,Milvus MCP Server 直接使用 uv 方式運行。以下案例中的 Claude Desktop 和 Cursor 都可以如此配置。
git clone https://github.com/zilliztech/mcp-server-milvus.git
cd mcp-server-milvus
接下來,我們就可以直接運行 server 了,如下所示:
uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530
第三步:與 Claude Desktop 集成
Step1:從 https://claude.ai/download 安裝 Claude Desktop
Step2:打開你的 Claude Desktop 配置:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Step3:添加以下配置
{
"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"
]
}
}
}
Step4:重啟 Claude 桌面
第四步:與 Cursor 集成
Cursor 可以通過 Composer 中的 Agent 功能支持 MCP工具。我們可以通過兩種方式將 Milvus MCP 服務器添加到 Cursor:
方法一 :使用 Cursor 設置 UI
- Step1:轉至 Cursor Settings> Features>MCP
- Step2:+ Add New MCP Server 按鈕
- Step3 填寫配置: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
??注意:要使用127.0.0.1而不是 localhost,可以避免潛在的 DNS 解析問題。
方法二:使用項目特定配置(推薦)
Step1:在項目根目錄中創(chuàng)建一個. cursor/mcp.json 文件:
mkdir -p /path/to/your/project/.cursor
Step2:創(chuàng)建一個 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"
]
}
}
}
Step3:重新啟動 Cursor 或重新加載窗口
添加 server 后,我們需要點擊 MCP 設置中的刷新按鈕來激活工具列表。這樣,當我們的查詢相關內容的時候,Composer Agent 就能自動使用 Milvus 工具。
Step4:驗證集成效果
要驗證 Cursor 是否已成功與 Milvus MCP 服務器集成:
- 打開 Cursor Settings > Features > MCP
- 檢查“Milvus”是否出現(xiàn)在 MCP 服務器列表中
- 驗證工具是否集成成功
(例如 milvus_list_collections、milvus_vector_search 等)
4、案例展示:Claude Desktop+MCP+Milvus 效果展示
案例 1:提問
首先,我們給出如下一個提問:
What are the collections I have in my Milvus DB?
Claude 馬上就會使用 MCP 在 Milvus 向量數(shù)據庫中檢索和以上提問有關的數(shù)據。
案例 2:文檔搜索
首先,我們明確一下需求:
Claude 將利用 Milvus 的全文搜索功能來檢索相關文檔:
Cursor + MCP + Milvus 效果展示
在 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 服務器執(zhí)行此操作:
本文轉載自公眾號玄姐聊AGI 作者:玄姐
