跳至主要内容

模型上下文協議(Model Context Protocol)


什麼是MCP?

模型上下文協議(Model Context Protocol,MCP)是一個開放協議,用於標準化應用程式向大語言模型(LLM)提供上下文和工具的方式。可將MCP視為Cursor的外掛系統——它允許您透過標準化介面連線各類資料來源和工具,從而擴充套件Agent的功能。

深入瞭解MCP -------------------- 訪問官方MCP文件深度理解協議

用途

MCP支援將Cursor連線到外部系統和資料來源。這意味著您可將Cursor與現有工具及基礎設施整合,無需在程式碼之外向Cursor說明專案結構。

MCP伺服器可採用任何能向stdout輸出或提供HTTP端點的語言編寫。這種靈活性使您能快速使用首選程式語言和技術棧實現MCP伺服器。

應用示例

架構設計

MCP伺服器是透過標準化協議暴露特定功能的輕量級程式,它們充當Cursor與外部工具或資料來源之間的中介。

Cursor支援兩種MCP伺服器傳輸型別:

每種傳輸型別適用不同場景:stdio更適合本地開發,SSE則為分散式團隊提供更高靈活性。


配置MCP伺服器

MCP配置檔案採用以下JSON結構:

配置路徑

根據使用場景可將配置檔案置於以下兩處位置:

身份驗證

可透過環境變數為MCP伺服器提供認證憑據。這樣既無需在程式碼中暴露API金鑰等認證令牌,也避免將其儲存在MCP伺服器內部。

如前述示例所示,相關語法已包含在MCP伺服器配置檔案中。


在聊天中使用MCP

當Composer Agent判定MCP設定頁面的可用工具列表中的工具相關時,將自動呼叫它們。如需主動引導Agent使用工具,可直接透過名稱或描述指示其呼叫特定工具。您也可在設定頁面單獨啟用或禁用MCP工具,從而控制Agent可訪問的工具範圍。

工具呼叫確認

預設情況下,當Agent嘗試呼叫MCP工具時,將顯示確認請求。可透過工具名稱旁的箭頭展開詳情,檢視Agent呼叫工具時使用的引數。

自動執行

啟用自動執行模式後,Agent將無需確認直接執行MCP工具(類似終端命令的執行方式)。詳細瞭解Yolo模式及啟用方式請參見此處

工具響應

呼叫工具後,Cursor將在聊天介面顯示響應結果。下圖展示了示例工具的響應內容,以及展開的工具呼叫引數與響應詳情檢視。

影象注入

使用某些MCP伺服器時,Cursor可能執行返回影象的工具(如網站截圖或圖表)。為確保聊天介面能正確顯示並運用影象,需將伺服器配置為返回正確格式的影象。

只需在工具響應中返回影象的base64編碼字串即可實現:

const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w..." 
// ^ 完整base64字符串已截断以提升可读性

server.tool("generate_image", async (params) => {
return {
content: [
{
type: "image",
data: RED_CIRCLE_BASE64,
mimeType: "image/jpeg",
},
],
};
});