上週的一對一教學做了一個 Demo:請 AI 把首頁的圖片換成我們上傳的,我們用的軟體是 Claude Code Desktop 接 MCP,照理說 AI 已經能建文章、改設定、查訂單,傳張圖能有多難,結果卡了快一個小時圖就是進不去,這篇想從那一個小時,聊聊 MCP 限制到底在哪,以及一個開發者該怎麼繞過它。
先把結論放前面:MCP 很適合讓 AI 讀寫結構化的資料,但它所有的參數都是 JSON 字串,一碰到二進位檔案、大檔案、即時串流就會卡住,這是設計上的取捨,不是哪個外掛寫壞了。
先講 MCP 好在哪
MCP 解決的是一件很煩的事:讓 AI 用一致的方式操作外部系統。以前要讓 AI 動 WordPress,得自己刻一堆 function call、自己接 REST、自己處理認證,MCP 把這些收斂成一組標準工具,AI 一連線就知道有哪些能力可以用。我在 AI agent 管 WordPress 該用 MCP、REST API 還是 SSH + WP-CLI 這篇比較過這幾種通道,MCP 在「讓 AI 讀寫結構化資料」這件事上,確實是目前最順的。
查文章、改 meta、建草稿、設分類,這些都是文字進、文字出,MCP 跑起來又快又穩,問題是圖片不是文字。
侷限一:所有參數都是字串,沒有二進位通道
我實際去翻了我們接的那組 MCP 工具的 schema,三個跟檔案有關的工具長這樣:
| 工具 | 放內容的參數 | 型別 |
|---|---|---|
| 寫入佈景主題檔 | content | 字串 |
| 上傳媒體 | base64_content 或 url | 字串 |
| 執行 PHP | code | 字串 |
全部都是把內容當成工具呼叫 JSON 裡的字串參數。MCP 底層是 JSON-RPC,而 JSON 本身就沒有二進位型別,沒有檔案 handle,也沒有 multipart 上傳,位元組要進去,只能先編成一串 base64 字串。聽起來還好,base64 不就是個編碼,但這裡有個對 AI 特別致命的細節……
侷限二:內容要穿過 context,大檔案又燒 token 又不可靠
base64 之後那串字得由 AI 自己「重新寫出來」放進工具參數,它不是複製貼上,是每個 token 重新產生。一張 39KB 的 JPEG 編成 base64 是 52,484 個字元,那次 AI 只寫到 6,531 就崩了。換一張 6KB 的 PNG,8,084 個字元,這次長度完全正確,md5 卻對不上,原因在於它產生一串「長得像 base64」的東西但卻不是原本那一串。
對高亂度的長字串做零容錯的逐字重現,剛好是語言模型最不擅長的事,而 base64 錯一個字元整個檔案就壞,這不是再試一次、或把圖壓小一點能解決的,壓縮只是提高抄對的機率,沒有改變這條路本質上不可靠。
就算真的抄對了,這幾萬個字元也全都佔著 context。內容佔住模型上下文就是在燒 token,我在 AI 開發省 token 的關鍵 那篇講過,能不讓資料進 context 就別讓它進,傳檔案這件事,最好的情況是模型連看都不用看到那些位元組。
侷限三:同步請求模型,不適合長時間與串流
MCP 目前主流是一問一答的同步請求。查一筆資料很合適,但如果任務是「處理一支影片」或「接一個即時感測器串流」,同步模型就會卡在那裡等到逾時,這類需要背景跑、需要分段處理的工作,硬塞進一次工具呼叫並不合適。
把位元組留在伺服器端
要正確上傳圖片的做法有:
- 檔案已經有公開網址:讓伺服器自己去抓(
wp_remote_get,或媒體工具的 url 模式),一個位元組都不經過 AI - 檔案在本機:用 SFTP 或主機的檔案管理員上傳,AI 只負責之後的搬移與掛載
- 要在 WordPress 端落地:execute_php 在伺服器端做完,AI 只下指令、不搬資料
判斷原則其實很簡單:AI 適合下判斷、給指令、串流程,不適合當搬運位元組的水管。幾百位元組到一兩 KB 塞進參數是可行的,但只要是圖片、影片、PDF 這種尺寸就換一條通道。
所以別看到 MCP 能接就什麼都往裡塞。MCP、REST API、SSH + WP-CLI 各有各的邊界:要 AI 讀寫結構化資料,用 MCP;要搬檔案、跑批次、碰系統層,用 SSH + WP-CLI 或讓伺服器自己動手,在不同情境選擇適合的工具。
這種判斷要靠經驗的累積
那天卡住的一個小時,真正的收穫不是圖終於上傳成功,而是讓學員感受到 AI 的局限性,工具怎麼用、參數怎麼填,這些查文件就會,難的是遇到一個沒看過的錯誤時,判斷「這條路本質上行不行得通」、要不要換方向。
這種直覺很難靠看教學影片累積,得有人在你卡住的當下,指著螢幕跟你說「這裡不對,換個做法」,我的一對一教學做的就是這件事,如果你也在用 AI 開發、常常卡在這種說不上來哪裡怪的地方,可以來聊聊:AI 開發一對一教學。