CMSE · Module 5 of 5 · 12 min
Running MCP behind a deciding boundary
Static scanning happens before deployment; attacks also happen at runtime through tool returns and manipulated arguments. A runtime boundary decides each call as it happens.
MCPGate sits on the path between agent and server: it checks identity, policy, risk and the capability token for every call, and records the decision. A refused call never reaches the server.
Operate it like any security control: alert on spikes of refusals, review held calls, and keep the evidence.
Key points
- Scan before deploy; decide at runtime.
- Every call: identity, policy, risk, token.
- Refused calls never reach the server.
- Watch refusal spikes.
In the CAIN-42 codebase
cain/mcp_proxy.py— the runtime boundarycain/telemetry.py— SIEM export of decisions
Practice check
Practice 1 · true or false
“Static scanning alone covers runtime attacks through tool returns.”
Practice 2 · choose one