What is Denial of Service (MCP)?

2 min read Updated

MCP denial of service overwhelms an MCP server or proxy with excessive tool calls to degrade or prevent legitimate agent operations.

WHY IT MATTERS

Denial of service (DoS) attacks on MCP infrastructure target the availability of tool services that agents depend on. If the database MCP server is overwhelmed, the agent can't query data. If the payment server is down, the agent can't process transactions. Unlike web application DoS where users see error pages, MCP DoS causes agents to fail silently or enter error loops.

Attack vectors include volumetric flooding (sending thousands of tool calls per second), resource-intensive calls (requesting expensive database queries or large file reads), connection exhaustion (opening many concurrent MCP sessions), and recursive tool calls (triggering tools that call other tools in amplification patterns).

In the MCP ecosystem, DoS can come from external attackers, but also from compromised agents or malicious servers. A manipulated agent in an agentic loop might repeatedly call the same tool, unintentionally DoS-ing the server. A malicious server might return responses that cause the agent to make exponentially more calls — a protocol-level amplification attack.

The impact extends beyond availability. If the DoS forces a fail-open condition — where the system allows operations without policy checks because the policy server is down — the attack becomes a gateway to bypass security controls entirely.

HOW POLICYLAYER USES THIS

Intercept provides built-in rate limiting through YAML policies, capping the number of tool calls per time window at both global and per-tool levels. This prevents both external DoS and agent-driven resource exhaustion. Critically, Intercept's fail-closed design means that if Intercept itself is overwhelmed, tool calls are blocked rather than allowed — the system never degrades into a fail-open state that bypasses policies.

FREQUENTLY ASKED QUESTIONS

Can an agent accidentally DoS its own MCP servers?
Yes. Agentic loops, retry storms, and recursive tool call patterns can generate enough traffic to overwhelm MCP servers. Rate limiting at the proxy layer prevents this regardless of the agent's behaviour.
What's the difference between DoS and resource exhaustion?
DoS targets service availability from an external perspective. Resource exhaustion is the internal mechanism — consuming compute, memory, or connections until the service fails. Resource exhaustion is one way to achieve DoS.
Should MCP servers implement their own rate limiting?
Defence in depth says yes — both server-level and proxy-level rate limiting are valuable. But proxy-level limiting (via Intercept) provides a single point of control across all servers and prevents traffic from reaching servers unnecessarily.

FURTHER READING

Enforce policies on every tool call

Intercept is the open-source MCP proxy that enforces YAML policies on AI agent tool calls. No code changes needed.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.