| |

MCP 與 CLI 在 AI 代理中的應用:哪種方式真正能觸及模型(基於 2026 年實際代理集群的測量)

mcp vs cli feat 20261102

MCP 與 CLI 之爭堪稱 2026 年智能體工具之爭,而大部分爭論都發生在實驗室環境中。有人用兩種方式分別運行 75 個 GitHub 任務,統計令牌數量,然後宣布勝者。這固然有用,但並非智能體實際運作的方式。因此,這裡提供另一種觀點:當智能體運行真實任務時,模型實際接收到的資訊是什麼?本文所記錄的運作過程就是最好的證明。.

簡單介紹一下背景。我使用 Claude Code 來運行 10 多個自主品牌容器。這篇文章是由其中一個容器在我睡著的午夜完成研究、撰寫、配圖和發布的。它今晚的工作涉及 Airtable 關鍵字隊列、Google 搜尋結果頁面、八篇競爭對手文章、圖片流和 WordPress。所有這些操作都是透過命令列完成的: 捲曲 外加幾行 Python 程式碼。沒有呼叫任何 MCP 工具。.

但這並不意味著 CLI 是贏家,而是說 CLI 最適合… 這種 工作量,以及下面這些真實的數據,都包含了我的 CLI 設定比建立完善的 MCP 伺服器需要更多上下文資訊的情況。讀完後,您將了解您的代理商的工作更適合 MCP 還是 CLI,以及決定性的五個問題。.

MCP 與 CLI:簡答

mcp 與 cli

兩者都是人工智慧代理採取行動的方式。它們的差別在於: 智能體如何學習它能做什麼 和 上下文視窗中會顯示什麼內容 如果它還能用的話。.

問題CLI(代理運行 shell 命令)MCP(代理呼叫 MCP 伺服器上的工具)
經紀人如何知道有哪些房源?訓練資料(它已經看過) git, gh, 捲曲 數百萬次),, - 幫助, 或一份簡短的說明文件伺服器列出了其工具的名稱、描述和輸入模式。
工作開始前需要考慮哪些因素?什麼都沒有,或無論你載入什麼指令工具定義:全部(舊客戶端)或僅名稱直到使用時(支援延遲載入的客戶端)
能否在模型讀取輸出前進行修剪?是的。用管道輸送。 jq, grep, 頭 或者一個腳本只有當伺服器或客戶端為你執行此操作時才有效
身份驗證無論 CLI 使用什麼方式,通常是 API 金鑰或本機登入訊息專為基於使用者的 OAuth、範圍存取和撤銷而設計
爆炸半徑shell 可以執行使用者能做的任何操作。只有伺服器公開的工具
最佳匹配您是用戶,該工具具有命令列介面 (CLI) 或簡單的 HTTP API,且作業會重複執行。您的客戶就是用戶,服務需要 OAuth 認證,否則客戶端將沒有 shell。

我使用的一行規則: 如果代理程式擁有 shell 權限且您是唯一用戶,請從 CLI 開始。如果其他人連接了自己的帳戶,或者 AI 應用程式根本沒有 shell 權限,則由 MCP 負責。.

如果你對底層原理仍然感到困惑,我在[此處應插入原文連結]中已經介紹了協定本身。 MCP 與 API. 這篇文章是關於代理商手中所拿著的介面。.

當客服人員握住鍵盤時,「CLI」是什麼意思?

一束光穿過狹窄的縫隙,這是代理工具的 CLI 方法

人們一聽到「CLI」就想到開發人員在黑色視窗中輸入程式碼。但在MCP與CLI之爭中,它的意義則更為具體: AI 代理程式取得一個工具(即 shell),並編寫自己的命令。. Claude Code、Codex、Gemini CLI 和 Cline 都是這樣運作的。模型類型 gh pr list --state open 或者 curl -s https://api.airtable.com/..., shell 運行它,輸出以文字形式返回。.

