iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
生成式 AI

一塊一塊拼湊的 AI 樂高世界之旅系列 第 22

[Day 22] 深入 MCP 的核心—Stdio 與 StreamHTTP:AI 通訊的新語言

  • 分享至 

  • xImage
  •  

前言

在上篇我們談到,MCP(Model Context Protocol) 是一種讓 AI 模型、工具與應用能「彼此理解」的通用語言。
它不只定義了「AI 能做什麼」,更關鍵的是——AI 之間如何說話。
而這一切的底層基礎,正是兩種通訊協議:Stdio 與 StreamHTTP。
它們就像是 MCP 世界的兩條動脈,一條專注在本地、即時、高效,一條負責網路、串流與跨平台。

Stdio:AI 模型之間的本地語言

Stdio,全名「Standard Input/Output」,原本是作業系統中最基本的輸入輸出機制。
在 MCP 的設計中,它被重新賦予了新意義——成為模型與主程式之間的快速橋樑。

Stdio 模式下,MCP 的客戶端(例如 ChatGPT、VS Code、或任何 AI host)與伺服端(通常是插件或本地 AI 工具)透過標準輸入輸出管道直接交換資料。
這意味著:

  • 不需要 HTTP 請求與伺服器啟動延遲;
  • 所有通訊幾乎即時、低延遲;
  • 不依賴網路,安全且封閉;

適合用於 離線開發環境、桌面應用、內部系統整合 等場景。

例如,當你在本機的 IDE 裡使用一個透過 MCP 實作的「Code Analyzer 插件」,
ChatGPT 會透過 Stdio 啟動該工具進行互動,並以 JSON-RPC(Remote Procedure Call over JSON)格式溝通:

{
  "jsonrpc": "2.0",
  "method": "getDiagnostics",
  "params": { "file": "main.cs" },
  "id": 1
}

立即回傳分析結果,整個過程幾乎在毫秒級完成。
這種「即插即用」的特性,讓 Stdio 成為 MCP 的核心通訊選擇之一,特別是在多模型協作需要高效率互動時。

StreamHTTP:AI 的長線對話協議

但當 AI 不再只運行於本地,而是跨越多個應用、雲端 API、甚至外部服務時,Stdio 的侷限就出現了。
這時,StreamHTTP 登場了。

StreamHTTP 是 MCP 的另一種傳輸協議,專為網路場景設計。
它的精神可以概括為三個關鍵字:串流(streaming)、狀態保持(stateful)、即時同步(real-time sync)。

與傳統的 HTTP 不同,StreamHTTP 採用了「雙向串流」設計。
在這種模式下,客戶端(例如 ChatGPT 或 IDE)與 MCP 伺服端可以同時發送與接收資料流。
也就是說,當 AI 模型生成內容時,不需要等待整段完成,而是能逐字節即時傳輸、即時呈現。

這讓 StreamHTTP 非常適合用於:

  • 長時間持續對話(如 ChatGPT 與外部資料服務);
  • 串流回傳大型內容(如翻譯、程式碼補全、逐步生成報告);
  • 跨應用 AI 集成(如一個 AI 同時控制多個 SaaS 平台)。

實際上,StreamHTTP 的結構類似 WebSocket 或 Server-Sent Events (SSE),但 MCP 在協議層上更嚴謹。
它支援多路(multiplexed)通道、標準化錯誤回報、事件訂閱,以及 JSON-RPC 的一致語法。

為什麼 MCP 要同時擁有兩種協議?

你可能會問:既然 StreamHTTP 能做到即時串流,為何還要保留 Stdio?
答案在於「開發場景的多樣性」。

Stdio 是輕量、快速、安全的本地方案。
它不需網路、安裝容易,非常適合單機、企業內部或需要高度安全的環境(例如金融或國防系統)。
而 StreamHTTP 則是開放、可擴展、可雲端整合的網路協議,能連接外部服務或 AI 模型 API,例如 OpenAI、Anthropic、HuggingFace 等雲端端點。

MCP 因此選擇「雙軌架構」:

  • Stdio: 讓 AI 工具能快速啟動、在使用者電腦內部協作;
  • StreamHTTP: 讓這些工具能延伸至雲端、共享上下文、擴大應用範圍。

這樣的設計不僅兼容傳統 CLI、IDE 插件,也支援未來的多代理(multi-agent)架構。
可以想像,未來你的 AI IDE 可能同時透過 Stdio 與本地模組對話,又透過 StreamHTTP 與雲端知識庫交流 - 所有互動都以 MCP 為通用語言。

技術之外的價值:MCP 的未來生態

MCP 不僅僅是技術協定,它代表了一種新的AI 整合哲學:
讓模型之間「能理解上下文,也能彼此協作」。

在這個哲學下,Stdio 與 StreamHTTP 成為兩種共生模式。
前者讓開發者能快速地在本地擴展工具,
後者讓企業能在雲端構建跨平台的 AI 流程。
它們共同推動了「AI 應用不再是單點,而是一個網絡」的時代。

未來,當 IDE、筆記應用、設計軟體、資料庫、甚至瀏覽器都支援 MCP 時,
這些軟體之間將不再只是透過 API 連接,而是透過語意層級的理解進行溝通。
這就是「上下文互通(Contextual Interoperability)」的真正意涵 —
AI 不只是工具,而是能共同思考、共享脈絡的夥伴。

結語

MCP 的設計哲學,讓人不禁聯想到當年網際網路協議的誕生。
HTTP 讓網頁彼此連通,而 MCP 讓智慧彼此連通。
Stdio 與 StreamHTTP,就像這個新網路世界的兩種語言——
一種貼近使用者的本地語言,一種連接世界的全球語言。

當 AI 不再孤立存在,當應用之間能共享意圖與上下文,
我們所看到的將不只是更聰明的機器,而是一個會理解你的工作世界。
那一天,或許我們會回過頭說 - MCP,不只是通訊協定,而是人機共創的真正開端。


上一篇
[Day 21] MCP - 人機協作的新時代核心
下一篇
[Day 22] MCP 架構解析 - 模型、伺服端、客戶端的協作藍圖
系列文
一塊一塊拼湊的 AI 樂高世界之旅23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言