大語言模型 17 - MCP Model Context Protocol 介紹對比分析 基本環境配置

MCP

基本介紹

官方地址:

  • https://modelcontextprotocol.io/introduction
    “MCP 是一種開放協議,旨在標準化應用程序向大型語言模型(LLM)提供上下文的方式。可以把 MCP 想象成 AI 應用程序的 USB-C 接口。就像 USB-C 提供了一種標準化的方式,讓你的設備能夠連接各種外設和配件一樣,MCP 也提供了一種標準化的方式,讓 AI 模型能夠連接不同的數據源和工具。”

在這里插入圖片描述
● MCP 主機(MCP Hosts):像 Claude Desktop、IDE 或 AI 工具等程序,它們希望通過 MCP 訪問數據。
● MCP 客戶端(MCP Clients):維護與服務器 1:1 連接的協議客戶端。
● MCP 服務器(MCP Servers):輕量級程序,它們通過標準化的模型上下文協議(Model Context Protocol)公開特定的功能。
● 本地數據源(Local Data Sources):你的計算機上的文件、數據庫和服務,MCP 服務器可以安全地訪問這些數據。
● 遠程服務(Remote Services):通過互聯網可用的外部系統(例如 API),MCP 服務器可以與其連接。

https://www.anthropic.com/news/model-context-protocol
在這里插入圖片描述

社區也在積極推進:

  • https://github.com/modelcontextprotocol

在這里插入圖片描述

為什么

官方給的選擇理由:
MCP 幫助您在 LLM 之上構建智能體和復雜的工作流。LLM 經常需要與數據和工具集成,而 MCP 提供:
● 越來越多的預構建集成,您的 LLM 可以直接接入
● 在不同的 LLM 提供商和供應商之間靈活切換的能力
● 在您的基礎設施內保護數據的最佳實踐

對比FC

MCP 本質上是 通過 JSON 的標準,將工具的能力、參數等描述清楚,在和大模型對話的時候,傳遞到上下文中。
而 Function Call 是需要 LLM 支持的,比如在 DeepSeek-R1 中,開源版本不支持 Function Call 的,所以此時我們實現的功能就會受到限制。
Function Call 主要用于擴展模型的功能,使其能執行任務,而 Model Context Protocol (MCP) 主要用于維持對話上下文,增強模型的個性化和記憶能力。
兩者互補,使得 AI 既能高效執行任務,又能保持對話連貫性。

這里呢,我生成了一個表格來進行對比:
在這里插入圖片描述

應用場景

● 智能代碼編輯器 (IDE): 與文件系統、版本控制、包管理器和文檔集成,以實現更豐富的上下文感知和代碼建議 。
● 智能助手和生產力工具: 使 AI 助手能夠訪問日歷、電子郵件、文檔和其他個人或企業數據,以執行諸如安排日程、總結信息和管理工作流程等任務 。
● 增強的數據分析平臺: 允許 AI 自主發現并與多個數據庫、數據可視化工具和模擬進行交互,以進行復雜的數據分析 。 提到 AI2SQL 是使用 MCP 進行 AI 驅動數據查詢的一個例子。
● 用于特定任務的自定義 AI 代理: 構建專門的 AI 代理,可以利用特定的工具和數據源來自動化客戶支持、財務和運營等領域的任務 。

我怎么看

接觸了這么多 LLM、Agent,很多時候大模型只是充當一個銜接的能力,本質還是要提供出API,才可以對大模型的能力進行擴展,來實現和業務的結合。
經常會出現:AI 集成問題(M 個模型 x N 個工具需要 M*N 個集成)
但實際在做東西的時候,我發現對應的開放出這些API來是非常困難的,每個平臺都不一樣,各自的接口也都不一樣,所以 MCP 可以幫助我更輕松的把這些東西銜接起來。
有點像:OpenAI 的 API 定義了一個結構,大家后續出的API都是按照這個結構來的,這樣的話,大家在 Python 編碼的時候,只需要修改 base_url 和 api_key 就好了,剩下的入參和回參都是一樣的。

在這里插入圖片描述

安裝UV

uv 是一個現代化的 Python 軟件包管理器,旨在取代 pip、venv 和 virtualenv。
在這里插入圖片描述

執行直接安裝:

