Microsoft quietly shipped a conformance spec for the MCP security boundary Microsoft quietly shipped a conformance specification for the MCP security boundary via its open-source Agent Governance Toolkit. The MCP Security Gateway 1.0 spec defines a policy-enforcing interception layer between agents and tool servers, complete with 127 conformance tests and a Python implementation. The spec precisely defines tool-call interception, response scanning for six named threats, schema-drift detection, and fail-closed behavior, turning vague security advice into testable requirements. Most of the advice about securing MCP tools is sound and vague: "vet your servers," "scan responses," "fail closed." Good instincts, no spec. Microsoft's Agent Governance Toolkit https://github.com/microsoft/agent-governance-toolkit — an MIT-licensed, open repo — turned one of those instincts into something you can actually conform to. The piece worth reading is MCP Security Gateway 1.0 https://github.com/microsoft/agent-governance-toolkit/blob/main/docs/specs/MCP-SECURITY-GATEWAY-1.0.md . It describes a policy-enforcing interception layer that sits between an agent and its MCP tool servers — a gateway every tool call and every tool response passes through. And it's written in RFC-2119 conformance language: the MUSTs, SHOULDs, and MAYs are load-bearing, which means an implementation can be measured against it rather than vibe-checked. The repo ships exactly that measurement: a conformance suite of 127 tests against a Python implementation. The gateway pattern itself isn't new. What's new is having the boundary specified precisely enough to test, instead of each team reinventing it. The spec is specific about what the gateway does, which is the useful part. Tool-call interception with approval. Calls are evaluated in a strict order: deny-list, then allow-list, then a sensitive-tool check that invokes an approval callback, then rate limits. For a sensitive tool, if the callback returns anything but APPROVED — DENIED or PENDING — the call is blocked. Response scanning. Tool responses are scanned and handled with one of three actions: BLOCK , SANITIZE redact the bad part, pass the rest , or LOG . It looks for instruction-tag injection markers like