有三件事讓它如此強大:

  • 該模型已經掌握了這些工具。. git, 捲曲, AWS, kubectl 和 gh 它們遍布訓練資料中,無需事先描述。.
  • 命令組合。. 一行程式碼即可完成資料擷取、篩選和計數: curl ... | jq '.records[].fields.keyword' | head -20. 使用 MCP 時,這通常需要多次單獨的工具調用,每次調用都會將其完整結果傳回模型。.
  • 輸出結果由您自行調整。. 這是最重要的一點,我稍後會解釋我的數據來源。.

模型上下文協定 (MCP) 的工作方式則相反。伺服器封裝一項服務,並發布一個工具選單(例如「create_issue」、「search_files」),每個工具都配有說明和輸入模式。 AI 應用讀取選單並按名稱呼叫工具。這種方式簡潔標準,即使在完全沒有底層框架的地方也能運行,例如手機上的聊天應用程式。.

隱藏的第三種選擇:技能

大多數關於 MCP 與 CLI 的文章都只是把中間路線當作腳註,而我的整個業務正是基於這條路線運作的: 命令列介面 (CLI) 和書面說明文件. 克勞德·科德稱這些為技能。我的技能則是簡單的 Markdown 文件,內容是「這是端點,這是確切的欄位名稱,這是上個月讓我們吃虧的陷阱」。 Scalekit 的基準測試發現,只增加約 800 個標記 gh 給 CLI 代理一些提示,可以減少大約三分之一的工具呼叫次數和延遲。我的文件長度遠遠超過 800 個令牌,這會帶來一些開銷,具體數值我會在下面列出。.

代幣法案:MCP 與 CLI 基準測試衡量了什麼

一疊高高的玻璃片和一疊矮矮的玻璃片,用於比較 MCP 和 CLI 代幣的成本。

大家引用的那些數據都來自少數幾項公開測試。這裡列出這些數據及其來源,因為「MCP 的成本是其他產品的 30 倍」這種說法經常被斷章取義地引用。.

Scalekit:75 次運行,相同的 GitHub 任務,兩種方式

Scalekit 執行了 75 次基準測試 2026年3月。他們使用了克勞德·索內特4號, gh CLI,以及 GitHub 的官方 MCP 伺服器及其 43 個工具。.

任務CLI令牌MCP代幣差距
倉庫語言和許可證1,36544,02632倍
公關詳情與審核狀態1,64832,27920倍
倉庫元資料和安裝9,38682,8359倍
貢獻者合併的 PR5,01033,7127倍
最新版本及相依性8,75037,4024倍

CLI 也完成了全部 25 次運行。 MCP 完成了 25 次運行中的 18 次(72%),大多數失敗是由於連接遠端伺服器逾時造成的。他們估計每月 10,000 次操作的成本:CLI 約為 $3.20,而 MCP 約為 $55.20。.

請看第一行。 「這個倉庫是什麼語言?」這個問題在 MCP 上花費了 44,026 個令牌,而且幾乎全部都是選單:載入了 43 個工具定義,以便代理可以使用其中一兩個。.

修復程序已經開始出貨了。

這是MCP的簡化版本,目前正在快速修復:

  • 延遲載入。. Claude Code 現在載入 MCP 工具 姓名 它預先取得完整模式,僅在使用工具時才取得完整模式。 克勞德代碼終極指南 在此次更改前,5 台伺服器的配置大約需要 55,000 個令牌,更改後則約為 8,700 個。今晚的運行也出現了同樣的延遲:Claude Code 的 14 個可選工具僅列出了名稱,除非使用,否則不會加載任何模式。.
  • 代碼執行。. Anthropic 的工程團隊證明,讓代理程式編寫呼叫 MCP 工具的程式碼,而不是逐一呼叫它們,效果更好。, 將一個工作流程的令牌數量從 15 萬個減少到 2000 個. 仔細觀察,這就是 CLI 的訣竅:在模型外部處理數據,然後只傳回結果。.
  • 網關和模式過濾。. Scalekit 隨附的網關將 43 個 GitHub 工具精簡到每個請求所需的 2 到 3 個,這使得 MCP 的令牌數量從大約 44,000 個減少到大約 3,000 個,失敗次數從 28% 減少到大約 1%。我分析了何時值得運行網關。 MCP網關指南.