curl -LsSf https://astral.sh/uv/install.sh | sh

官方示例

Data and file systems

● Filesystem - Secure file operations with configurable access controls
● PostgreSQL - Read-only database access with schema inspection capabilities
● SQLite - Database interaction and business intelligence features
● Google Drive - File access and search capabilities for Google Drive

Development tools

● Git - Tools to read, search, and manipulate Git repositories
● GitHub - Repository management, file operations, and GitHub API integration
● GitLab - GitLab API integration enabling project management
● Sentry - Retrieving and analyzing issues from Sentry.io

Web and browser automation

● Brave Search - Web and local search using Brave’s Search API
● Fetch - Web content fetching and conversion optimized for LLM usage
● Puppeteer - Browser automation and web scraping capabilities

Productivity and communication

● Slack - Channel management and messaging capabilities
● Google Maps - Location services, directions, and place details
● Memory - Knowledge graph-based persistent memory system

AI and specialized tools

● EverArt - AI image generation using various models
● Sequential Thinking - Dynamic problem-solving through thought sequences
● AWS KB Retrieval - Retrieval from AWS Knowledge Base using Bedrock Agent Runtime

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

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

相關文章

云原生安全之PaaS:從基礎到實踐的技術指南

??「炎碼工坊」技術彈藥已裝填! 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 云原生安全之PaaS:從基礎到實踐的技術指南 一、基礎概念 PaaS(Platform as a Service)平臺 PaaS是一種云計算服務模型,為開發者提供應用程序的開發、部署和運行環境,涵…

Chrome中http被強轉成https問題

原因:2023年11月1日,chrome發布HTTPS-Upgrades功能,在用戶訪問 http:// 的舊鏈接之后,會自動嘗試跳轉到通過加密的 https:// 協議,訪問該網站。且探測到 https 服務存在也會自動改成 https。 親測兩種方案可行&#x…

Linux 操作文本文件列數據的常用命令

文章目錄 Linux 操作文本文件列數據的常用命令基本列處理命令高級列處理列數據轉換和排序列數據統計和分析 Linux 操作文本文件列數據的常用命令 Linux 提供了多種強大的命令來處理文本文件中的列數據,以下是一些最常用的命令和工具: 基本列處理命令 c…

如何理解線性判別分析(LDA)算法?

在高維數據空間中,特征變量呈指數級增長,信息分布密集且復雜。研究者在面對海量特征時,仿佛置身于一幅結構高度抽象且維度交織的多變量圖景之中,其解析與建模猶如在一幅復雜的數據宇宙圖譜中導航,既需理論框架的指引,也依賴于算法工具的精確刻畫。如何從眾多維度中篩選出…

鴻蒙UI開發——Builder函數的封裝

1、問題引入 我們在開發中可能會遇到這樣一個問題:將一個Builder修飾后的函數用變量或者數組記錄下來,在業務其他地方使用這些Builder函數。 舉個例子,有下面一段代碼: Builderfunction builderElement() {}let builderArr: Fu…

ARM筆記-ARM指令集

第三章 ARM指令集 3.1 ARM指令集簡介 ARM微處理器的ARM指令集 ,所有的指令長度都是32位 ,并且大多數指令都在一個單獨指令周期內執行。 主要特點: 指令是條件執行的ARM微處理器的指令集是加載/存儲型的在多寄存器操作指令中一次最多可以完成…

Spring Boot接口通用返回值設計與實現最佳實踐

