簡單談談很火的MCP( Model Context Protocol,模型上下文協議)

MCP(?Model Context Protocol,模型上下文協議)是由Anthropic推出的開放協議,并非獨立的大模型,而是連接大模型與外部工具/數據源的標準化接口?,旨在解決AI工具開發中接口不統一、跨模型共享困難等問題。?

一、工作原理

MCP 協議采用了一種獨特的架構設計,它將 LLM 與資源之間的通信劃分為三個主要部分:客戶端、服務器和資源。

MCP 遵循客戶端-服務器架構(client-server),其中包含以下幾個核心概念:

  • MCP 主機(MCP Hosts):發起請求的 LLM 應用程序(例如?Claude Desktop、IDE 或 AI 工具)。
  • MCP 客戶端(MCP Clients):在主機程序內部,與 MCP server 保持 1:1 的連接。
  • MCP 服務器(MCP Servers):為 MCP client 提供上下文、工具和 prompt 信息。
  • 本地資源(Local Resources):本地計算機中可供 MCP server 安全訪問的資源(例如文件、數據庫)。
  • 遠程資源(Remote Resources):MCP server 可以連接到的遠程資源(例如通過 API)

由上述可知,MCP是將一些程序封裝,用戶輸入自然語言讓大模型去執行這些程序。

當用戶提出一個問題時:

  1. 客戶端(Claude Desktop / Cursor)將你的問題發送給LLM。
  2. LLM分析可用的工具,并決定使用哪一個(或多個)。
  3. 客戶端通過 MCP Server 執行所選的工具。
  4. 工具的執行結果被送回給 LLM。
  5. LLM結合執行結果構造最終的 prompt 并生成自然語言的回應。
  6. 回應最終展示給用戶!

二、MCP 、Agent、RAG 之間的聯系

MCP 是模型上下文協議,為AI模型與外部工具提供了標準化的橋梁。簡單來說就是MCP是一套規則,為外部調用的不同Tools提供接口,方便了與LLM的接入。Agent 通過決策選擇所需的工具得到結果,然后反饋給LLM進行綜合分析,重新組織結果反饋給用戶。RAG 重要的知識庫檢索技術,只需提供對應的數據,反饋給LLM即可。

輸入(用戶)----->Agent ---(決策)需要的Tools--->MCP ---(調用Tools)---->結果? ------>LLM? ---->輸出給用戶。

MCP 為 Agent 提供基礎設施

MCP 將外部工具封裝為標準化接口,供 Agent 按需要調用。

比如,Agent 通過 MCP Server 訪問 Postgres 數據庫執行 SQL 查詢。

Agent驅動MCP價值落地

MCP 本身無法主動運作,需依賴 Agent 發起請求。

比如,當 Agent 識別需要調用天氣 API 的時候,通過 MCP Client 向對應 Server 發送結構化請求。

三、function call?

Function Calling?指程序或模型主動調用預定義函數的能力。對于大語言模型(LLM)而言,它是模型與外部工具/API交互的核心機制,使模型能超越純文本生成,執行實際操作(如查天氣、計算、數據庫查詢等)。

sequenceDiagramparticipant Userparticipant LLMparticipant SystemUser->>LLM: "提醒我明天上午10點開會"LLM->>System: 生成函數調用請求(JSON):{"function": "calendar.create_event","parameters": {"title": "會議","time": "xx.xxx.xxxxT10:00:00"}}System->>Calendar API: 執行實際函數Calendar API-->>System: 創建成功System-->>LLM: 返回結果LLM-->>User: "已創建明天10點的會議提醒"
主流實現方案
平臺實現方式
OpenAI通過tools參數聲明可用函數,模型返回tool_calls響應
Anthropic Claude使用tool_use塊和結構化XML標簽
LangChain通過Tool類封裝函數,bind_functions()實現綁定
Google GeminiFunctionDeclaration定義工具,在content.parts中返回調用請求
  • MCP?作為模型調度層,可統一管理函數調用所需的模型資源

  • Agent?使用Function Calling作為基礎能力單元

四、案例實踐(vscode+cline+MCP-github)

1、安裝vscode, 并在vscode中安裝插件cline

2、安裝nodejs

網址:Node.js — 在任何地方運行 JavaScript

3、配置cline

API -Provider 選擇 Open Router

Model選擇?deepseek/deepseek-chat:free

OpenRouter APl Key? 獲取點擊? ?Get?OpenRouter APl Key? 跳轉后點擊Authorize,會自動填寫。

4、配置 MCP -GitHub

點擊install,會調用大模型自動進行步驟提示。

