---
title: "Api Mcp Rate Status"
method: GET
path: "/api/mcp/rate-status"
---

# Api Mcp Rate Status

`GET /api/mcp/rate-status`

## Request

- Base URL: `https://www.oxfordledge.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.oxfordledge.com/api/mcp/rate-status`
- Auth: none declared

Current MCP rate-limit status for the caller — the SAME bucket
`/api/mcp/tool` enforces against.

It previously reported on a different identity in a different store, so it
read zero for every caller in every configuration: with Redis up the limiter
returns before the deque is ever written, and with Redis down the deque is
keyed by the identity string (`ip:1.2.3.4`) while this read looked up a bare
`1.2.3.4`. An agent developer saw "remaining: full" and then got a 429 —
the meter was worse than no meter, because it was believed.

## Response `200`

Successful Response

- McpRateStatusResponse: `GET /api/mcp/rate-status` — caller's MCP rate-limit state. F4 backfill 2026-05-11. `limit_per_hour` + `remaining` may be string "unlimited" for unlimited tiers, or int for capped tiers — declared Any for that polymorphism.
  - `status` string, required
  - `tier` string, required
  - `limit_per_hour` unknown, required
  - `used` integer, required
  - `remaining` unknown, required
  - `reset_at` integer, nullable

---

[API](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api.md) · [All operations](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/revisions/e832a1260f0b?raw)
