MCP gives reach; it doesn't give judgment
An MCP server's job is to expose tools and route calls to them. It does that well, and deliberately doesn't take a position on whether a particular call should happen — that's the agent's decision. So the security model of "agent + MCP server" is really just the agent's judgment, and an agent's judgment is a probabilistic model that can be injected, confused, or simply mistaken. The more powerful the tools you connect, the more a single bad call can cost.
This is the same problem agents have everywhere, sharpened by how easy MCP makes it to grant power. Connect a database tool and a wrong call drops a table. Connect a shell tool and a wrong call runs rm -rf. The tools are doing exactly what they were built to do; the question is whether you want them firing the instant the model decides, with nothing in between.
A proxy in front of the tool calls
Because MCP tool calls travel over HTTP, you can put a transparent proxy in their path. agent·shield sits between the agent and the server it calls, inspecting each request — method, path, and body — against your policies. Safe tool calls (reads, lookups, routine writes) are forwarded instantly, so the agent uses its tools at full speed. Calls that match a destructive pattern are held in an approval queue, and a person approves or denies before the tool ever runs.
The integration is the deliberately boring part: you point the agent's outbound base URL at agent·shield rather than at the tool endpoint directly, and nothing about the agent or the MCP setup has to change. No SDK, no wrapping each tool with a confirmation step, no fork of the server. The gate is infrastructure in front of the tools, which means it covers every tool the traffic flows through, including ones you add later.
Know exactly what your tools were asked to do
When an agent has a pile of connected tools, the scariest question is the vague one: what has it actually been doing with them? agent·shield answers it concretely. Every tool call — forwarded, blocked, held, approved, denied — is written to an append-only audit log with the full request, the policy it matched, who decided, and when. You can reconstruct precisely which tools were invoked, with what arguments, and what was allowed.
That record also makes it safe to expose more capability over time. Start by holding any call that looks destructive, watch the queue and the log, and relax the policies for tool calls that prove routine — tightening if something surprising shows up. To be exact about scope: agent·shield governs the MCP and tool traffic you route through it, so point those calls at the proxy and that's the set it protects. It's a control layer on tool use, not a replacement for the server's own auth.
how it works
- 01
Inventory your connected tools
List the MCP tools the agent can call and flag the destructive ones — delete, drop, overwrite, shell execution, anything irreversible.
- 02
Proxy the agent's tool traffic
Point the agent's outbound base URL at agent·shield instead of straight at the tool endpoints. No SDK and no changes to the MCP server.
- 03
Write policies for the risky calls
Express the destructive tool calls as policies — regex over method, path, and body. Matching calls are held; everything else forwards instantly.
- 04
Approve or deny held tool calls
Review each held call with full context and approve (it forwards to the tool) or deny (the tool never runs).
- 05
Audit and expand safely
Use the append-only log to see exactly which tools were called and how, then relax policies for routine calls and keep the gate on the dangerous ones.
frequently asked
- Doesn't MCP already handle security?
- MCP is a protocol for connecting tools to agents, not a policy engine. It handles transport and tool discovery; it doesn't decide whether a given tool call is safe to run. agent·shield adds that decision in front of the calls, holding destructive ones for human approval.
- Do I have to modify my MCP server to add agent·shield?
- No. agent·shield is a transparent proxy — you route the agent's outbound traffic through it and leave the MCP server alone. There's no SDK, no fork, and no per-tool confirmation code to write.
- Which MCP tool calls get held?
- Whichever you flag as destructive in policy: deletes, drop-table, overwrites, shell execution, and similar irreversible calls. agent·shield matches on method, path, and body, so you control exactly which tool invocations need a human.
- Can I see a history of every tool the agent called?
- Yes. Every tool call that passes through agent·shield — forwarded, blocked, held, approved, or denied — is recorded in an append-only audit log with the full request, the matched policy, the actor, and the timestamp.
Published May 26, 2026 · Last updated June 13, 2026