MCP 工具调用护栏实践
Background-Job-862 · reddit · 2026-07-16
作者复盘了一次“几乎执行破坏性数据库查询”的 MCP 工具调用事故:代理在歧义指令下构造了可能 drop table 的调用,虽然最终被权限检查拦下,但这更多是运气而非设计。
文章将护栏分成两类:
- Pre-tool checks:在请求到达 MCP server 前,检查参数是否不仅“schema 合法”,还是否“策略合法”,例如拦截破坏性 SQL、限制特定表/路径、扫描参数中的密钥或 PII,并做与调用者权限绑定的硬权限校验。
- Post-tool checks:工具返回后、结果回传给 agent/用户前,扫描是否包含不该出边界的 PII/密钥,对要展示给终端用户的内容做审核,必要时可以选择脱敏而不是完全阻断。
作者强调,真正关键的是哪些检查必须在请求路径里同步阻断/脱敏,哪些可以作为异步日志/告警跑,不要给每次调用都增加不必要的延迟。文中还提到他们在 MCP gateway 上用 Truefoundry 的 guardrails 规则链分别处理 block、redact、flag、pass,并且已经抓到过真实问题。最后作者反问:其他团队的 pre/post-tool checklist 是否已形成共识,还是仍在各自摸索。
「编程与Agent」频道最新
- 同一套 DeepSeek 内核两种优化路线:vLLM 拆专家、SGLang 降访存 — AccBalanced · 2026-10-27
- 用 Tailscale 让云端 Grok Bot 在自己 Mac mini 上写代码,全程不开公网端口 — talkaboutdesign · 2026-10-27
- 工程师数月实践:Agent 每次调用重发全量上下文,改一个 token 全额付费 — dscape · 2026-10-27
- Alchemy 支持 Effect Workflow:跨 Durable Objects、Workflows 与 Lambda 持久函数 — samgoodwin89 · 2026-10-27
- Alchemy 推出 Lambda Web Functions,Node 版 Web 服务器直接上 Lambda — samgoodwin89 · 2026-10-27
- Alchemy 全部约 2850 个 AWS binding 现已跨云可用 — samgoodwin89 · 2026-10-27