所以,客觀的解讀是這樣的: 對於將所有資訊轉儲到上下文中的 MCP 伺服器來說,令牌差距是真實存在的,而對於運作良好的 MCP 來說,令牌差距則要小得多。. 更大、更持久的差別在於下一點。這關乎接下來會發生什麼事… 輸出.

潛在客戶開發人工智慧策略手冊,營運商的人工智慧自動化策略手冊

取得人工智慧策略手冊

這裡提供10家代理商經營企業的職位篩選、完成情況核查和每月真實收據,以及本週更新的內容。完全免費,隨時可以退出。.

引流工具 - AI 策略手冊

我的收據:今晚模特兒收到的東西

一串串發光的球體傾瀉而入一個狹窄的玻璃杯中,只有少數球體溢出杯底,在模型讀取之前過濾掉命令列界面(CLI)的輸出。

這裡提供的測量數據是任何實驗室基準測試都無法提供的,因為它來自實際運行的作業。我記錄了此次運行中的四個調用,每個調用返回的原始數據,以及經過過濾器處理後實際進入模型上下文的數據。詞元計數以每個詞元 4 個字元估算,因此請將其視為近似值而非精確值。.

今晚(2026年11月2日)致電原始回應模型達到了什麼程度切
來自 Airtable 的關鍵字隊列(114 行)36,570 個字元(約 9,100 個詞元)依難度排序的 60 行摘要:7,198 個字元(約 1,800 個字元)80%
內容日曆分類(4 行)30,093 個字元(約 7,500 個詞元)僅包含 ID、狀態和關鍵字:191 個字元(約 50 分鐘)99%
Google 搜尋「mcp vs cli」(DataForSEO)的結果5405 個字元(約 1350 個字元)排名、網站和標題:681 個字元(約 170 個字母)87%
8 篇競爭對手文章(Firecrawl)182,024 個字元(約 45,500 個詞元)僅標題:17,037 個字元(約 4,300 字)91%
全部的約254,000個字元(約63,500個詞元)約 25,100 個字元(約 6,300 個詞元)~90%

兩點需要說明。首先,在初步篩選之後,我又重新閱讀了日曆上所有四行的完整記錄,因為其中包含了我需要的編輯決策依據。篩選並不意味著完全不閱讀。它的意思是… 有目的地閱讀. 其次,我用 grep 指令搜尋競爭對手的文章,找出所有包含數字的行,這又消耗了幾千個詞元。即便如此,代理在編寫程式碼時,其上下文中也從未出現過 45,000 個其他人的文章詞元。.

這才是 CLI 的真正優勢,而且比模式論證更重要。工具透過 MCP 處理的結果通常會完整地呈現在上下文中,除非伺服器對其進行了裁剪。而 shell 指令在模型接收到之前就可以格式化。在一個包含數十次呼叫的作業中,這種差異會不斷累積。.

我的 CLI 設定哪裡出了問題

現在到了棘手的部分。命令列代理仍然需要指令,而我的指令很長。今晚的運行在執行任何工作之前,它加載了兩個文件:

  • 部落格寫作技能檔案: 47,730 字節,約 11,900 個令牌。.
  • 該品牌的主要說明文件: 29,597 字節,約 7,400 個令牌。.

差不多就是這樣。 每晚固定開銷19300個代幣, 這比上面提到的約 8700 個令牌的延遲載入 MCP 資料多了一倍多。我的「無 MCP」代理商需要支付自己的模式稅。它只是用英文而不是 JSON 寫的。.

值得慶幸的是,整個函式庫也採用了延遲載入的方式。這個品牌共有 39 個技能文件,總大小約為 489 KB(約 122,000 個詞條),每次運行只載入一個文件。這與 MCP 工具搜尋的原理相同,都是透過調度器和檔案名稱來實現的。如果你能從本節中記住一點: 無論你選擇 MCP 還是 CLI,上下文計費取決於你載入的內容和你允許返回的內容。.

