Error: Agent Blocked
Overview
When DataDome's bot protection layer detects that an AI agent's request is unauthorized or anomalous, it intercepts the request and returns a structured JSON-RPC error before it reaches the MCP server. This error is not generated by the MCP server itself.
The canonical identifier for this error type is:
https://docs.datadome.co/mcp-servers-protection/error-agent-blocked
Error Payload
{
"jsonrpc": "2.0",
"id": "request-id-123",
"error": {
"code": -32000,
"message": "Access denied",
"data": {
"type": "https://docs.datadome.co/mcp-servers-protection/error-agent-blocked",
"explanation": "This agent or its activity is not authorized to access this resource. Possible causes include the agent not being permitted to access this resource, abnormally high request rate, missing or malformed protocol headers, or anomalous request patterns."
}
}
}Fields Reference
| Field | Type | Description |
|---|---|---|
error.code | integer | Always -32000 for DataDome-issued blocks |
error.message | string | "Access denied", a short human-readable summary |
error.data.type | string (URI) | Canonical identifier for this error type |
error.data.explanation | string | Description of why the request was blocked |
Possible Causes
- Agent not permitted: The agent's identity or credentials are not authorized to access this resource
- Abnormally high request rate: The agent is sending requests at a rate that exceeds normal usage thresholds
- Missing or malformed protocol headers: Required headers are absent or incorrectly formatted
- Anomalous request patterns: The agent's behavior has been identified as suspicious or fraudulent
Recommended Agent Behavior
Do not retry automatically. Retrying without addressing the root cause may result in further blocking.
How to Identify a DataDome Block
A request was blocked by DataDome (and not by the MCP server itself) when all of the following are true:
error.codeis-32000error.data.typeishttps://docs.datadome.co/errors/agent-blocked
Always use error.data.type as the primary signal, not the error code alone, as -32000 may be used by MCP servers for other purposes.
Updated about 6 hours ago