此處會讓你點擊運行代碼。

此處需要點擊所提供的網址,配置GitHub 的token.或者點擊https://github.com/settings/tokens

進行。具體操作請自行探索。

此處需要將生成的token復制,發送給cline.

完成后會生成一個cline_mcp_settings.json文件,如:

如果是Mac電腦,配置結束,繼續運行即可。

windows電腦需要修改配置文件。如下所示:

然后在窗口輸入命令: 我的名字是xxx(github用化名),查詢我的遠程倉庫有哪些?

最后給出匯總:
?

?其他的MCP可在MCP 倉庫,參照使用。

參考

1、https://zhuanlan.zhihu.com/p/27327515233

MCP合集:Smithery - Model Context Protocol Registry

MCP 倉庫:https://github.com/modelcontextprotocol/servers

安裝操作:【MCP是啥?技術原理是什么?一個視頻搞懂MCP的一切。Windows系統配置MCP,Cursor Cline使用MCP】https://www.bilibili.com/video/BV1AnQNYxEsy?vd_source=dd4b91f2d81783a0712b0e908952f9b0

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/75913.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/75913.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/75913.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決linux centos ubuntu等無法啟動谷歌chrome瀏覽器問題

命令啟動chrome時候提示: Running as root without --no-sandbox is not supported. See https://crbug.com/638180. 解決無法啟動谷歌chrome瀏覽器: cd /usr/bin 發現目錄下有 google-chrome google-chrome-stable 執行: vim go…

深入解析緩沖區:計算機世界的“蓄水池”與“加速器”

