點解 MCP tool annotations 緊要:對安全 agent 嚟講 coverage 贏 tool count

人哋比較 agentic CRM 嗰陣會數 tool。但真正預測一個 agent 安唔安全放出嚟嘅,係另一個數:annotation coverage。一個 MCP tool annotation 話俾 agent 知一個 tool 對個世界做啲咩 — 讀定改、retry 安唔安全、會唔會接觸外部服務。冇 annotation,agent 就係靠估。呢篇講佢哋係咩,同埋點解一個 catalog 嘅 annotation coverage 比 tool count 更緊要。
MCP annotation 係咩
每個 MCP tool 喺 input 同 output schema 之外都可以帶 hint:
readOnlyHint— 個 tool 淨係讀;咩都唔改。可以隨便 call。destructiveHint— 個 tool 改或者刪。Agent call 之前應該 confirm。idempotentHint— 同樣 input call 兩次同 call 一次效果一樣。Timeout 之後可以安全 retry。openWorldHint— 個 tool 接觸外部服務(send email、charge card),所以佢嘅效果離開咗個系統。
呢啲唔係俾人睇嘅 documentation。係 agent 行動之前 reason 嘅 machine-readable signal。
點解佢哋防止最差嘅失敗
危險嗰類 agent 失敗唔係「agent 做唔到嘢」。係「agent 因為睇錯一個含糊指令而做咗錯嘅破壞性嘢」。刪咗個客而唔係個 tag。Refund 錯 invoice。取消咗全部 booking 而唔係一個。
Annotations 等 agent 自己 gate。一個 annotation 完整嘅 catalog 即係 agent call list_members 唔使儀式,但 call cancel_booking 之前停低 confirm,因為一個 mark 咗 read-only、一個 mark 咗 destructive。Pre-MCP function-calling 冇對等嘅嘢 — 每個 tool 喺 model 眼中都一樣,所以安全完全靠 prompt。
點解 coverage 比 count 更緊要
一個 190+ tool catalog + 100% annotation coverage 安全過一個 30-tool 但冇 annotation 嘅。一個冇 destructiveHint 嘅 tool 係地雷:agent 喺 call 咗之前冇辦法知佢危險。所以當你評估一個 agentic CRM,問題唔係「幾多個 tool」 — 係「幾多 % annotated,破壞性嗰啲有冇 mark」。
FavCRM 出 190+ 個 typed tools,100% annotation coverage。每個改數據嘅 tool 都 flag 咗、每個 read-only tool 都 mark 咗安全,agent 相應咁 gate 自己。呢個就係令到可以將一個 live agent 指向一個真實 workspace 嘅原因 — 包括 診所呢類敏感記錄 vertical,喺嗰度一個混淆嘅破壞性 call 係不可接受。
應該問 vendor 咩
- 你嘅 annotation coverage 係幾多 — 一個數,唔係「我哋有 annotation」?
- 係咪每個破壞性 tool 都 mark 咗
destructiveHint? - 外部效果 tool(email、payment)有冇 mark
openWorldHint?
如果答案含糊,安全就靠 prompt,而 prompt 會失敗。
睇吓
睇 MCP catalog 嘅完整 annotated tool surface,或者睇 咩係 agentic CRM 嘅大圖。免費 tier 覆蓋 100 位客戶、每月 200 個預約。

