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

在這里插入圖片描述

MCP(Model Context Protocol,模型上下文協議)是由人工智能公司 Anthropic2024年11月 推出的開放標準協議,旨在為大型語言模型(LLM)與外部數據源、工具及服務提供標準化連接,從而提升AI在實際應用中的靈活性和執行能力。以下是其核心要點:


一、核心定義與功能

  1. AI的“萬能接口”
    MCP被類比為“AI領域的USB-C接口”,通過統一通信標準,解決傳統API集成的碎片化問題,使AI模型(如ChatGPT、Claude)能夠無縫連接數據庫、文件系統、API工具(如GitHub、Slack)等外部資源。

  2. 主動執行能力
    不同于傳統AI僅生成文本,MCP支持AI直接操控現實工具,例如自動發送郵件、查詢數據庫、生成代碼或預訂機票,推動AI從被動響應轉向主動執行。

  3. 安全與效率優化
    通過預定義協議減少代碼定制需求,降低開發門檻,同時確保數據交互的安全性。


二、技術架構與工作原理

  1. 核心組件

    • MCP Host:宿主應用(如Claude Desktop、IDE),提供AI交互環境并管理外部系統連接。
    • MCP Client:協議客戶端,將AI的請求轉換為標準化消息。
    • MCP Server:輕量級中間件,暴露特定功能接口(如數據庫查詢、文件讀寫),供AI調用。
  2. 工作流程

    • 客戶端獲取可用工具列表,結合用戶查詢發送給LLM。
    • LLM決策是否調用工具,通過Server執行操作并整合結果返回用戶。
  3. 與RAG、Agent的區別

    • RAG 僅輔助信息檢索,而MCP支持實際操作。
    • AI Agent 強調自主性,MCP則專注標準化通信,兩者互補。

三、優勢與創新

  1. 動態工具集成
    允許運行時發現新工具(如臨時接入GitHub API),突破傳統預定義函數的限制。

  2. 上下文感知與多步任務
    AI可跨多步驟任務保持上下文(如先查數據庫再生成報告),避免單次檢索的局限性。

  3. 開放生態與協作網絡

    • 開發者只需構建一次MCP Server,即可被多個宿主應用(如Claude、Cursor、VS Code)復用。
    • 支持跨服務協作(如整合Google Maps、Yelp數據生成旅行計劃),打破傳統應用孤島。

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

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

相關文章

【mongodb】數據庫操作