一、核心返回值模型設計(增強版) package com.chat.common;import com.chat.util.I18nUtil; import com.chat.util.TraceUtil; import lombok.AllArgsConstructor; import lombok.Data; import lombok.Getter;import java.io.Serializable;/*** 功能: 通…

2025年上半年軟件架構師考試回憶版【持續更新】

文章目錄 案例分析1、端AI相對于云AI的優勢2、redis持久化,主從庫3、解釋器架構風格4、知識圖譜5、區塊鏈 論文1、基于事件驅動的模型2、多模型數據庫及其應用3、負載均衡設計方法4、論軟件測試理論及其應用 考試感受 2025年軟件考試架構考試于5月24日如期舉行&…

Windows下編譯Zipios

本文記錄在Windows下編譯Zipios的流程。 注1:文章內容會不定期更新。 零、環境 操作系統Windows 11VS Code1.92.1Git2.34.1Visual StudioVisual Studio Community 2022CMake3.22.1 一、安裝依賴 二、編譯 2.1 下載代碼 git clone https://github.com/Zipios/Zi…

SOC-ESP32S3部分:11-任務創建

飛書文檔https://x509p6c8to.feishu.cn/wiki/EH3owsPahisvl6kL6k3cqaQ3n0g 在我們學習單片機的時候,main函數入口中一般有一個while大循環在不停輪詢,如果我們需要實現多種不同的業務,就需要用到狀態機,根據不同時刻的要求執行不…

[Git] 如何進行版本回退

版本控制系統最重要的能力之一,就是能夠輕松地在項目的不同歷史版本之間切換。有時,你可能發現最近的修改引入了嚴重問題,或者需要回到之前的某個節點重新開始。這時,“版本回退”功能就派上用場了。 版本回退:反方向…

易貝平臺關鍵字搜索技術深度解析

一、核心搜索機制 關鍵詞匹配原理 采用TF-IDF算法計算關鍵詞權重 支持同義詞擴展(如"phone"匹配"cellphone") 標題權重 > 副標題 > 商品描述 搜索排序因素 # 搜索權重模擬計算 def calculate_rank(keyword, item): title…

深度剖析 MCP SDK 最新版:Streamable HTTP 模式

好記憶不如爛筆頭,能記下點東西,就記下點,有時間拿出來看看,也會發覺不一樣的感受. 目錄 一、概述 二、快速上手:開啟 Streamable HTTP 服務端開啟 客戶端連接 三、深入兩個核心參數 stateless_http json_resp…

樹莓派開箱上手教程(無需顯示器版)

樹莓派開箱上手教程(無需顯示器版) 硬件準備 名稱參數電源適配器5V電源適配器,至少需要3A的額定電流,配備USB Type-C輸出接頭microSD卡用來將樹莓派的操作系統安裝到上邊,至少需要8GB容量,一般建議16GB及以…

MySQL強化關鍵_015_存儲過程

目 錄 一、概述 1.說明 2.優點 3.缺點 二、存儲過程的操作 1.創建 2.調用 3.查看 4.刪除 三、變量 1.系統變量 (1)說明 (2)查看系統變量 (3)設置系統變量 2.用戶變量 (1&…

動態規劃dp

這里寫目錄標題 動態規劃01背包完全背包多重背包混合背包二維費用的背包分組背包有依賴的背包背包問題求方案數背包問題求具體方案數位 DP狀壓 DP常用例題 動態規劃 01背包 有 n n n 件物品和一個容量為 W W W 的背包,第 i i i 件物品的體積為 w [ i ] w[i] w…

arcgis js統計FeatureLayer的橢球面積、平面面積

1、導入依賴 import FeatureLayer from arcgis/core/layers/FeatureLayer import { geodesicArea, planarArea, simplify } from arcgis/core/geometry/geometryEngine; import { project, load as projectionLoad } from arcgis/core/geometry/projection2、初始化project o…

2.2.1 05年T2

引言 本文將從一預習、二自習、三學習、四復習等四個階段來分析2005年考研英語閱讀第二篇文章。為了便于后續閱讀,我將第四部分復習放在了首位。 四、復習 方法:錯誤思路分析總結考點文章梳理 4.1 錯題分析 題目:26(細節題&…

Java 連接并操作 Redis 萬字詳解:從 Jedis 直連到 RedisTemplate 封裝,5 種方式全解析

引言 在分布式系統和高并發場景中,Redis 作為高性能內存數據庫的地位舉足輕重。對于 Java 開發者而言,掌握 Redis 的連接與操作是進階必備技能。然而,從基礎的 Jedis 原生客戶端到 Spring 封裝的 RedisTemplate,不同連接方式的原…

談談對《加密算法》的理解

文章目錄 一、什么是加密算法?二、常見的加密算法有哪些?2.1 對稱加密2.2 非對稱加密2.3 哈希算法 三、加密算法代碼展示3.1 MD5加密3.2 秘鑰加密3.3 AES加密解密 四、加密算法的使用場景 一、什么是加密算法? 加密算法是一種通過數學方法將…