generated: '2026-09-12' method: probed source: >- https://shop.agnikul.in/agents.md (HTTP 200) for the stated policy; response headers observed on a live POST initialize to https://shop.agnikul.in/api/ucp/mcp (HTTP 200) on 2026-09-12 name: Agnikul rate limits slug: agnikul limit_count: 0 limit_count_note: >- The store states that a limit exists but publishes no number. There is no rate-limit reference page, no quantified limit, no window and no burst on any Agnikul host. An honest zero: a qualitative rate-limit statement is present, a quantified limit is not. documented_statement: quote: 'Respect rate limits. The MCP endpoint is rate-limited per IP. Back off on 429 responses.' source: https://shop.agnikul.in/agents.md scope: per-ip surface: https://shop.agnikul.in/api/ucp/mcp limits: [] response_signalling: exhaustion_status: 429 exhaustion_status_source: https://shop.agnikul.in/agents.md standard_headers_documented: [] standard_headers_observed: [] standard_headers_probed: - X-RateLimit-Limit - X-RateLimit-Remaining - X-RateLimit-Reset - RateLimit-Limit - RateLimit-Remaining - RateLimit-Reset - RateLimit-Policy - Retry-After observation: method: POST initialize url: https://shop.agnikul.in/api/ucp/mcp http_status: 200 date: '2026-09-12' result: >- No RateLimit-*, X-RateLimit-* or Retry-After header of any family was returned on a successful call. The agent has no remaining-budget signal and can only discover the ceiling by hitting it. non_standard_headers_observed: - name: shopify-complexity-score value_observed: '310' meaning: >- A per-request cost score, not a limit. It tells a client how expensive the call it just made was; no budget, window or remaining balance is returned alongside it. - name: shopify-complexity-score-v2 value_observed: '31' meaning: A second-generation cost score on a different scale. Same limitation — cost without budget. - name: x-shopify-ucp-mcp-api-version value_observed: '2026-08-25' meaning: Echoes the UCP protocol version that served the request. Useful for pinning; unrelated to rate limiting. - name: x-request-id value_observed: '-' meaning: Per-request trace identifier. - name: server-timing meaning: 'processing/db durations plus edge, country, asn, servedBy and requestID descriptors. Diagnostic, not budget.' note: >- The substantive finding: this endpoint returns a COST signal and no BUDGET signal. An agent is told what it spent and never what it has left. storefront_surface: scope: https://shop.agnikul.in read-only JSON routes (/products/*.json, /collections/*/products.json) documented: false note: >- The store documents these routes for agents in /agents.md but states no limit for them; the rate-limit sentence is scoped to the MCP endpoint only. corporate_surface: scope: https://agnikul.in documented: false note: No API and therefore no limits. robots.txt carries no crawl-delay. gaps: - No numeric limit, window or burst published. - No RateLimit-* or X-RateLimit-* response headers emitted on success. - No Retry-After documented for the 429 the store tells agents to expect. - A complexity/cost score is returned with no corresponding budget or remaining balance.