原文地址:
https://michaelwapp.medium.com/model-context-protocol-mcp-an-introduction-guide-25736f3dd672
在人工智能和 AI 驅動應用日新月異的格局中,一種與大型語言模型(LLM)交互的新方式正在興起。隨著 AI 智能體(Agent)的崛起帶來了系統間高效交互的需求,高效的模型交互變得比以往任何時候都更加重要。
模型上下文協議(Model Context Protocol, MCP)是一種新興標準,旨在簡化 AI 模型與外部系統的交互方式,確保基于上下文的響應并實現與各種應用的無縫集成。但 MCP 究竟是什么?為何它在開發者和 AI 愛好者中日益受到關注?
本文將解釋 MCP 是什么,它是如何工作的,以及它為何對 AI 交互的未來至關重要。
什么是模型上下文協議?
其核心是,模型上下文協議是一種標準化的方式,讓 AI 系統能夠在對話期間訪問外部信息源。可以將其想象為賦予 AI 模型在需要時**“查找信息或執行操作”**的能力,而不是僅僅依賴其預訓練知識或當前的對話上下文。
想象一下你正在與一個 AI 助手對話。沒有 MCP,AI 只能利用其訓練數據(有知識截止日期)以及你在當前對話中明確告知它的內容。有了 MCP,AI 可以動態地訪問外部信息源——如數據庫、API 或文檔存儲庫——以提供更準確、最新和個性化的響應。
模型上下文協議是 Anthropic 發起的一個開源項目。他們的工作旨在創建一個統一的協議,允許 AI 系統以一致的方式請求和接收外部數據,無論底層實現如何。這種標準化對于構建更可靠、更透明的 AI 助手至關重要,這些助手能夠為用戶提供及時準確的信息。
MCP 是如何工作的?
模型上下文協議通過幾個組件之間的結構化通信模式運作:
- 用戶 (User):與 AI 系統交互的人(例如,通過聊天界面、SaaS 應用程序或任何其他與 AI 通信的方式)。
- AI 模型 (AI Model):處理用戶查詢的大型語言模型(如 GPT-4、Claude 或其他模型)。
- MCP 服務器 (MCP Server):一個中間件服務,它解釋模型對額外上下文的請求,并獲取相關信息。
- 信息源 (Information Sources):提供模型請求信息的外部數據存儲庫、API 或服務。
以下是典型的 MCP 交互流程:
- 用戶向 AI 模型發送提示 (prompt)。
- 模型處理提示,并確定需要額外的上下文來提供準確的響應。
- 模型按照 MCP 格式生成對特定信息的請求。
- MCP 服務器接收此請求,對其進行解釋,并查詢適當的信息源。
- 信息源將請求的數據返回給 MCP 服務器。
- MCP 服務器格式化數據并將其發送回模型。
- 模型將這些新信息整合到其上下文中,并為用戶生成響應。
這個過程無縫發生,且通常近乎實時,給人一種 AI 助手知識更淵博、能力更強的印象。
MCP 的技術結構
現在讓我們看看模型上下文協議的底層工作原理:
請求結構
當 AI 模型需要額外的上下文時,它會生成一個結構化的請求,通常包括:
{"queries": [{"provider": "github","query": "the last 10 files changed in the main branch of the example repository","parameters": {"repo_name": "example"}}]
}
在這個例子中,你可以看到:
queries
: 查詢對象的數組,允許同時發起多個信息請求。provider
: 指定使用哪個信息源(在此例中是 “github”,可能指向一個搜索引擎或知識庫)。query
: 實際的查詢文本。parameters
: 額外的配置選項,例如repo_name
。
請注意,這是一個簡化版本,因為 AI 模型使用此上下文請求格式的更復雜版本來查詢外部源。
響應格式
MCP 服務器隨后以模型能夠解釋的標準化格式返回數據:
{"responses": [{"provider": "github","status": "success","results": [{"filename": "app.py","commit_id": "c21100226d66741de8d56fb8351d83e5723a5e32"},{"filename": "requrirements.txt","commit_id": "c21100226d66741de8d56fb8351d83e5723a5e32"},// 更多結果...]}]
}
這種結構化格式確保模型能夠高效地處理和整合新信息。
常見的 MCP 提供者 (Providers)
MCP 實現通常包括幾個標準提供者:
- 搜索 (Search):從搜索引擎或知識庫檢索相關信息。
- 文檔 (Document):訪問特定的文檔或內容存儲庫。
- 數據庫 (Database):查詢結構化數據庫以獲取精確信息。
- API:與外部服務接口以獲取實時數據。
- 向量 (Vector):在向量數據庫上執行相似性搜索(對語義匹配很有用)。
每個提供者都有自己的參數和響應格式,但它們都遵循通用的 MCP 結構以保持一致性。
MCP 的好處
模型上下文協議提供了幾個顯著優勢:
1. 克服知識截止日期
LLM 有一個訓練截止日期,此后它們不了解世界事件或新信息。MCP 允許模型訪問最新信息,有效地消除了這一限制。
2. 減少幻覺
通過向模型提供來自可靠來源的事實信息,MCP顯著降低了 AI 響應中出現“幻覺”或捏造信息的可能性。
3. 個性化
MCP 使模型能夠訪問用戶特定信息(在獲得適當權限的情況下),從而實現更個性化的交互,而無需將所有這些信息都包含在對話上下文中。
4. 專業知識
模型可以利用特定領域的知識庫和工具,使其能夠在專業領域提供專家級的響應。
5. 透明度與溯源 (Attribution)
MCP 實現通常包含信息來源的歸屬信息,清楚地表明 AI 的知識來源,從而提高用戶信任度。
真實世界示例
讓我們探討一些實際的 MCP 應用場景:
示例 1:訪問日歷的個人助理
用戶:“我明天有什么會議?”
沒有 MCP 時,AI 可能不得不回答:“我無法訪問您的日歷。”
使用 MCP 時:
- 模型識別出它需要日歷信息。
- 它向日歷提供者生成一個 MCP 請求。
- MCP 服務器(通過適當的身份驗證)查詢用戶的日歷。
- 日歷數據被返回給模型。
- 模型以詳細列表的形式回應用戶的會議安排。
示例 2:訪問文檔的技術支持
用戶:“我該如何解決這個軟件系統的錯誤 FD-123?”
使用 MCP 時:
- 模型識別出這是一個技術支持問題。
- 它生成一個 MCP 請求,以搜索該軟件系統的文檔。
- MCP 服務器檢索相關的故障排除指南。
- 模型綜合這些信息,形成一個有用的響應,其中可能包括官方文檔的直接引用。
示例 3:獲取實時數據的研究助理
用戶:“mRNA 疫苗技術的最新進展是什么?”
使用 MCP 時:
- 模型確定它需要超出其訓練數據的當前信息。
- 它通過 MCP 查詢一個科學研究數據庫。
- MCP 服務器返回最近的論文和發現。
- 模型將這些信息綜合成一個全面的摘要,并附帶引文。
實現 MCP:可用資源
對于有興趣在自己項目中實施 MCP 的開發者,有幾個可用的開源資源:
- MCP 服務器參考實現:MCP 服務器規范的一個標準實現。
- 官方參考文檔:MCP 的官方文檔。
- “MCP Hub”:在這里可以找到許多已發布的、可立即使用的 MCP。
安全和隱私考量
雖然 MCP 提供了強大的功能,但它也引發了重要的安全和隱私考量:
- 訪問控制 (Access Control):MCP 實現必須仔細管理模型可以訪問哪些信息源以及在什么情況下可以訪問。
- 數據最小化 (Data Minimization):應僅檢索必要的信息并與模型共享。
- 用戶同意 (User Consent):應告知用戶并在其交互過程中訪問外部數據源時征得其同意。
- 身份驗證 (Authentication):必須為訪問私有或敏感信息源實施安全的身份驗證機制。
- 審計追蹤 (Audit Trails):記錄 MCP 請求有助于保持透明度和問責制。
MCP 的未來
模型上下文協議代表著朝著功能更強大、更值得信賴的 AI 系統邁出的重要一步。隨著協議的發展,我們可以期待看到:
- 標準化 (Standardization):MCP 標準在不同 AI 提供商之間得到更廣泛的采用。
- 更豐富的提供者生態系統 (Richer Provider Ecosystem):出現更多針對不同類型信息和服務的專業提供者。
- 增強的推理能力 (Enhanced Reasoning):模型不僅能訪問信息,還能推理應該訪問哪些信息以及如何組合多個來源的信息。
- 用戶控制 (User Control):提供更精細的用戶控制,讓用戶決定可以訪問哪些信息源以及何時訪問。
結論
模型上下文協議通過打破模型與其所需信息之間的壁壘,正在改變我們與 AI 系統的交互方式。通過為 AI 模型訪問外部信息提供標準化的途徑,MCP 使得 AI 體驗更加準確、最新和個性化。
在下一篇文章中,我們將探討一個模型上下文協議服務器的示例實現。此外,我們還將探討 OpenAI 對模型上下文協議標準的回應(或對應方案)。
對于希望在其 AI 解決方案中實施 MCP 的組織,我們的機構專門開發根據特定業務需求量身定制的 MCP 服務器和集成。我們幫助彌合您組織的知識庫與用戶交互的 AI 系統之間的差距。
無論您是構建需要訪問產品文檔的客戶服務聊天機器人,還是需要最新科學論文的研究助理,或是需要安全訪問公司數據的內部工具,MCP 都提供了使這些交互成為可能的架構。
這篇博文由領先的 AI 集成服務提供商 AVIMBU 撰寫。請訪問我們的網站 avimbu.com,了解更多關于我們如何幫助您的組織實施 MCP 和其他高級 AI 功能的信息。
注意:模型上下文協議是一項快速發展的技術。本文信息截至 2025 年 3 月。有關最新信息,請參閱官方 MCP 規范和文檔。
同時也需要如下貼圖中提到的,mcp迭代非常快,很可能信息就不準確了。官網是最可靠的參考。
參考資料: