MCP的基礎知識

一、了解MCP的基礎知識

1.函數調用Function Calling

????????Function Calling是openai在2023年推出的一個非常重要的概念:Function Calling(函數調用)本質上就是提供了大模型與外部系統的交互能力,類似于給大模型安裝了一個“外掛工具箱“,當大模型自己無法直接回答問題時,他會主動調用預設的函數(如查詢天氣、計算數據、訪問外部數據庫)、獲取實時的或者精準信息后再生成回復。

????????如果需要使用Function Calling功能,首先大模型要支持Function Calling功能。openAI在提出Function Calling時并沒有提出函數調用的標準。

Function Calling的核心特點:

????????模型專屬:不同模型的調用規則不同。

? ? ? ? 即時觸發:解析用戶意圖后直接調用工具,簡單直接。

? ? ? ? 協議碎片化:需要為每個模型單獨開發適配層。?

? ? ? ? 功能擴展難:新增工具需要重新調整接口。?

2.MCP(model context protocol)模型上下文協議

????????MCP(model context protocol)模型上下文協議是由Anthropic公司推出的一個開放標準協議,目的是為了解決AI模型與外部數據源工具交互的問題。

? ? ? ? MCP就像一個“通用插頭”或者“USB接口”,制定了統一的規范,不管連接數據庫、第三方API,還是本地文件等各種外部資源,都可以通過這個“通用接口”來完成,讓AI模型與外部工具或者數據源之間的交互更加標準化、可復用,最近,openai也宣布了對MCP提供了支持。

????????開發者按照 MCP 協議進行開發,無需為每個模型與不同資源的對接重復編寫適配代碼,可以大大節省開發工作量,另外已經開發出的 MCP Server,因為協議是通用的,能夠直接開放出來給大家使用,這也大幅減少了開發者的重復勞動。

比如,你如果想開發一個同樣邏輯的插件,你不需要在 Coze 寫一遍,再去 Dify 寫一遍,如果它們都支持了 MCP,那就可以直接使用同一個插件邏輯。

核心特點

  • 協議標準化:統一工具調用格式(請求/響應/錯誤處理)
  • 生態兼容性:一次開發即可對接所有兼容MCP的模型
  • 動態擴展:新增工具無需修改模型代碼,即插即用

核心價值,解決三大問題

  • 數據孤島 → 打通本地/云端數據源
  • 重復開發 → 工具開發者只需適配MCP協議
  • 生態割裂 → 形成統一工具市場

類比

  • USB-C 接口:手機/電腦/外設通過統一標準互聯????????

二、MCP的基本使用

從上面 MCP 的架構圖中我們可以看到,想要使用 MCP 技術,首先就是得找到一個支持 MCP 協議的客戶端,然后就是找到符合我們需求到 MCP 服務器,然后在 MCP 客戶端里調用這些服務。

2.1 MCP 客戶端(Host)

在 MCP 官方文檔中,我們看到已經支持了 MCP 協議的一些客戶端/工具列表:

https://modelcontextprotocol.io/clients

從表格里,我們可以看到,MCP 對支持的客戶端劃分了五大能力,這里我們先簡單了解即可:

  • Tools:服務器暴露可執行功能,供 LLM 調用以與外部系統交互。
  • Resources:服務器暴露數據和內容,供客戶端讀取并作為 LLM 上下文。
  • Prompts:服務器定義可復用的提示模板,引導 LLM 交互。
  • Sampling:讓服務器借助客戶端向 LLM 發起完成請求,實現復雜的智能行為。
  • Roots:客戶端給服務器指定的一些地址,用來告訴服務器該關注哪些資源和去哪里找這些資源。

目前最常用,并且被支持最廣泛的就是?Tools?工具調用。

對于上面這些已經支持 MCP 的工具,其實整體劃分一下就是這么幾類:

  • AI 聊天工具:如 5ire、LibreChat、Cherry Studio
  • AI 編碼工具:如 Cursor、Windsurf、Cline
  • AI 開發框架:如 Genkit、GenAIScript、BeeAI

2.2 MCP Server

MCP Server?的官方描述:一個輕量級程序,每個程序都通過標準化模型上下文協議公開特定功能。

簡單理解,就是通過標準化協議與客戶端交互,能夠讓模型調用特定的數據源或工具功能。常見的?MCP Server?有:

  • 文件和數據訪問類:讓大模型能夠操作、訪問本地文件或數據庫,如 File System MCP Server;
  • Web 自動化類:讓大模型能夠操作瀏覽器,如 Pupteer MCP Server;
  • 三方工具集成類:讓大模型能夠調用三方平臺暴露的 API,如 高德地圖 MCP Server;

下面是一些可以查找到你需要的?MCP Server?的途徑:

第一個是官方的?MCP Server?集合 Github 倉庫(https://github.com/modelcontextprotocol/servers),里面包含了作為官方參考示例的?MCP Server、被官方集成的?MCP Server?以及一些社區開發的第三方?MCP Server

另外一個是 MCP.so(https://mcp.so/):一個三方的 MCP Server 聚合平臺,目前收錄了 5000+ MCP Server:

其提供了非常友好的展示方式,每個 MCP Server 都有具體的配置示例:

  • MCP Market(https://mcpmarket.cn/),訪問速度不錯,可以按工具類型篩選:

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

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

相關文章

量化交易之數學與統計學基礎2.4——線性代數與矩陣運算 | 矩陣分解

量化交易之數學與統計學基礎2.4——線性代數與矩陣運算 | 矩陣分解 第二部分:線性代數與矩陣運算 第4節:矩陣分解:奇異值分解(SVD)在數據壓縮和風險分解的應用 一、奇異值分解(SVD)基礎&#xf…

極簡主義在 UI 設計中的應用與實踐:打造簡潔高效界面

極簡主義理念:簡潔不簡單? 極簡主義起源于 20 世紀初的包豪斯運動,它不僅是一種設計風格,更代表著一種生活態度與價值觀。其核心理念 “少即是多”,并非簡單地削減元素,而是在精簡中追求極致,將設計簡化到…

2025年“深圳杯”數學建模挑戰賽C題-分布式能源接入配電網的風險分析

布式能源接入配電網的風險分析 小驢數模 背景知識: 隨著我國雙碳目標的推進,可再生分布式能源在配電網中的大規模應用不可避免,這對傳統配電網運行提出挑戰。為了量化分析配電網中接入分布式能源的風險,需要對其進行建模與分析…

《解鎖LibTorch:開啟C++深度學習新征程》

《解鎖LibTorch:開啟C++深度學習新征程》 深度學習與 LibTorch 在當今數字化時代,深度學習已成為人工智能領域的核心驅動力,廣泛應用于計算機視覺、自然語言處理、語音識別等諸多領域,深刻改變著我們的生活和工作方式。它的發展歷程充滿了創新與突破,從最初的理論探索到如…

理想藥用植物的特征綜述-理想中藥材”的系統定義-文獻精讀125

Decoding and designing: Promising routes to tailor-made herbs 解碼與設計:定制化草藥的潛力路徑 摘要 理想藥用植物的特征可歸納為高次生代謝產物含量、高抗逆性、理想的形態以及高產量。本研究提出了兩種策略,用于解析中藥活性成分的生物合成與質…

如何在Dify沙盒中安裝運行pandas、numpy

如何在Dify沙盒中安裝運行pandas、numpy 1. 創建python-requirements.txt文件2. 創建config.yaml文件3. 重啟 docker-sandbox-14. 為什么要這樣改的一些代碼解析(Youtube視頻截圖) 1. 創建python-requirements.txt文件 在 Dify 的 Docker 目錄下面&…

深度卷積模型:案例研究

1 為什么要進行案例研究? 過去,計算機視覺中的大量研究都集中在如何將卷積層、池化層以及全連接層這些基本組件組合起來,形成有效的卷積神經網絡。 找感覺的最好方法之一就是去看一些示例,就像很多人通過看別人的代碼來學習編程一…

RabbitMQ Linux 安裝教程詳解

RabbitMQ Linux 安裝教程詳解 在 Linux 系統上安裝 RabbitMQ 并確保其穩定運行,對于構建可靠的分布式消息系統至關重要。本文將詳細介紹如何在 Linux 系統上安裝 RabbitMQ,并提供關鍵的注意事項,幫助您避免常見的坑點,確保安裝過…

Godot筆記:入門索引

文章目錄 前言游戲引擎軟件界面關鍵概念GDScript導出成品創建非游戲應用后記 前言 最近對游戲引擎這塊感興趣,特別是因為游戲引擎自帶的很多工具,作為圖形化軟件的開發應該也不錯。 Godot 是一款這幾年比較流行的開源游戲引擎。這里記錄下入門學習使用 …

[C語言]猜數字游戲

文章目錄 一、游戲思路揭秘二、隨機數生成大法1、初探隨機數:rand函數的魔力2、隨機數種子:時間的魔法3、抓住時間的精髓:time函數 三、完善程序四、游戲成果1、游戲效果2、源代碼 一、游戲思路揭秘 猜數字游戲,這個聽起來就讓人…

LeetCode392_判斷子序列

LeetCode392_判斷子序列 標簽:#雙指針 #字符串 #動態規劃Ⅰ. 題目Ⅱ. 示例 0. 個人方法官方題解一:雙指針官方題解二:動態規劃 標簽:#雙指針 #字符串 #動態規劃 Ⅰ. 題目 給定字符串 s 和 t ,判斷 s 是否為 t 的子序…

Python匿名函數與內置函數較難與較冷門知識點考前速記

5 lambda匿名函數與Python內置函數 lambda 函數通常用于編寫簡單的、單行的函數,通常在需要函數作為參數傳遞的情況下使用,例如在 map()、filter()、sorted()、list.sort() 等函數與方法中。 lambda語法格式: lambda arguments: expression lambda是 Python 的關鍵字,用…

DeepSeek談《鳳凰項目 一個IT運維的傳奇故事》

《鳳凰項目:一個IT運維的傳奇故事》(The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win)是Gene Kim、Kevin Behr和George Spafford合著的一部小說,通過虛構的故事生動展現了IT運維中的核心挑戰和Dev…

【上海大學數據庫原理實驗報告】MySQL基礎操作

實驗目的 熟悉MySQL基礎操作。 實驗內容 創建四張工程項目的關系表。 圖 1 四張工程項目關系表的結構 檢索供應零件編號為J1的工程的供應商編號SNO。檢索供應零件給工程J1,且零件編號為P1的供應商編號SNO。查詢沒有正余額的工程編號、名稱及城市,結果…

winget使用

Get-Command winget winget search qq winget install Tencent.QQ.NT

邏輯回歸在信用卡欺詐檢測中的實戰應用

在大數據和機器學習蓬勃發展的時代,信用卡欺詐檢測成為了保障金融安全的重要環節。邏輯回歸作為一種經典的機器學習算法,在這一領域發揮著關鍵作用。本文將通過一段完整的Python代碼,詳細解析邏輯回歸在信用卡欺詐檢測中的具體應用過程&#…

矯平機:金屬板材精密加工的“整形專家”

一、矯平機的定義與核心功能 矯平機(Leveling Machine)是金屬加工領域的關鍵設備,主要用于消除金屬板材或帶材在軋制、運輸過程中產生的內應力,矯正其彎曲、扭曲、波浪邊等形變缺陷,使材料達到毫米級甚至微米級的平整…

百度「心響」:通用超級智能體,重新定義AI任務執行新范式

在AI技術從“對話交互”邁向“任務執行”的轉折點,百度于2025年4月正式推出移動端超級智能體應用——心響。這款以“AI任務完成引擎”為核心的創新產品,被譽為“AI指揮官”,通過自然語言交互實現復雜任務的全流程托管,覆蓋知識解析…

游戲性能測試

1. 分階段,看目的,確定高中低三檔測試機,最低檔機的確定需要和客戶端主程和制作人等共同確定 確定三檔機的方式: 1. 要上線地區的top100,根據用戶占比,劃分出三檔 2. 根據用研部門提供的數據,確…

react-10樣式模塊化(./index.module.css, <div className={welcome.title}>Welcome</div>)

1.react樣式模塊化 避免各個組件類名相同 相關樣式沖突所以需要樣式模塊化。比如在組件Hello中的樣式引入,將樣式文件名更改為index.module.css如下圖。 2. 文件中引入模塊以及使用 文件中import引入模塊樣式 import welcome from "./index.module.css"…