request-limit-exceeded is the Alpic reason code returned when a team on the Free plan has used every request that plan includes for the current billing period. Paid plans are never refused: requests beyond the included allowance are billed as overage. It is a stable identifier: match on it rather than on the message text, which may be reworded.
The response
The request is refused at admission. It never reaches your MCP server, and it is not counted against your plan.- HTTP status:
402 Payment Required - JSON-RPC error code:
-32002for clients on MCP2025-11-25and earlier,-31002for clients on2026-07-28, which forbids-32002 - Alpic reason code:
request-limit-exceeded, under the reservedalpic/reasonkey
What counts as a request
Every settled MCP request counts, whatever its outcome, includingtools/list and server/discover. initialize and ping count for clients on 2025-11-25 and earlier; clients on 2026-07-28 never send them. Because the check runs at admission, a refused request is not added to your count. An elicitation counts as two requests: the tool call that asks the question and the one that carries the answer.
The limit applies to the whole team, across every project and environment, for the current billing period. See Plans for the requests included in each plan and the overage rate.
Handling it in a client
initialize and server/discover go through the same check, so a Free-plan team over its limit fails at connection time. Most MCP clients render that as a generic “server unavailable” rather than showing the message, so treat a 402 on connect as a quota problem, not an outage.