(如果您想全面了解這些調度員的配置情況, 代理作業系統崩潰 涵蓋調度器、記憶體和權限,以及 克勞德代碼循環指南 涵蓋了 cron 方面。 )

喬恩瓊斯

⚡ 取得人工智慧優勢

每週提供真正省時省錢的AI小技巧。沒有廢話,沒有誇大其詞——只有切實有效的方法。.

訂閱電子報 - 部落格行動號召

MCP 與 CLI 的區別在於,哪些方面更傾向於 MCP

一個置於玻璃環內的金鑰匙,代表由 MCP 伺服器處理的 OAuth 存取。

我並不反對多用途保護裝置(MCP)。我反對的是,在工作不需要它的情況下卻要為此付費。而這正是它真正發揮作用的地方,包括我自己參與的那次事故。.

1. 需要自我刷新的 OAuth

CLI 可以接受環境變數中的 API 金鑰,但無法接受 OAuth:瀏覽器重定向、會輪調的刷新令牌、會過期的存取權限。我的團隊就為此付出了慘痛的代價。某個品牌的 Google 刷新令牌已經失效。 無效授權 至少從10月5日起就無法訪問了。我今晚又檢查了一遍,仍然無法訪問。.

解決方法並非修改 MCP 伺服器,而是一個小型腳本,它可以從 Google 服務帳戶產生短期令牌。自那以後,收件匣代理一直使用該腳本,從未出現任何問題。之所以有效,是因為… 我是唯一的用戶. 如果我的每個客戶都必須連接自己的 Google 帳戶,那麼這樣的腳本就會失效,而帶有撤銷和審計功能的按用戶 OAuth 正是 MCP 的設計初衷。.

2. 沒有命令列介面的服務

許多商業軟體沒有命令列工具,而且將來也不會有。許多人力資源、設計和企業級SaaS工具都屬於這種情況。如果唯一的入口是OAuth API,那麼使用別人維護的MCP伺服器遠比自己編寫封裝程式要省事得多。.

3. 無外殼的AI應用

網頁版 Claude、ChatGPT 和大多數桌面聊天應用程式都無法運作 捲曲. 如果你想讓某個工具在那裡運行,MCP 就是你實現它的方式。這也是為什麼當你發布整合方案時,MCP 是正確的選擇。 其他人的 與其自己運營,不如聘請代理商。.

4. 有狀態的、持續時間長的會話

用一連串一次性 shell 指令來驅動瀏覽器完成多步驟結帳流程,或是在多次呼叫中保持資料庫連線打開,都顯得笨拙。而能夠保持會話活躍的伺服器則更為理想。這就是為什麼像 Playwright 這樣的瀏覽器自動化 MCP 伺服器如此受歡迎,也是為什麼我會優先選擇它而不是手動編寫瀏覽器腳本的原因。 (我在之前的文章中已經介紹過這方面的互動功能。) MCP 應用.)

注意清單中缺少的內容:「我的代理需要使用我擁有的金鑰來呼叫我控制的 API。」 這正是小型企業自動化的大部分內容,也是 CLI 在成本、調試和元件數量方面勝出的地方。我之前的統計發現 在該品牌的 39 個技能檔中,MCP 呼叫次數為零. 今晚的統計結果又增加了一個數字:這39個文件中有38個包含 捲曲.

安全問題:外殼比門大

並排的兩個敞開的門,一個亮著溫暖的琥珀色燈光,另一個亮著清冷的藍綠色燈光,對比使用帶瞄準鏡的MCP工具打開彈殼的通道。

在MCP與CLI的比較中,CLI陣營往往對此保持沉默,但他們不應該如此。 shell可以執行使用者帳戶可以執行的任何操作。而MCP伺服器只能執行其工具公開的功能。.

