AI Engineer Europe 2026 · 演講 · 2026-04-08 · 41 分
把第三方 MCP 工具調成自己的
Bending a Public MCP Server Without Breaking It · Nimrod Hauser,Baz
Nimrod 拿 Playwright MCP server 當例子,用一個 spec reviewer 逐版示範五種調整第三方工具的做法:精簡、改寫描述、加確定性防護、組合新工具、直接當函式呼叫。
概要
- 第三方工具是別人寫的整合程式碼Nimrod 說工具就是附上描述的可呼叫函式,不論來自 MCP server、函式庫或複製貼上,只要是別的團隊寫的都適用這場的做法。
- 風險有三種agent 行為出乎意料、效能變差,以及安全問題。Nimrod 舉的例子是多租戶架構裡 agent 不清楚資料夾與資料庫的劃分,可能把一個客戶的資料漏給另一個。
- 用 Baz 的 spec reviewer 當範例它讀 Jira 或 Linear 的工單與設計圖,再開 Playwright MCP server 進系統檢查實作,最後給通過或失敗的判定,並附截圖當證據。
- 五個做法逐版加上去V0 是原封不動的基準;V1 篩掉用不到的工具;V2 改寫描述;V3 對存截圖的路徑加確定性檢查;V4 另開一個專門拍證據截圖的工具;最後把登入移出 agent 的流程。
- 基準版失敗、改完版通過V0 判定需求沒做到,附的截圖證據是 404;全部改完後,agent 判定設定抽屜存在,截圖檔名也帶上工單資訊。
- 沒有放諸四海皆準的作法有時要精簡工具減輕 context window,有時要更長、更囉嗦的描述;有時要確定性,有時要彈性。
原話
▶ 02:16“Essentially, tools are just callable functions wrapped with a nice description.”
工具基本上就是包上一段描述的可呼叫函式
▶ 03:23“You give them tools, and you get unpredictability at scale.”
給 agent 工具,就會得到規模化的不可預測
▶ 27:33“So this is a deterministic way where we can stop the tool right in its tracks with a deterministic guardrail.”
這是一種確定性的做法,用確定性的防護把工具當場攔下
▶ 39:38“tailoring them is what's gonna make our agents pop”
把工具調成貼合自己的用途,才會讓 agent 表現出色
▶ 39:55“there's no one size fits all”
沒有一體適用的作法
延伸
- Nimrod 提到真實產品能做像素等級的驗證,但這場的範例沒有示範。
- Nimrod 談到 needle in the haystack 與 lost in the middle,說明為何光靠描述與 prompt 不夠、需要確定性的防護,但沒有展開。
章節
點時碼直接跳到原片的那一段。
- 開場與自我介紹一開場說他們的 MCP server「著火了」,Nimrod 自我介紹是 Baz 的 founding engineer,公司做 AI 程式碼審查,這場要談第三方 agentic tools。
- 第三方工具是什麼工具就是附描述的可呼叫函式,描述讓 agent 知道何時、如何使用;這場以 Playwright 的 MCP server 為例。
- 第三方工具的三種風險行為不可預期、效能下降,以及多租戶情境下可能洩漏客戶資料的安全問題。
- 範例:spec reviewer這個 agent 先讀工單與設計圖整理需求,再用 Playwright MCP server 進系統看實作,給出判定與截圖證據。
- 範例程式與題目看精簡版專案:一個 MCP server 設定、取工具用的基底類別、system prompt,以及一張工單截圖與設計圖,要 agent 找出 spec reviewer 的設定抽屜。
- V0 基準版直接用 LangChain 的 load MCP tools 方法,拿到 Playwright 的 21 個工具,描述都很短、很通用。
- V0 的結果agent 判定需求未實作,證據是一張 404 的截圖,連截圖都沒拍好。
- 五個做法總覽精選工具、包裝並改寫描述、加確定性防護、用現有工具組出新工具,最後是把部分流程移出 agent,直接當函式用。
- V1:精選工具排除不需要的工具,例如調整視窗大小、拖曳、在瀏覽器內執行程式碼,工具從 21 個剩 16 個,context 變小。
- V2:包裝並改寫描述用字典為每個工具換上依自身經驗寫的描述,例如要求在 hover 或 click 前先呼叫 accessibility snapshot 工具。
- V3:確定性防護對拍視覺截圖的工具,在呼叫前檢查存檔路徑是否在指定資料夾內,不合就擋下,並回給 agent 一段說明請它改存。
- V4:用現有工具組新工具在截圖工具之上另建 Evidence Tool,專門拍證據,描述與檔名規則都能和一般截圖分開。
- 做法五:當成確定性函式登入每次都要做、又牽涉各客戶不同的機制與密鑰,所以在建立 agent 之前,用 MCP 取得的工具以程式先登好。
- 最終執行加上全部改進再跑一次,agent 判定設定抽屜存在,截圖檔名含工單資訊。
- 總結第三方工具開箱常常不夠貼合,要依用途決定精簡或加料、確定性或彈性。
名詞
- Baz
- Nimrod 任職的公司,做 AI 程式碼審查,spec reviewer 是其產品之一
- spec reviewer
- Baz 的 agent,比對工單與設計圖的需求和實際實作,給通過或失敗的判定與截圖證據
- Playwright MCP server
- 提供瀏覽器操作工具的 MCP server,這場拿它當第三方工具的範例
- accessibility snapshot
- Playwright 工具之一,以文字列出頁面上的按鈕與選單,Nimrod 說工具名稱的 snapshot 容易誤導,它不是視覺截圖
- LangChain
- 範例用的框架,V0 用它的 load MCP tools 方法取得工具
- deterministic guardrail
- 以確定性的程式邏輯限制 agent 能做的事,不交給 agent 自己判斷
- Evidence Tool
- V4 新建的工具,專門在流程結尾拍證據截圖