目錄 1. 查看所有數據庫2. 切換到指定數據庫(若數據庫不存在,則創建)3. 查看當前使用的數據庫4. 刪除當前數據庫5.默認數據庫 1. 查看所有數據庫 1.show dbs2.show databases 2. 切換到指定數據庫(若數據庫不存在,則…

ICPR-2025 | 讓機器人在未知環境中 “聽懂” 指令精準導航!VLTNet:基于視覺語言推理的零樣本目標導航

作者:Congcong Wen, Yisiyuan Huang, Hao Huang ,Yanjia Huang, Shuaihang Yuan, YuHao, HuiLin and Yi Fang 單位:紐約大學阿布扎比分校具身人工智能與機器人實驗室,紐約大學阿布扎比分校人工智能與機器人中心,紐約大學坦登工程…

基于DeepSeek的考研暑假日志分析

注:我去年考研時寫了日志,大致記錄了我每天的主要活動。由于過于瑣碎,一直沒有翻看。突發奇想,現在利用deepseek總結其中規律。 從你的日志中可以總結出以下規律和活動興衰起落: ??一、學習活動規律與演變?? ??…

【刷題Day20】TCP和UDP

TCP 和 UDP 有什么區別? TCP提供了可靠、面向連接的傳輸,適用于需要數據完整性和順序的場景。 UDP提供了更輕量、面向報文的傳輸,適用于實時性要求高的場景。 特性TCPUDP連接方式面向連接無連接可靠性提供可靠性,保證數據按順序…

REST 架構詳解:從概念到應用的全面剖析

REST(Representational State Transfer)即表述性狀態轉移,是一種用于構建網絡應用程序的架構風格和設計理念,由計算機科學家羅伊?菲爾丁(Roy Fielding)在 2000 年提出。以下是關于它的詳細介紹&#xff1a…

藍橋杯之遞歸二

1.數的劃分 題目描述 將整數 nn 分成 kk 份,且每份不能為空,任意兩份不能相同(不考慮順序)。 例如:n7,k3n7,k3,下面三種分法被認為是相同的。 1,1,5;1,5,…

LeetCode(Hot.2)—— 49.字符異位詞分組題解

Problem: 49. 字母異位詞分組 字母異位詞的定義是:兩個單詞的字母組成一樣,但順序可以不同,比如 eat、tea 和 ate 就是一個組的。 思路 將每個字符串按字母排序,把排序后的字符串作為 key,相同 key 的放在一個 list 中…

為什么信號完整性對于高速連接器設計至關重要?

外部連接器通過在各種電子元件和系統之間可靠地傳輸數據而不損失保真度來保持信號完整性。在本文中,我們將討論信號完整性的重要性,回顧高速部署挑戰,并重點介紹各種連接器設計策略,以防止失真和降級。 了解連接器信號完整性挑戰…

得物官網sign簽名逆向分析

打開得物官網,點擊鞋類,可以看到請求 直接搜sign function p(e) {return f()("".concat(e ? s()(e).sort().reduce(function(t, n) {return "".concat(t).concat(n).concat(e[n])}, "") : "", "048a9…

Ubuntu 安裝WPS Office

文章目錄 Ubuntu 安裝WPS Office下載安裝文件安裝WPS問題1.下載缺失字體文件2.安裝缺失字體 Ubuntu 安裝WPS Office 下載安裝文件 需要到 WPS官網 下載最新軟件,比如wps-office_12.1.0.17900_amd64.deb 安裝WPS 執行命令進行安裝 sudo dpkg -i wps-office_12.1…

javaSE.判空包裝類

判空包裝類Optional,這個類可以很有效的處理空指針問題 空指針異常👇 特判null👇 Optional類可以更加優雅地處理這種問題👇👇 ofNullable👇 isPresent isEmpty 👇 👇 包裝之后&…

使用 vcpkg 構建支持 HTTPS 的 libcurl 并解決常見鏈接錯誤

適用環境:Windows 10/11 Visual Studio 2022 CMake ≥ 3.20 目標讀者:希望在 C 項目中輕松調用 HTTPS(GET/POST/PUT/DELETE),又被 LNK20xx 鏈接錯誤困擾的開發者 目錄 為什么選 vcpkg 與 libcurl用 vcpkg 安裝帶 SS…

ISO26262-淺談用例導出方法和測試方法

目錄 1 摘要2 測試方法3 測試用例導出方法4 測試方法與用例導出方法的差異和聯系5 結論 1 摘要 ISO26262定義了測試方法和用例導出方法,共同保證產品的開發質量。但在剛開始學習ISO26262的時候,又不是非常清晰地理解它倆的區別和聯系。本文主要對它倆的…

RoBoflow數據集的介紹

https://public.roboflow.com/object-detection(該數據集的網址) 可以看到一些基本情況 如果我們想要下載,直接點擊 點擊圖像可以看到一些基本情況 可以點擊紅色箭頭所指,右邊是可供選擇的一些yolo模型的格式 如果你想下載…

基于CFSSL構建高可用ETCD集群全指南(含TLS證書管理)

基于CFSSL構建高可用ETCD集群全指南(含TLS證書管理) 摘要:本文深入講解使用CFSSL工具簽發TLS證書,并部署生產級高可用ETCD集群的完整流程。涵蓋證書全生命周期管理、集群配置優化及安全加固方案,適用于Kubernetes、分…

【設計模式】適配器模式:讓不兼容的接口和諧共處

引言 在軟件開發中,我們經常會遇到這樣的情況:兩個已經存在的接口無法直接協同工作,但我們又希望它們能夠無縫對接。這時,適配器模式就派上用場了。適配器模式(Adapter Pattern)是一種結構型設計模式&…

doris/clickhouse常用sql

一、doris常用SQL 1、doris統計數據庫的總大小(單位:MB) SELECT table_schema AS database_name,ROUND(SUM(data_length) / 1024 / 1024, 2) AS database_size_MB FROM information_schema.tables WHERE table_schema NOT IN (information…

軟件架構分層策略對比及Go項目實踐

一、水平分層 vs 功能劃分 vs 組件劃分 維度水平分層功能劃分組件劃分核心思想按垂直層次劃分職責(如表示層、業務層、數據層)按業務功能模塊劃分(如用戶管理、訂單服務、支付模塊)按技術或業務能力劃分獨立組件(如數…

Linux進程地址空間、寫時拷貝

1.進程地址空間 感知進程地址空間 C/C有內存的概念,內存空間包括棧、堆、代碼段等等,下面是32位下的內存分布圖,自底向上(由0x00000000至0xFFFFFFFF); 下面通過程序來驗證各個數據在該空間的地址,由此感知整個地址空間的分布情…

python成功解決AttributeError: can‘t set attribute ‘lines‘

文章目錄 報錯信息與原因分析解決方法示例代碼代碼解釋總結 報錯信息與原因分析 在使用 matplotlib繪圖時,若嘗試使用 ax.lines []來清除圖表中的線條,會遇到AttributeError: can’t set attribute錯誤。這是因為 ax.lines是一個只讀屬性,不…