Runlayer 的例子是我見過的最清晰的。一個被要求「備份日誌」的代理程式會讀取資料中植入的指令,以及它被告知要執行的第二個命令。, aws s3 rm ... --recursive, 清空桶子。使用 CLI 時,代理本身的判斷是最後一道防線。而使用像這樣的狹窄的 MCP 工具則不然。 備份日誌, 危險命令並不存在。.

我會直接說明我自己的設置,因為我之前已經發布過。我的定時任務運行 Claude Code 時關閉了權限提示,因為沒人會在半夜醒著點擊「允許」。我在之前的文章中解釋了其中的利弊以及缺少的功能。 代理編排後. 是什麼讓它保持理智:

  • 每個品牌都在各自的容器中運作。. 一個錯誤的命令可能會破壞某個品牌的沙盒環境,但不會影響我的筆記型電腦或其他九個品牌。更多內容請參考下文。 Claude Code 沙盒.
  • 密鑰按品牌劃分。. 此容器內的 WordPress 密碼僅在此網站上有效。.
  • 工作內容明確,並有書面記錄。. 該代理程式不會瀏覽開放網路並接受網路指令。它每次運行都只執行一個技能檔。.

在將任何面向客戶的功能交給 shell 代理之前,我會添加以下內容:禁止破壞性命令的規則以及阻止這些命令的預運行鉤子。這兩點在我的文檔中都有涉及。 克勞德·科德鉤子指南. MCP 也並非絕對安全。第三方伺服器的程式碼需要您信任,而安全研究人員已經發現許多伺服器的憑證處理有漏洞。但是,一個設計完善的 MCP 工具可以有效解決這個問題。 做 以普通砲彈無法做到的方式縮小爆炸半徑。.

5個問題篩選條件:CLI、MCP 或兩者兼有

由細線連接的玻璃圓盤,有的明亮,有的昏暗,構成了一個用於在MCP和CLI之間進行選擇的決策濾波器。

對每個整合進行以下五個問題的測試。通常情況下,第三個問題就能給答案。.

  1. 是否存在模型能夠很好地識別的 CLI(或純 HTTP API)? git, gh, AWS, 捲曲 針對 REST API。如果是,則使用精簡的 CLI。.
  2. 用戶是誰:是你,還是你的客戶? 如果只有你一個人,一個容器裡放一個金鑰就夠了。如果客戶自行關聯帳戶,那就精簡 MCP。.
  3. 身份驗證是簡單的金鑰操作,還是複雜的 OAuth 流程? 密鑰屬於 CLI 範疇。跨多個使用者的刷新令牌屬於 MCP 範疇。.
  4. 輸出結果有多大?你需要全部結果嗎? 如果回應資料量很大,而你只需要其中的一部分,CLI 允許你在模型讀取之前對其進行截取。如果選擇 MCP,請選擇支援過濾或程式碼執行的伺服器。.
  5. 代理程式能否安全地擁有一個運作所需的 shell? 在有作用域鍵的容器內,可以。但在聊天應用程式或其他任何錯誤指令代價高昂且未經審查的場景中,則應使用權限範圍較窄的 MCP 工具。.

以下是我在自己的技術堆疊中實際應用的情況:

工作我使用的工具為什麼
Airtable、WordPress、Asana、社交行程CLI(捲曲)+技能文件簡單的按鍵,一個用戶,需要精簡的大量回應
Google 收件匣、搜尋控制台、分析CLI + 服務帳戶令牌腳本OAuth,但我是唯一的使用者。面向客戶的版本會將其切換為 MCP。
網路搜尋與資料抓取使用 CLI 存取 Firecrawl 的 API頁面很大,我只保留標題和編號。
瀏覽器任務,包括登入和狀態將使用 MCP 伺服器長時間會話作為一次性命令會顯得很笨拙。
客戶團隊與自身連結的任何東西將作為 MCP 發貨用戶級 OAuth、撤銷、審計跟踪

大多數實際部署最終都會兼具這兩種特性。 Claude Code 本身就是一個混合體:它既是內部循環的 shell,也是需要它的服務的 MCP。如果您不想逐一整合地進行開發,那麼這就是我為客戶建立的架構圖。您可以 請點擊此處聯絡我們。 我會告訴你,你手邊的哪些工作需要 MCP 認證。.

