人工智慧代理終於超越了聊天的範疇。他們正在解決多步驟問題、協調工作流程並自主操作。而這些突破的背後,正是MCP。
MCP 正在流行。但如果你對這些術語感到不知所措,那麼你並不孤單。
今天,我們將探討現有 AI 工具為何存在不足之處以及 MCP 如何解決這個問題。我們將介紹核心元件、它們的重要性、三層架構及其限制。您還將找到具有用例的實際範例。
這正是我剛開始時希望擁有的指南。
簡而言之,我們正在詳細介紹這些主題。
現有AI工具的問題。
MCP及其核心元件的介紹。
MCP 內部是如何運作的?
MCP 解決的問題以及為何它重要。
MCP 的 3 個層(以及我最終如何理解它們)。
使用內建 Auth 連接 100 多個託管 MCP 伺服器的最簡單方法。
六個帶有演示的實用示例。
MCP 的一些限制。
我們將涵蓋很多內容,讓我們開始吧。
如果您曾經嘗試建立一個 AI 代理,使其能夠真正執行諸如檢查電子郵件或發送 Slack 訊息(基於您的工作流程)之類的操作,那麼您就會知道其中的痛苦: the process is messy and most of the time the output is not worth it
。
是的,我們擁有出色的 API。是的,工具是存在的。
但實際用途和可靠性並不多。
甚至像 Cursor(在 Twitter 上被大肆宣傳)這樣的工具最近也收到了關於其性能不佳的投訴。
您希望 AI 使用的每個工具基本上都是一個迷你 API 整合。假設有用戶問:“Anmol 有沒有給我發關於昨天比賽報告的電子郵件?”
對LLMs來說,答案是:
請注意,這是一個電子郵件搜尋任務,而不是 Slack 或 Notion 查詢。
選擇正確的端點,例如search_email_messages
用自然語言解析並總結結果
所有這些都保持在上下文視窗內。那太多了。模特兒經常會忘記、猜測或產生幻覺。
如果你無法驗證準確性,你甚至沒有意識到問題的存在。
讓我們舉一個 CRM 的基本例子。
首先,取得聯絡人 ID → get_contact_id
然後,取得他們的當前資料→ read_contact
最後,修補更新 → patch_contact
在傳統程式碼中,您可以將其抽象化為函數並完成。但擁有LLMs學位嗎?每個步驟都有可能因為錯誤的參數、遺漏的欄位或斷鍊而導致混亂。突然間,你的「AI 助理」只是用自然語言道歉,而不是更新任何內容。
API 不斷發展。文件發生變化。授權流程已更新。您可能在某天早上醒來發現,原本完美執行的代理現在由於第三方的更改而崩潰了。
與傳統應用程式不同的是,它沒有可供依賴的共享框架或抽象。每個 AI 工具整合都是快速工程、JSON 製作的脆弱塔。它可能會破壞你的人工智慧代理的「肌肉記憶」。
為 GPT-4 建構了你的工具?涼爽的。但是如果您切換到其他工具(如 Claude 或 Gemini),則需要從頭開始重寫所有功能描述和系統提示。
這不是一個大問題,但沒有通用的解決方案。
一定有一種方法讓工具和模型能夠清晰地進行交流,而無需將所有邏輯塞進臃腫的提示中。這就是 MCP 發揮作用的地方。
模型上下文協議 (MCP)是一種新的開放協議,它標準化了應用程式向 LLM 提供上下文和工具的方式。
可以將其視為 AI 的通用連接器。 MCP 作為 Cursor 的插件系統,可讓您透過將其連接到各種資料來源和工具來擴展 Agent 的功能。
YouTube 上的版權歸於 Greg Isenburg
MCP 可協助您在 LLM 之上建立代理程式和複雜的工作流程。
例如,Obsidian 的 MCP 伺服器可協助 AI 助理搜尋和閱讀 Obsidian 保險庫中的筆記。
您的 AI 代理現在可以:
→ 透過 Gmail 發送電子郵件
→ 以線性方式建立任務
→ 在 Notion 中搜尋文件
→ 在 Slack 中發布訊息
→ 在 Salesforce 中更新記錄
所有這些都透過標準化介面發送自然語言指令來實現。
想想這對生產力意味著什麼。曾經需要在 5 個以上應用程式之間切換的任務現在可以在與代理的一次對話中完成。
從本質上講,MCP 遵循客戶端-伺服器架構,其中主機應用程式可以連接到多個伺服器。
感謝 ByteByteGo
以下是任何通用 MCP 伺服器中的核心元件。
MCP hosts
- 想要透過 MCP 存取資料的應用程式,例如 Claude Desktop、Cursor、Windsurf 或 AI 工具。
MCP Clients
- 與 MCP 伺服器保持 1:1 連線的協定客戶端,充當通訊橋樑。
MCP Servers
- 輕量級程序,每個程序透過標準化模型上下文協議公開特定功能(如讀取文件、查詢資料庫...)。
Local Data Sources
- MCP 伺服器可以安全存取的電腦上的檔案、資料庫和服務。例如,瀏覽器自動化 MCP 伺服器需要存取您的瀏覽器才能運作。
Remote Services
- MCP 伺服器可以連接的外部 API 和基於雲端的系統。
如果您有興趣閱讀該架構,請查看官方文件。它涵蓋協定層、連接生命週期和錯誤處理以及整體實現。
我們將涵蓋所有內容,但如果您有興趣了解有關 MCP 的更多訊息,請查看以下兩個部落格:
什麼是模型上下文協定(MCP)?由 Builder.io 團隊打造
MCP:它是什麼以及為什麼它重要 作者:Addy Osmani
MCP 生態系統由幾個共同發揮作用的關鍵參與者組成。讓我們簡單研究一下它們。
感謝 Huggingface
⚡ 客戶。
客戶端是您實際使用的應用程式,例如 Cursor、Claude Desktop 等。他們的工作是:
向 MCP 伺服器請求可用功能
向 AI 模型展示這些能力(工具、資源、提示)
將AI的工具使用請求轉回伺服器並傳回結果
為模型提供基本的 MCP 協定概述,以實現一致的交互
它們處理系統前端之間的通訊:使用者、AI 模型和 MCP 伺服器。
⚡ 伺服器。
MCP 伺服器可作為使用者/AI 與外部服務之間的中介。他們:
提供標準化的 JSON-RPC 介面用於工具和資源存取
將現有 API 轉換為與 MCP 相容的功能,而無需更改 API
處理身份驗證、能力定義和通訊標準
他們為客戶提供背景、工具和提示。
⚡ 服務提供者。
這些是執行實際任務的外部系統或平台(如 Discord、Notion、Figma)。他們不會為 MCP 改變他們的 API。
整個設定允許開發人員將任何相容的 API 插入任何支援 MCP 的用戶端,避免依賴大型 AI 供應商的集中式整合。
⚡工具。
工具代表 AI 可以執行的操作,例如search_emails
或create_issue_linear
。它們構成了模型如何透過 MCP 執行現實世界功能的基礎。
⚡資源。
資源代表 MCP 伺服器想要向客戶端提供的任何類型的資料。這可能包括:
文件內容
資料庫記錄
API 回應
即時系統資料
截圖和圖片
紀錄檔案
以及更多
每個資源都由一個唯一的 URI(如file://user/prefs.json
)標識,它可以是專案註釋、編碼偏好或任何特定於您的內容。它包含文字或二進位資料。
資源使用遵循此格式的 URI 來辨識。
[protocol]://[host]/[path]
例如:
file:///home/user/documents/report.pdf
postgres://database/customers/schema
screen://localhost/display1
伺服器也可以定義自己的自訂 URI 方案。您可以在官方文件上閱讀更多內容。
⚡提示。
工具讓人工智慧做事,但提示指導人工智慧在做事時如何表現。
這就像在使用工具時向模型提供的指令。它們就像操作指南一樣,幫助人工智慧遵循特定的風格、工作流程或安全協議,例如在點擊delete_everything
按鈕之前遵循特定的安全檢查表。
🎯 讓我們探討一個實際場景:
想像一下 Google 日曆 MCP 伺服器。日曆 API 功能強大且功能豐富,每個事件都包含客人、時區、提醒、附件等欄位。如果你要求人工智慧模型reschedule all my meetings with Alice next week
,它可能很難從噪音中過濾出相關資料。
這就是prompts
和resources
發揮作用的地方。
MCP 提示可以指導模型:
處理日曆事件時,僅修改標題或參與者符合的事件。使用list-events
工具提取相關事件,將其複製到臨時資源( Resource B
),在那裡應用更改,然後使用update-events-from-resource
將它們同步回來。
這種模式讓人工智慧專注於受控狀態下的乾淨、可編輯資料( the resource
),並以可重複使用的標準化指令( the prompt
)和適當的操作( tool
)為指導。
Builder.io 的 Notion 範例
您還應該閱讀Builder.io上的概念範例,他們已經在 MCP 提示下對其進行了介紹。
當客戶端連接到 MCP 伺服器時,它會請求可用工具、資源和提示的清單。根據使用者的輸入,客戶端選擇顯示模型的內容。當模型選擇一個動作時,客戶端透過伺服器執行該動作並確保資料流的正確授權。
讓我們來簡單討論一下MCP解決的問題。
⚡ 一個通用協定 = 數千種工具。
這種通用協定意味著一個 AI 可以與數千種工具集成,只要這些工具具有 MCP 接口,從而無需為每個新應用程式進行自訂集成。
服務使用一致的JSON-RPC格式描述它們可以做什麼(「傳送 Discord 訊息」、「建立 Linear 票證」)以及如何執行這些操作(參數、驗證方法)。
⚡ 明確角色劃分:模型思考,工具行動。
它在人工智慧模型(思考者)和外部工具(執行者)之間建立了明確的區分。每次 Slack 調整其 API 時,您精心設計的 AI 代理程式都不會崩潰。
⚡ 使用 MCP,在將 GPT 交換為 Claude 或 Gemini 時,您不必重新做所有工具描述。您的工具和邏輯保持不變。
⚡ MCP 支援記憶和多步驟工作流程,這意味著您的代理可以記住跨任務的事情並聰明地將操作連結在一起。
⚡ 它會減少幻覺。一般來說,MCP 使用清晰、結構化的工具定義。這有助於人工智慧保持紮實和準確。
MCP 很重要,因為:
它將開發人員的dream of a universal AI assistant
變成了現實。
將這些操作組合成複雜的工作流程(由人工智慧處理邏輯)的潛力將引領new era of intelligent automation
。
因此,MCP 使開發人員能夠更輕鬆地利用 AI 做更多事情。
這就是我對這個概念的詳細理解。我將附上一個常見的例子,它將幫助你很快理解它。
⚡ 模型 ↔ 語境:“用LLMs能理解的方式與他交流”
將模型想像為機器人的大腦( LLM
)。它可以處理訊息,但需要明確的指令。上下文提供了正確工作的指示。
例如:如果你告訴機器人“給我做個三明治”,這就太模糊了。但是說「用這些麵包、火腿和起司做一個三明治」可以讓機器人理解並執行這項任務。
模型是機器人(LLM)。
上下文是您給出的具體指示(三明治的配料)。
⚡ 上下文 ↔ 協定:“為 LLM 提供結構化的記憶體、工具和狀態”
一旦機器人有了指令(上下文),它就需要一種方法來遵循它們、記住細節並使用工具。這是透過Protocol
完成的,它是讓機器人使用記憶和工具來完成工作的系統。
讓我們以同樣的三明治為例。給它一個協議將有助於它記住食材,知道如何使用刀等等。
上下文告訴機器人該做什麼。
協議為其提供了執行此操作的工具和內存。
這是完成任務的結構。
⚡ 協定 ↔ 執行時:“實際執行 AI 代理程式”
機器人知道要做什麼(上下文)以及如何做(協議)。現在需要真正地做到這一點,這可以透過使用執行時來實現。
回到三明治的例子,執行時就是它開始執行的時刻。它就像是任務得以實現的環境(例如廚房)。
協議為機器人提供了遵循的方法。
運作時是機器人實際工作的環境。
讓我們將這三個層面放在一起,看看使用restaurant version
會發生什麼情況。
Model
就是廚師。他們擁有製作食物的知識和技能。
Context
是選單。它告訴廚師需要什麼原料以及飯菜應該是什麼樣子和味道。
Protocol
就是服務生。服務員將訂單交給廚師,準確告知菜餚的製作方法,甚至會記住您是否對某種食物過敏。
Runtime
是廚師實際準備餐點的廚房。這裡是所有工具、熱和準備工作發生的地方。
一旦您了解了伺服器和客戶端等核心元件(在「MCP 的內部工作原理」部分中介紹),一切就開始變得有意義了。
各層相互配合,使整個系統正常運作。
在本節中,我們將探索將 Cursor 與 MCP 伺服器連接起來的最簡單方法。
如果您想了解如何在 Cursor 中新增和使用自訂 MCP 伺服器,請閱讀官方文件。
安裝 Node.js 並確保npx
在您的系統中可用。
您可以使用Ctrl + Shift + P
開啟 Cursor 中的命令面板並蒐索遊標設定。
您會在側邊欄上找到 MCP 選項。
我們也可以從頭開始建立一個,但為了簡單起見,我們使用預先定義的。
我們將使用 Composio 作為伺服器,因為它們具有內建身份驗證。您可以在mcp.composio.dev找到該清單。
⚡ 內建身份驗證支援 OAuth、API 金鑰、JWT 和基本驗證。這意味著您不必建立自己的登入系統。
⚡ 完全託管的伺服器無需複雜的設置,可以輕鬆地將 AI 代理與 Gmail、Slack、Notion、Linear 等 250 多種工具整合。
⚡ 提供 20,000 多個預先建置的 API 操作,無需編碼即可快速整合。
⚡ 可以根據您的設定需求在本地或遠端操作。
⚡ 更好的工具呼叫準確性使 AI 代理能夠與整合應用程式順暢互動。
⚡ 它與 AI 代理程式相容,這意味著它可以將 AI 代理連接到工具,以便在單一對話中執行發送電子郵件、建立任務或管理票證等任務。
這也意味著更少的停機時間和更少的維護問題。您可以在status.composio.dev/檢查狀態。
您可以輕鬆地與一堆有用的 MCP 伺服器集成,而無需編寫任何程式碼。
透過每個選項,您可以找到活躍用戶總數、當前版本、最近更新時間以及所有可用的操作。
您將找到使用TypeScript
、 Python
安裝它的說明,它支援 Claude (MacOS)、Windsurf (MacOS) 和 Cursor 作為 MCP 主機。
如果您有興趣從頭開始建立 MCP 用戶端,請查看 Harsh 在 Composio 上撰寫的逐步指南。
現在是時候將其與遊標整合在一起了。目前,我們將使用 Gmail MCP 伺服器。
以前是使用 SSE,但 Cursor 最近使用npx command
改變了這個方法。我們需要產生終端命令。檢查此頁面來產生您的頁面。
終端機命令將如下所示。
npx @composio/mcp@latest setup "https://mcp.composio.dev/gmail/xyzxyz..." --client cursor
您可以在終端機中執行此命令並重新啟動 Cursor 以注意變更。
如果您使用的是 Python,請依照以下方法安裝 composio-toolset。
pip install composio_openai
from composio_openai import ComposioToolSet, App
from openai import OpenAI
openai_client = OpenAI()
composio_toolset = ComposioToolSet(entity_id="default")
tools = composio_toolset.get_tools(apps=[App.GMAIL])
根據您的使用情況,您可以將最終配置放在兩個位置:
1)對於特定於專案的工具,請在專案目錄中建立.cursor/mcp.json
檔案。這使您可以定義僅在特定專案內可用的 MCP 伺服器。
2) 對於您想要在所有專案中使用的工具,請在主目錄中建立一個\~/.cursor/mcp.json
檔案。這使得 MCP 伺服器可在您的所有 Cursor 工作區中使用。該終端將強制執行第二個選項,使其可以在全球範圍內存取。
它將顯示必要的操作和狀態綠點,表示已成功整合。
mcp.json
將如下所示。
{
"mcpServers": {
"gmail_composio": {
"url": "https://mcp.composio.dev/gmail/freezing-wrong-dress-7RHVw0"
}
}
}
您可以查看範例伺服器和實作的清單。您可以按照此結構整合社區伺服器(根據您的偏好選擇)。
✅ SSE 伺服器配置。
Cursor 支援此配置,您可以指定url
欄位來連接到您的 SSE 伺服器。
// This example demonstrated an MCP server using the SSE format
// The user should manually set and run the server
// This could be networked, to allow others to access it too
{
"mcpServers": {
"server-name": {
"url": "http://localhost:3000/sse",
"env": {
"API_KEY": "value"
}
}
}
}
✅ STDIO 伺服器設定 (Python)
這將使用帶有 Python 腳本的標準輸入/輸出 (STDIO) 傳輸來設定 MCP 伺服器。這種方式主要用於本地開發。
// if you're using CLI server Python
// This example demonstrated an MCP server using the stdio format
// Cursor automatically runs this process for you
// This uses a Python server, run with `python`
{
"mcpServers": {
"server-name": {
"command": "python",
"args": ["mcp-server.py"],
"env": {
"API_KEY": "value"
}
}
}
}
✅ STDIO 伺服器配置(Node.js)
// if you're using CLI server Node.js
// This example demonstrated an MCP server using the stdio format
// Cursor automatically runs this process for you
// This uses a Node.js server, ran with `npx`
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "mcp-server"],
"env": {
"API_KEY": "value"
}
}
}
}
在繼續之前,請務必檢查composio mcp 伺服器頁面上可用的操作。您也可以在儀表板上找到工具和操作。
您可以使用Ctrl + I
指令開啟聊天。
您可以啟用Agent Mode
,這是 Cursor 中最自主的模式,旨在以最少的指導處理複雜的編碼任務。
我更喜歡在執行之前進行一些控制,因此我選擇預設的控制。您可以輸入任何查詢。您只需單擊run tool
按鈕即可。
如您所見,它將呼叫適當的 MCP 伺服器(如果您有多個),並且它將根據您的提示相應地使用正確的操作。
由於沒有活動連接,它將首先建立一個。您將需要授權該過程。
我正在使用一個虛擬帳戶(很久以前建立的),我建議出於測試目的也這樣做。一旦您滿意,您就可以使用您的主帳戶自動執行操作。
如您所見,它正確獲取了電子郵件。
讓我們透過向[email protected]
發送一封電子郵件進行檢查,主題為“Composio 演示”,並在電子郵件正文中說明測試 MCP 伺服器。
正如您所看到的,我收到了具有提示中指定的正確主題和正文的電子郵件。
傳送電子郵件
收到電子郵件
使用此 MCP 伺服器,您可以做很多令人驚奇的事情,例如Get attachments
、 Create email draft
、 Modify thread labels
、 Reply to a thread
、 get contacts
、 delete message
、 move to trash
、 search people
、 send email
等等。
永遠記住,你能做的事情是有限的。我已經用超過 15 個提示進行了測試,以分析邊緣情況。
以下是 MCP 伺服器的五個實際範例。讓我們討論一下流程並看看應用程式。
我們將遵循先前討論的相同流程,您可以檢查 YouTube 的 Composio 伺服器,在那裡您可以產生 URL。
該命令的結構如下:
npx @composio/mcp@latest setup "https://mcp.composio.dev/youtube/freezing-wrong-dress-xyz" --client cursor
如果您注意到mcp.json
,則只要執行終端命令,youtube 的 url 就會被新增。它看起來會像這樣。
{
"mcpServers": {
"youtube_composio": {
"url": "https://mcp.composio.dev/youtube/freezing-wrong-dress-7RHVw0"
}
}
}
由於沒有活動連接,它將首先建立一個。您需要透過複製瀏覽器中的 OAuth URL 進行身份驗證。
您必須提供對伺服器的存取權限,以便它可以根據您的提示採取行動。
現在,您可以提出任何提示,例如Fetch me the top 5 videos about Model Context Protocol based on views and likes.
它將相應地產生響應。
使用此 MCP 伺服器,您可以做很多令人驚奇的事情,例如Search youtube for videos, channels, playlists
、 fetch video stats
、 load captions
、 subscribe channel
、 update video's metadata
、 update thumbnail
等等。
我們將遵循先前討論的相同流程,您可以檢查Ahrefs 的 Composio 伺服器。
如果您不知道,Ahrefs 是一個 SEO 和行銷平台,提供網站審核、關鍵字研究、內容分析和競爭洞察,以提高搜尋排名並推動自然流量。
如果您注意到mcp.json
,則會新增 ahrefs url。
"ahrefs_composio": {
"url": "https://mcp.composio.dev/ahrefs/freezing-wrong-xyz"
}
如您所見,這是第一次建立連線。
一旦你這樣做了,你將能夠使用所有的操作,例如retrieve organic keywords
、 fetch all backlinks
、 domain rating history
、 pages by traffic overview
、 retrieve public crawler ips
、 fetch competitors overview
、 list best by external links
、 fetch total search volume history
等等。
請注意,您需要一個 API(屬於 Ahrefs 的高級計劃)來完成整合。
您可以按照相同的流程產生 URL 並在終端機中執行它。然後,您需要透過複製瀏覽器中的 OAuth URL 來建立連線並進行驗證。
完成後您將收到一條確認訊息。
您也可以根據伺服器的操作進行檢查。如您所見,有一個活動連接。
我通常不建議在你的官方帳戶上使用它,因為你永遠不能太小心。
透過此 MCP 伺服器,您可以獲得get the info of profile
、 create post
、 get company info
和delete a post
等選項。
此 MCP 伺服器允許 LLM 自主地對應用程式進行逆向工程。它向 MCP 用戶端公開了來自核心Ghidra功能的眾多工具。
這包括反編譯和分析二進位檔案、自動重命名方法和資料以及列出方法、類別、導入和導出。
一些用例:
⚡ 使用 LLM 進行自動化漏洞分析。
⚡ 惡意軟體樣本的逆向工程。
這是演示。
GitHub 儲存庫有 4k 顆星。
在將 Figma 板生成為可用於生產的應用程式方面,最近取得了一些進展。
該專案使用 Cursor AI 和 Figma 之間的 MCP 整合實現了相同的事情,允許 Cursor 與 Figma 通訊以讀取設計並以程式設計方式修改它們。
它允許文件和選擇、註釋、建立元素、樣式、佈局等等。
您可以簡單地說: design a modern-looking signup screen for mobile
,它就會在您無需與 Figma 檔案互動的情況下建立它。
這是演示。
它在 GitHub 上有 3.1k 顆星。
您可以查看GitHub Repository和官方 Tweet 。
還有另一個很棒的MCP 伺服器(在 GitHub 上有 5k 顆星),它為 AI 編碼代理提供 Figma 佈局資訊。
由於涉及的複雜性,建立 3D 內容一直讓許多建築商感到害怕。
這透過模型上下文協定 (MCP) 將 Blender 連接到 Claude AI,從而允許 Claude 直接與 Blender 互動並控制 Blender。
這種整合可以實現快速輔助的 3D 建模、場景建立和操作。如果您有興趣使用它,可以觀看完整的教學。
帶有演示影片的提示範例:
⚡ “在地下城中創造一個低多邊形場景,其中有一條龍守護著一罐金子”
https://www.youtube.com/watch?v=DqgKuLYUv00
⚡ “獲取當前場景的訊息,並據此製作一個 ThreeJS 草圖”
https://www.youtube.com/watch?v=jxbNI5L7AH8
⚡ “使用 HDRI、紋理以及 Poly Haven 的岩石和植被等模型營造海灘氛圍”
https://www.youtube.com/watch?v=I29rn92gkC4
如果您對更多演示感興趣,創始人在 X 上建立了一個主題,其中包含其他人建立的瘋狂範例。
GitHub 儲存庫在 GitHub 上有 10.3k 個星。
MCP 的期望和現實可能有很大差異。當你了解這些要點時,你就會明白我的意思。
感謝 Builder.io 團隊
別誤會我的意思,MCP 非常有前景,但您應該注意以下一些限制:
⚡ 並非所有 AI 平台都支援 MCP。
Claude(尤其是其桌面應用程式)和 Cursor 或 Windsurf 等工具直接支援 MCP。但是如果您使用 ChatGPT 或本地 LLaMA 模型之類的東西,它可能無法開箱即用。
有一些開源工具試圖解決這個問題,但在 MCP 得到更廣泛的採用之前,所有 AI 助理的支援都很困難。
⚡ 代理人自主權並不完美。
MCP賦予了能力,但AI的判斷還不夠完善。
例如,工具的使用取決於模型對工具描述和使用環境的理解程度。它通常需要及時調整或代理端邏輯來提高可靠性。
⚡ 性能開銷。
透過 MCP 使用工具會增加開銷。每個呼叫都是外部的,並且比人工智慧自行應答的速度要慢得多。例如,透過 MCP 工具從網頁抓取資料可能需要幾秒鐘,而模型可以在幾毫秒內從訓練資料中猜出答案。
現在,如果您正在協調多個工具,延遲就會累積起來,就像按順序呼叫 5 個不同的 MCP 伺服器來執行以下操作:
從 Google Drive 取得文件
使用 LLM 工具總結內容
翻譯摘要
根據翻譯產生推文
使用 Buffer 等社群媒體工具進行安排
該鏈可能需要 10 到 15 秒,具體取決於伺服器回應時間。
一些代理可以處理並行工具的使用,因此您可以進一步優化流程。
⚡ 信任問題。
讓人工智慧執行實際行動可能會有風險。即使人工智慧通常能夠做出正確的判斷,使用者也常常希望在事情發生之前進行審查。
目前,大多數工具要不是完全自主,就是根本不自主。很少有中間地帶,讓人工智慧能夠利用自主性,但在重要時刻仍將控制權交給使用者。我們都需要一個human in the loop
。
❌ 糟糕的方法:AI 未經詢問就立即發送電子郵件。
✅ 更好的方法:AI 說, I'm about to email X with this message, is it okay to send?
並且僅在您批准後才採取行動。
⚡ 可擴展性問題。
當今大多數 MCP 伺服器都是為單一使用者建構的,通常只是在開發人員的筆記型電腦上執行。
一個 MCP 伺服器為多個獨立代理或使用者提供服務尚未深入探索。為了實現這一點,公司需要處理更複雜的內容,例如並發請求、分離資料上下文和強制執行速率限制使用。
這個領域的生態系統仍有發展空間,尤其是 MCP 閘道或企業級 MCP 伺服器框架等理念。
⚡ 安全標準。
MCP 沒有內建身份驗證或授權。
Authentication & Authorization
:MCP 沒有內建對使用者或代理身份驗證的支援。如果您透過網路公開 MCP 伺服器,則必須新增自己的安全性。
一些實作使用 OAuth 2.1 來新增權限範圍( read-only or write-only access
),但目前沒有標準方法,因此每個伺服器處理驗證的方式都不同。
Correct Permissions
:理想情況下,代理應該只使用他們需要的工具。但是如果有多個強大的工具可用(如瀏覽器存取和終端),則沒有什麼可以阻止 AI 使用錯誤的工具,除非您手動停用它。
Prompt Injection
:如果人工智慧誤解了提示,它就會犯錯。更糟的是,有人可能會製作惡意提示來誘騙人工智慧做一些有害的事情( prompt injection
)。安全措施取決於每個 MCP 伺服器的建置方式。
如果您想了解如何減輕 MCP 實施中的安全風險,請閱讀以下內容:
Pillar 的MCP 安全風險。
MCP 仍然很新。隨著需求的發現,將會有進一步的發展來解決更多的邊緣情況。
在 AI 模型方面,我們可能會看到針對工具使用和 MCP 進行微調的模型。 Anthropic 已經提到了AI models optimized for MCP interaction
。
如果您打算建立 MCP,這裡有一些不錯的資源:
mcp-chat - 是 MCP 伺服器的 CLI 聊天用戶端。用於測試和評估 MCP 伺服器和代理
mastra 註冊表- MCP 伺服器目錄的集合,用於將 AI 連接到您最喜歡的工具。
smithery.ai - 透過 MCP 伺服器為您的代理程式擴展 4,630 種功能。許多細節包括monthly tool calls
、 local option
、 tools
、 API
、 installation instructions for different clients
。
官方團隊提供的熱門 MCP 伺服器目錄- GitHub 上 20k 星。
1800+ MCP 伺服器的遊標目錄。
這些 MCP 完全是我的 Cursor 工作流程的 10 倍- YouTube 影片帶有實際用例。
MCP 仍在不斷發展,但其核心思想仍然存在,我已盡力解釋這些概念。我希望你找到了一些有用的東西。
與代理商的對話可以幫助您自動化複雜的工作流程。
現在就用 MCP 建造一些瘋狂的東西並向世界展示吧。
祝你有美好的一天!直到下次:)
原文出處:https://dev.to/composiodev/the-guide-to-mcp-i-never-had-1ked