{"name":"graphql-dos-shield","protocol":"mcp","transport":"streamable-http","method":"POST","jsonrpc":"2.0","server_info":{"name":"graphql-dos-shield","version":"2.0.0"},"tools":[{"name":"complexity_meter","description":"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."},{"name":"rate_limiter","description":"Check and enforce rate limiting for a client. In-memory sliding window — state resets on cold start."},{"name":"query_rewriter","description":"Text-level rewrite of an overly complex GraphQL query: strips excess nesting depth and truncates too many fields."}],"example":{"initialize":{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0"}}},"list_tools":{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}},"call_tool":{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"complexity_meter","arguments":{"query":"{ user { id posts { id } } }"}}}},"docs":"https://modelcontextprotocol.io/"}