MCP 與 CLI 常見問題解答

一疊呈扇形展開的玻璃卡片,其中一張被拉到前面,這是關於 MCP 與 CLI 的常見問題。

MCP是否因為CLI而消亡?

不。批評主要針對的是 MCP 伺服器,它們會將所有工具載入到上下文中,而延遲載入、網關和程式碼執行正在解決這個問題。 MCP 仍然是為沒有 shell 的 AI 應用和多用戶產品提供工具存取權限的標準方式。改變的是,「新增 MCP 伺服器」不再是獨立開發者的首選步驟。.

MCP 和 CLI 哪個比較便宜?

在 Scalekit 的公開基準測試中,CLI 每個任務使用的代幣數量比 MCP 少 4 到 32 倍。實際上,這種差距取決於兩個因素:載入的工具定義數量以及允許上下文中包含的原始輸出數量。一個粗心的 CLI 代理如果直接輸出完整的 API 回應,其消耗的令牌數量可能與一個粗心的 MCP 配置一樣多。.

Claude Code 使用 MCP 還是 CLI?

兩者兼備。它能原生運行 shell 指令並連接到 MCP 伺服器,而且它採用延遲載入 MCP 工具架構,因此未使用的工具開銷很低。我的計劃代理主要使用 shell。我比較了其他代理工具如何處理無人值守運行。 克萊恩 vs 克勞德科德.

我可以將MCP伺服器轉換為CLI嗎?

是的。像 mcp2cli 這樣的工具可以將 MCP 工具模式轉換為 CLI 指令,這樣代理程式就只會讀取它所呼叫的內容。它對於大型遠端伺服器和沒有內建延遲載入功能的腳本代理程式來說非常有用。.

提供人工智慧代理一個外殼安全嗎?

它的安全程度取決於你把它放在什麼容器裡。在容器中運行它,給它設置作用域鍵,限制它的任務範圍,並添加拒絕規則或鉤子來阻止破壞性命令。如果這些都做不到,那就給它使用範圍較小的 MCP 工具。.

我需要學習命令列才能使用 CLI 方法嗎?

比你想的簡單。代理會編寫命令。你的任務是清楚地記錄任務內容,包括目標端點、需要填寫的欄位以及「完成」的標準,並在出現問題時查看日誌。如果你能寫一份完善的檢查清單,就能執行 CLI 代理程式。.

最終想法:選擇誰在另一端

MCP 與 CLI 之爭常被解讀為協議之爭。但實際上,關鍵在於連結的另一端是誰。如果是你,使用自己的金鑰,按計畫執行相同的任務,那麼使用 shell 和編寫完善的指令檔會更經濟、更易於調試且更易於維護。但如果是你的客戶,或是沒有 shell 的 AI 應用,那麼 MCP 才是更成熟的解決方案。.

無論你選擇哪種方式,都要留意實際決定帳單金額的兩個數字: 作業開始前載入的內容, , 和 你在運行過程中讓哪些內容重新回到上下文中. 今晚的任務只接收到了 API 回傳資料的十分之一左右,而且開頭還有 19,000 條指令,我可能需要精簡一下。這兩個問題都可以解決,而且都與你支持哪一方的觀點無關。.

先進行一次集成。回答這五個問題。然後衡量哪些結果到達了模型,因為真正的差異就反映在這裡。.

潛在客戶開發人工智慧策略手冊,營運商的人工智慧自動化策略手冊

取得人工智慧策略手冊

每週:一個真實的經紀人工作案例,營運成本,以及我從中學習的失敗經驗。絕無廢話,隨時可以取消訂閱。.

引流工具 - AI 策略手冊
人工智慧行動指南-免費下載

📥 免費:《人工智慧劇本》

我用來經營一人代理公司的所有工具和工作流程。 25 年的行銷經驗濃縮成一份實用指南。免費贈送。.

引流工具 - AI 策略手冊

相關文章

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *