MCP基本概念

基本概念

現在大模型交互的熱門形式:

  • 第一、Agent與Tools(工具)的交互Agent需要調用外部工具和APl、訪問數據庫、執行代碼等。=> MCP

  • 第二、Agent與Agent(其他智能體或用戶)的交互Agent需要理解其他Agent的意圖、協同完成任務、與用戶進行自然的對話。 => A2A

file_1750141255213_706

image-20250617142226102

MCP(Model Context Protocol,模型上下文協議) ,2024年11月底,由 Anthropic 推出的一種開放標準。旨在為大語言模型(LLM)提供統一的、 標準化方式與外部數據源和工具之間進行通信。

官方文檔:https://modelcontextprotocol.io/introduction

image-20250617142449457

MCP 查詢:

github查看:

  • MCP官方資源:https://github.com/modelcontextprotocol/servers
  • MCP熱門資源:https://github.com/punkpeye/awesome-mcp-servers

其它平臺:

  • Glama:https://glama.ai/mcp/servers
  • Smithery:https://smithery.ai
  • cursor:https://cursor.directory
  • MCP.so:https://mcp.so/zh
  • 阿里云百煉:https://bailian.console.aliyun.com/?tab=mcp#/mcp-market

MCP兩種通信機制(傳輸方式):

  • stdio(標準輸入輸出):主要用在本地服務上,操作你本地的軟件或者本地的文 件。比如 Blender 這種就只能用 Stdio 因為他沒有在線服務。=> MCP默認通信方式
  • SSE(Server-Sent Events):主要用在遠程通信服務上,這個服務本身就有在線 的 API,比如訪問你的谷歌郵件,天氣情況等。

stdio方式:

  1. 優點
    • 這種方式適用于客戶端和服務器在同一臺機器上運行的場景,簡單。
    • stdio模式無需外部網絡依賴,通信速度快,適合快速響應的本地應用。
    • 可靠性高,且易于調試
  2. 缺點
    • Stdio 的配置比較復雜,我們需要做些準備工作,你需要提前安裝需要的命令行工具。
    • stdio模式為單進程通信,無法并行處理多個客戶端請求,同時由于進程資源開銷較大,不適合 在本地運行大量服務。(限制了其在更復雜分布式場景中的使用)

SSE方式:

  1. 場景

    • SSE方式適用于客戶端和服務器位于不同物理位置的場景。
    • 適用于實時數據更新、消息推送、輕量級監控和實時日志流等場景
    • 對于分布式或遠程部署的場景,基于 HTTP 和 SSE 的傳輸方式則更為合適。
  2. 優點 :配置方式非常簡單,基本上就一個鏈接就行,直接復制他的鏈接填上就行

快速使用-以cursor為例

stdio的本地環境安裝 stdio的本地環境有兩種: 一種是Python 編寫的服務, 一種用TypeScript 編寫的服務。 分別對應著uvx 和 npx 兩種指令。

在 Cursor 中添加 MCP Server 有兩種配置方式:

  • 全局設置:通過 Cursor Settings -> MCP -> Add new global MCP server 添加全局可用的 MCP 服務。
  • 項目級別:在項目目錄的 .cursor 目錄中新建 mcp.json 文 件進行配置,僅對特定項目生效。

image-20250617165018530

首先需要選擇MCP SERVER 平臺,比如我們可以在 https://smithery.ai/ 下搜索 mysql 來使用 數據庫服務。選擇一個使用量大的一般沒問題,然后可以使用自動導入 mcp 和手動導入 json 來鏈接 mcp 。

自動導入直接 auto 里面選擇 cursor ,填好對應的信息就自動導入了。

手動導入需要填好 json 信息,然后生成 json 文件內容,復制到項目跟目錄下的 .cursor/mcp.json 文件中。

image-20250617165203460

image-20250617165428182

然后查看 cursor 中的 mcp 服務是否開啟,開啟后前方會出現綠色小點。(紅色是錯誤,黃色是進行中,綠色是連接成功)

image-20250617165509852

