generated: '2026-09-16' method: searched source: https://underdog.shop/agents.md note: >- Underdog tells agents its MCP endpoint is rate-limited per IP but publishes no numbers. No X-RateLimit-* / RateLimit-* / Retry-After headers appeared on any successful probe on 2026-09-16. The only runtime cost signals are GraphQL extensions.cost.requestedQueryCost and the shopify-complexity-score headers on MCP responses. An agent learns the limit only by receiving a 429. limit_count: 0 rate_limits: [] documented_policy: scope: per-IP surface: https://underdog.shop/api/ucp/mcp statement: '"Respect rate limits. The MCP endpoint is rate-limited per IP. Back off on 429 responses."' status_on_exhaustion: 429 headers_documented: [] headers_observed: [] retry_after_observed: false observed_headers_on_success: [x-request-id, server-timing, shopify-complexity-score, shopify-complexity-score-v2, x-shopify-ucp-mcp-api-version] evidence: - url: https://underdog.shop/agents.md status: 200 - url: https://underdog.shop/api/ucp/mcp status: 200 note: POST initialize; response headers inspected - url: https://underdog.shop/products.json status: 200