Cloudflare Workers MCP server: graphql-dos-shield
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Analyze GraphQL query complexity. Returns depth, field count, list multipliers, and a risk level (LOW/MEDIUM/HIGH/CRITICAL). CRITICAL means the query should be rejected.
GraphQL query string to analyze
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Analyze GraphQL query complexity. Returns depth, field count, list multipliers, and a risk level (LOW/MEDIUM/HIGH/CRITICAL). CRITICAL means the query should be rejected.
| Argument | Type | Description |
|---|---|---|
| query* | string |
| GraphQL query string to analyze |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "GraphQL query string to analyze"
}
}
}Text-level rewrite of an overly complex GraphQL query: strips excess nesting depth and truncates too many fields.
| Argument | Type | Description |
|---|---|---|
| query* | string | GraphQL query to simplify |
| max_depth | integer | Max nesting depth (default: 3) |
| max_fields | integer | Max fields (default: 10) |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "GraphQL query to simplify"
},
"max_depth": {
"type": "integer",
"description": "Max nesting depth (default: 3)"
},
"max_fields": {
"type": "integer",
"description": "Max fields (default: 10)"
}
}
}Check and enforce rate limiting for a client. In-memory sliding window — state resets on cold start.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max requests per window (default: 100) |
| client_id* | string | Unique client identifier |
| window_ms | integer | Window in ms (default: 60000) |
{
"type": "object",
"required": [
"client_id"
],
"properties": {
"limit": {
"type": "integer",
"description": "Max requests per window (default: 100)"
},
"client_id": {
"type": "string",
"description": "Unique client identifier"
},
"window_ms": {
"type": "integer",
"description": "Window in ms (default: 60000)"
}
}
}