如果這樣一直報錯,可能的原因是 mcp 服務本身有問題,還有就是可能引入方法不對,可以進入對應的 github 查看下其他的的引入方法。

image-20250617165941712

然后其他同樣的道理,還可以引入比如高德地圖服務、文件系統(filesystem )服務(操作文件)等等。

然后可以通過 agent 來測試下 mcp 是否生效:

現在交給你一個任務,編寫一個北京一日游的出行攻略
1、從高德地圖的MCP服務中獲取北京站到天安門、天安門到頤和園、頤和園到南鑼鼓巷
的地鐵線路,并保存在數據庫beijing_trip的表subway_trips中
2、從高德地圖的MCP中獲取頤和園、南鑼鼓巷附件的美食信息,每處獲取三家美食店鋪
信息,并將相應的信息存入表location_foods中
3、在工作目錄D:\MCPWorkSpace下創建一個新的文件夾,命名為“北京旅行”在其中創
建兩個txt,分別從數據庫中將兩個表的內容提取出存放進去。
4、最后根據txt中的內容,生成一個精美的html前端展示頁面,并存放在該目錄下

其他平臺使用

其他比較熱門的平臺比如 vscode 插件 cline 使用方法都是大同小異。

image-20250617170327133

插件右上角設置中配置:

image-20250617171059413

設置中有兩種模式:一種是 plan mode (需求規劃,任務執行的順序),一種是 act mode (直接執行任務)。

image-20250617170312306

image-20250617171009212

之后正常調用 mcp 即可。

MCP 工作原理

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

  • MCP 主機(MCP Hosts)
  • MCP 客戶端( MCP Clients )
  • MCP 服務器( MCP Servers )
  • 本地資源( Local Resources )
  • 遠程資源( Remote Resources )

image-20250617171347335

  1. mcp host 作為運行 MCP 的主應用程序,例如 Claude Desktop、Cursor、Cline 或 AI 工具。 為用戶提供與LLM交互的接口,同時集成 MCP Client 以連接 MCP Server。

  2. MCP client 充當 LLM 和 MCP server 之間的橋梁,嵌入在主機程序中,主要負責: ? 接收來自LLM的請求; ? 將請求轉發到相應的 MCP server ? 將 MCP server 的結果返回給 LLM