引言 想象這樣一個場景: 你的手機正在播放4K視頻,同時下載大型文件 視頻畫面流暢無卡頓,下載速度穩定在滿帶寬 但手機的內存只有8GB,下載文件的大小卻超過20GB 這看似矛盾的現象背后,緩沖區(Buffer&am…

網絡故障診斷

一 網絡故障診斷的方法 1 試錯法:通過推測提出解決方案,最后得出故障原因的方法。 2 參照法:是一種比較快速解決網絡故障的方法,只有當故障設備與正常工作設備具有相近的條件時,才可以使用參照法。 3 替換法&#xff1…

界面控件Telerik和Kendo UI 2025 Q1亮點——AI集成與數據可視化

Telerik DevCraft包含一個完整的產品棧來構建您下一個Web、移動和桌面應用程序。它使用HTML和每個.NET平臺的UI庫,加快開發速度。Telerik DevCraft提供完整的工具箱,用于構建現代和面向未來的業務應用程序,目前提供UI for ASP.NET MVC、Kendo…

ollama遷移已下載的單個模型到服務器

ollama遷移已下載的單個模型到服務器 場景 ollama是面向用戶級的,部署和運行都很簡單,是否高效就另說了。但最起碼,他能充分利用用戶的硬件設備,在GPU不足也能調用cpu和內存去加持。 ollama運行的模型基本是量化版本的&#xf…

怎么對asp.web api進行單元測試?

在 ASP.NET Web API 中進行單元測試是一種確保代碼質量和功能正確性的重要實踐。單元測試的重點是針對 API 控制器中的邏輯進行測試,而不依賴于外部依賴(如數據庫、文件系統或網絡請求)。以下是實現 ASP.NET Web API 單元測試的步驟和方法&am…

UDP視頻傳輸中的丟包和播放花屏處理方法

在處理UDP視頻傳輸中的丟包和花屏問題時,需要結合編碼優化、網絡傳輸策略和接收端糾錯技術。以下是分步驟的解決方案: 1. 前向糾錯(FEC,Forward Error Correction) 原理:在發送數據時附加冗余包,接收方通過冗余信息恢復丟失的數據包。 實現方法: 使用Reed-Solomon、XO…

WebGL圖形編程實戰【3】:矩陣操控 × 從二維到三維的跨越

上一篇文章:WebGL圖形編程實戰【2】:動態著色 紋理貼圖技術揭秘 倉庫地址:github…、gitee… 矩陣操控 矩陣變換 回到前面關于平移縮放、旋轉的例子當中,我們是通過改變傳遞進去的xy的值來改變的。 在進行基礎變換的時候&…

并發編程--共享內存SHM

共享內存SHM 文章目錄 共享內存SHM1. 基本概念2. 函數接口2.1 創建或打開SHM對象2.2 映射 / 解除映射SHM對象2.3 其余操作2.4示例代碼 1. 基本概念 共享內存,顧名思義,就是通過不同進程共享一段相同的內存來達到通信的目的,由于SHM對象不再交…

Redis中的數據類型與適用場景

目錄 前言1. 字符串 (String)1.1 特點1.2 適用場景 2. 哈希 (Hash)2.1 特點2.2 適用場景 3. 列表 (List)3.1 特點3.2 適用場景 4. 集合 (Set)4.1 特點4.2 適用場景 5. 有序集合 (Sorted Set)5.1 特點5.2 適用場景 6. Redis 數據類型的選型建議結語 前言 Redis 作為一款高性能的…

科技賦能建筑業變革:中建海龍創新引領高質量發展新路徑

在建筑工業化浪潮中,中建海龍科技有限公司(以下簡稱“中建海龍”)憑借深厚的技術積累與持續創新,成為推動行業轉型升級的標桿企業。作為中國建筑國際集團旗下核心科技力量,中建海龍深耕模塊化集成建筑(MiC&…

Vue下 Sortable 實現 table 列表字段可拖拽排序,顯示隱藏組件開發

vue 開發table 列表時&#xff0c;需要動態調整列字段的順序和顯示隱藏 實現效果如圖所示&#xff1a; vue 組件代碼 <template><div style"width: 90%; margin: 0 auto;"><el-table :data"tableData" border"" ref"table…

故障扭曲棱鏡反射照片效果ps特效濾鏡樣機 Distorted Mirror Poster Effect

只需單擊幾下即可執行令人著迷的高質量圖像和攝影&#xff01;此照片效果包含智能對象圖層&#xff0c;提供完全自定義、易用性和多功能性的工作流程。只需雙擊其縮略圖打開所需的圖層&#xff0c;刪除占位符鏡頭&#xff0c;添加圖形&#xff0c;保存它&#xff0c;然后觀看 P…

基于dify平臺批量分析excel格式信息

如何以表格形式批量輸入一些信息&#xff0c;然后讓大模型以對話應用形式逐條進行推理分析&#xff1f; 這里提供一個分步解決方案&#xff0c;結合 Dify平臺功能 和 API調用優化 的思路&#xff0c;既保證效率又降低復雜度&#xff1a; 1. 優先檢查 Dify 的「數據集」功能 Di…

CARLA常見技術問題集錦(一)地圖與場景構建篇

編者薦語&#xff1a; 在自動駕駛技術加速落地的今天&#xff0c;CARLA 仿真引擎憑借其開源生態與高保真仿真能力&#xff0c;已成為全球開發者構建智能駕駛算法的核心工具之一。隨著虛幻引擎 5.5 的全面升級&#xff0c;CARLA 0.10.0 版本實現了視覺革命&#xff1a;Lumen 全…

vue+webpack5(高級配置)

項目地址 基礎配置可查看文檔 1、devtool 配置 (找到報錯位置)2、優化打包速度3、oneOf 每個文件只被一個loader處理4、 include/exclude 處理某些文件或者排除某些文件5、 cache 緩存 &#xff08;提升后面幾次的打包速度&#xff09;6、 多進程打包7、減少代碼體積 Tree Shak…

JavaWeb——事務管理、AOP

目錄 一、事管理 1.開啟事務管理日志 2.開啟事務管理 3.傳播行為 二、AOP 1.通知類型 2.通知順序 3.切入點表達式 4.連接點 一、事務管理 1.開啟事務管理日志 2.開啟事務管理 3.傳播行為 當一個事務方法被另一個事務方法調用時&#xff0c;這個事物方法應該如何進行事…

okhttp3網絡請求

一、使用okhttp3和gson build.gradle ... dependencied {...implementation com.squareup.okhttp3:okhttp:3.9.0implementation com.google.code.gson:gson:2.10.1 }二、響應模型 可根據實際情況進行調整&#xff0c;目前我所需的就是這三個變量 HttpResponseData.java im…

【藍橋杯每日一題】3.28

&#x1f3dd;?專欄&#xff1a; 【藍橋杯備篇】 &#x1f305;主頁&#xff1a; f狐o貍x "今天熬的夜&#xff0c;會變成明天獎狀的閃光點&#xff01;" 目錄 一、唯一的雪花 題目鏈接 題目描述 解題思路 解題代碼 二、逛畫展 題目鏈接 題目描述 解題思路 解題代…

【MinIO】Bucket的生命周期管理

&#x1f47b;創作者&#xff1a;丶重明 &#x1f47b;創作時間&#xff1a;2025年3月7日 &#x1f47b;擅長領域&#xff1a;運維 目錄 1.ILM使用介紹2.生命周期配置實例 1.ILM使用介紹 對象生命周期管理&#xff08;ILM&#xff09;是現代對象存儲系統的核心功能之一&#x…