[TOOLS] 4 分鐘閱讀OraCore 編輯部

為什麼 Pi MCP Adapter 才是使用 MCP 的正確方式

Pi MCP Adapter 才是使用 MCP 的正確方式,因為它在保留工具能力的同時,大幅降低 token 浪費。

分享 LinkedIn
為什麼 Pi MCP Adapter 才是使用 MCP 的正確方式

Pi MCP Adapter 在保留工具能力的同時,大幅降低 MCP 的 token 浪費。

Pi MCP Adapter 才是 MCP 的正解,因為它保住工具生態的實用性,卻把上下文成本壓到接近單一代理工具的水位。

GitHub 倉庫的描述已經把問題講得很直白:一個 MCP server 可能在工具定義上先吃掉 10k 以上 token,模型還沒開始工作,成本就先付出去了。這不是抽象的效率問題,而是每一次對話都在被課稅。Pi 的做法是先暴露一個約 200 token 的 proxy tool,再按需載入工具。差別很明確,前者是還沒開工就先丟掉半個上下文窗,後者是把上下文留給真正的任務。

第一個論點:MCP 的預設形狀太浪費

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

很多人批評 MCP 時,真正打到的其實不是協議本身,而是常見實作方式。若 agent 一開始就得吞下一整包工具清單,模型付出的成本和實際會不會用到那些工具無關。Pi MCP Adapter 的價值在於把 discovery 變成 lazy loading:先查 metadata,再只呼叫需要的工具。這不是包裝術語,而是直接改寫成本結構。

為什麼 Pi MCP Adapter 才是使用 MCP 的正確方式

倉庫裡的範例說得更具體:原本要把 26 個 tool definitions 塞進 prompt,現在可以先搜尋,再用一個精簡 JSON 呼叫目標工具。兩次互動,取代 26 份定義在上下文裡排隊。這件事重要,是因為 context 不是免費資源。每多一個工具 schema,就少一點空間留給使用者真正的需求。

第二個論點:能持續的 UI,比一次性的工具呼叫更有價值

Pi MCP Adapter 不只是壓縮層,它還支援可持續的對話式 UI,這才是實用性真正升級的地方。adapter 透過 mcp({ action: "ui-messages" }) 取回訊息,並在共享 session 中回應。當 agent 在同一個工具上再次操作時,新的結果會推進到既有視窗,而不是把前一次輸出整個覆蓋掉。這代表使用者看到的是一個活著的介面,不是一串可丟棄的工具回傳。

如果 agent 要做的不只是補字,這種互動就是必要條件。圖表可以在原地迭代,瀏覽器任務可以保留狀態,使用者也能在不失去介面的情況下回覆提示。倉庫把這稱為 live updates,這個命名是對的。Agent 真正變得有用,不是因為它吐出更多結果,而是因為它能透過持續存在的畫面協作。

反方可能怎麼說

最強的反對意見是:Pi 的做法多加了一層,層數一多,複雜度就可能被藏起來而不是消失。倉庫引用的 Mario 批評並不荒唐,如果某個流程只需要幾個簡單 CLI 工具,那為什麼還要把 MCP 放進堆疊裡?對工具集合很小、流程很穩定的團隊來說,直接腳本確實更好理解,也更好控管,少了 proxy、metadata cache 和 adapter 設定檔這些間接成本。

為什麼 Pi MCP Adapter 才是使用 MCP 的正確方式

這個批評在一個狹窄情境裡成立:工具很少,工作流固定,MCP 真的只是多餘儀式。但多數 agent 團隊面對的不是這種世界。只要你需要瀏覽器、資料庫、API 和 UI surface 同時協作,單靠「直接寫 CLI」就會迅速失去擴展性。Pi 的答案不是否認複雜度,而是把代價說清楚:保留 MCP 生態,移除 prompt 稅。對多工具 agent 來說,這是更合理的工程選擇。

你能做什麼

如果你是工程師、PM 或創辦人,別再把工具暴露當成「全部塞進上下文」和「完全不用 MCP」的二選一。面對廣泛工具生態,優先採用 proxy-first 的 adapter 模式;只有少數真的需要第一時間可見的命令,才直接暴露。把 lazy loading 設成預設值,若產品包含互動式 UI,就立刻導入 session reuse 和 in-place updates。你該衡量的不是能宣告多少工具,而是你到底為真正的任務保留了多少上下文。