MCP 官網(https://modelcontextprotocol.io/clients) 列出來一些支持 MCP 的 Clients。 分為兩類: ? AI編程IDE:Cursor、Cline、Continue、Sourcegraph、Windsurf 等 ? 聊天客戶端:Cherry Studio、Claude、Librechat、Chatwise等。更多的Client參考這里: MCP Clients:https://www.pulsemcp.com/clients Awesome MCP Clients:https://github.com/punkpeye/awesome-mcp-clients/

  1. MCP Server 每個 MCP 服務器都提供了一組特定的工具,負責從本地數據或遠程服務中檢索信息。 是 MCP 架構中的關鍵組件。與傳統的遠程 API 服務器不同,MCP 服務器既可以作為本地應用程序(stdio)在用戶設備上運 行,也可部署至遠程服務器(sse)。本質是運行在電腦上的一個nodejs或python程序。可以理解為客戶端用命令行調用了 電腦上的nodejs或python程序。

image-20250617171635415

API 主要有兩個: 1、 tools/list:列出 Server 支持的所有工具 2、 tools/call:Client 請求 Server 去執行某個工具, 并將結果返回

image-20250617171716081

image-20250617171721817

在MCP的概念中,Cursor屬于一個MCP的宿主應用(Host-app),而Cursor之所以 能使用MCP服務,是因為它內置安裝了MCP Client。

我們目前在配置Cursor中的MCP時,本質是在配置MCP Server,這些Server是由 不同的開發者提供的,他們基于標準化的MCP協議,做了個小的服務,這些服 務可能在本地也可能在云端,而我們實際上也完全可以按自己的需要去制作 MCP Server。

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

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

相關文章

Docker容器相關命令介紹和示例

Docker 容器是鏡像的運行實例。以下是常用的 Docker 容器命令及其示例&#xff1a; 1. 運行容器 docker run [選項] <鏡像名> [命令]常用選項&#xff1a; -d&#xff1a;后臺運行&#xff08;守護模式&#xff09;-it&#xff1a;交互式終端--name&#xff1a;指定容…

【Akshare】高效下載股票和ETF數據

在量化投資與金融數據分析的世界里&#xff0c;獲取高質量的市場數據是構建有效策略的關鍵。Python庫Akshare為我們提供了一個強大且易于使用的接口&#xff0c;可以輕松地從網絡上抓取各類金融數據。本文將詳細介紹如何利用Akshare下載股票和ETF的歷史行情數據。 安裝Akshare…

分布式--3--分布式事務

1 簡介 事務在單系統中的表現&#xff1a;多次數據庫操作用事務進行管理&#xff0c;來保證ACID原則。 但是如果各個模塊都是單獨獨立出來的微服務&#xff0c;進行了分布式部署&#xff0c;單系統里的事務將不能保證各個數據庫操作的一致性&#xff0c;因此就需要分布式事務來…

不同建模方式的介紹 RTL建模筆記(1)

說明&#xff1a;該專欄"RTL建模筆記"是《RTL Modeling with SystemVerilog for Simulation and Synthesis》的翻譯&#xff1b;該筆記略過了第一章第一小節中背景介紹內容&#xff0c;以及第二小節前面部分的門級、RTL級建模介紹&#xff0c;對于后續學習不影響。 …

<13>-MySQL用戶管理

目錄 一&#xff0c;用戶管理操作 1&#xff0c;創建用戶 2&#xff0c;查詢用戶 3&#xff0c;修改密碼 4&#xff0c;刪除用戶 二&#xff0c;數據庫權限 1&#xff0c;用戶授權 2&#xff0c;回收權限 一&#xff0c;用戶管理操作 1&#xff0c;創建用戶 --創建用戶…

如何使用超低噪聲電源提高AD 時鐘電路質量,改善超聲系統的圖像質量

超聲波技術是醫療診斷和其他應用中廣泛使用的無創工具&#xff0c;已經從靜態圖像進化到動態圖像&#xff0c;從黑白呈現變為彩色多普勒圖像。這些重大進步主要是由于引入了數字超聲技術。雖然這些進步提高了超聲成像的有效性和通用性&#xff0c;但同樣重要的是&#xff0c;這…

【解決方案】Kali 2022.3修復倉庫密鑰一鍵安裝docker,docker compose

1、Kali 2022.3 2、一鍵安裝docker&#xff0c;docker compose #!/bin/bashecho " 安全的Kali Docker安裝腳本 "# 備份重要配置 cp /etc/apt/sources.list /etc/apt/sources.list.backup.$(date %Y%m%d)# 修復Kali倉庫配置 echo "修復Kali倉庫配置..." ca…

Transformer、RNN (循環神經網絡) 和 CNN (卷積神經網絡)的區別

我們來詳細對比一下 Transformer、RNN (循環神經網絡) 和 CNN (卷積神經網絡) 這三種在深度學習中極其重要的架構&#xff0c;并通過具體例子說明它們的區別。 核心區別總結&#xff1a; 處理數據的方式&#xff1a; CNN: 專注于局部特征和空間/時間模式。通過卷積核在輸入數據…

408第二季 - 組成原理 - 數據類型轉換

這章內容會比較少 閑聊 如果題目說把8位改成4位&#xff0c;你保留低位就行了 這里保留的是0101 然后是有符號數和無符號數的轉換 機器數就是二進制長什么樣子 然后就是小數點是不參與存儲的 然后簡單看看代碼 這是short就說明是有符號數 unsigned就是說明是無符號數 然后y…

讓 Deepseek 寫電器電費計算器(html版本)

以下是一個簡單的電器電費計算器的HTML和CSS代碼&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

react_flow自定義節點、邊——使用darg布局樹狀結構

文章目錄 ?前言?引入react-flow?自定義節點nodeType?自定義邊edgeType?添加節點?inscode代碼塊?結束 ?前言 大家好&#xff0c;我是yma16&#xff0c;本文分享 前端 ——react_flow自定義節點、邊——使用darg布局樹狀結構。 自定義效果 可以自定義節點、邊、線條流動…

word表格批量轉excel,提取表格數據到excel

本文將帶你一步步實現一個將 Word 中的表格內容批量提取并轉換為 Excel 文件的自動化工具&#xff0c;適用于需要手動復制粘貼數據到excel的場景 假設我們有這樣的表格在word中&#xff0c;圖片世放在excel中便于截圖&#xff0c;現在需要將表格中有顏色的數據提取到對應的exce…

day2課程

1.添加pinia到Vue項目 2.counter基礎使用 3.getters和異步action 4.storeToRefs和調試 5.項目初始化和git管理 6.別名路徑聯想設置 7.elementsPlus自動按需導入配置 這個項目使用的是按需引入 1.安裝包管理器 npm install element-plus --save 2.按需引入 npm install -D unp…

Vue3 + TypeScript + Element Plus 設置表格行背景顏色

技術要點&#xff1a; 1、使用 :row-class-name"setRowClassName" 設置表格行類名 2、不能同時使用 stripe 3、設置行類名的樣式 應用效果&#xff1a; 同時使用 stripe 出來的效果&#xff1a; 參考代碼&#xff1a; ReagentTable.vue <script setup lang&…

山東大學 軟件項目管理知識點總結

軟件項目管理背誦總結 將老師所發ppt的知識點整理&#xff0c;方便查閱與背誦。 文章目錄 軟件項目管理背誦總結1. 概述1.1 什么是項目&#xff1f;1.2 項目有那些特征&#xff1f;1.3 項目于日常工作有什么區別&#xff1f;1.4 如何衡量一個項目是否成功&#xff1f;1.5 軟件項…

css基礎筆記簡潔版1

&#x1f4d8; CSS 基礎筆記 1 一、CSS 簡介 CSS&#xff08;層疊樣式表&#xff09;用于為網頁添加樣式&#xff0c;實現結構與樣式分離&#xff0c;能夠控制顏色、字體、布局、位置、動畫等視覺效果。 二、基本語法 選擇器 {屬性1: 值1;屬性2: 值2; }說明&#xff1a; 選…

reactor模型學習

學習鏈接 狂野架構師第四期netty視頻 - B站視頻 狂野架構師訓練營6期 - B站視頻 Netty學習example示例&#xff08;含官方示例代碼&#xff09; LG-Netty學習 【硬核】肝了一月的Netty知識點 - 啟動過程寫的很詳細 Reactor模型講解 一文搞懂Reactor模型與實現 高性能網絡編…

應用探析|千眼狼高速攝像機、sCMOS相機、DIC測量、PIV測量在光學領域的應用

2025&#xff0c;長春&#xff0c;中國光學學會學術大會。中科視界攜千眼狼品牌四大科學儀器高速攝像機、sCMOS科學相機、DIC應變測量系統、PIV流場測量系統亮相&#xff0c;在光學領域多個細分研究方向承載科學實驗的感知與測量任務。 1先進制造技術及其應用 激光切割、激光焊…

Kafka 4.0.0集群部署

Kafka 4.0.0集群部署 1.1 關閉防火墻和 selinux 關閉防火墻 systemctl stop firewalld.service systemctl disable firewalld.service關閉selinux setenforce 0 #&#xff08;臨時生效&#xff09; sed -i s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config #&…

探秘卷積神經網絡(CNN):從原理到實戰的深度解析

在圖像識別、視頻處理等領域&#xff0c;卷積神經網絡&#xff08;Convolutional Neural Network&#xff0c;簡稱 CNN&#xff09;如同一位 “超級偵探”&#xff0c;能夠精準捕捉圖像中的關鍵信息&#xff0c;實現對目標的快速識別與分析。從醫療影像診斷到自動駕駛中的路況感…