Skip to content

Plans & Rate Limits

Tier matrix

CapabilityFreeBitterChainerArchitect
Call MCP endpoint (mcp.access)
mcp.tools.read — all tools except update_agent
mcp.tools.writeupdate_agent
Manage OAuth clients (mcp.oauth_client.manage)

mcp.tools.read is not read-only. It is the single entitlement covering almost the whole tool surface, including the tools that create, change, and delete tasks, goals, memories, and sandbox files. See the Tools Reference for which entitlement each tool consumes.

Anonymous calls receive 401 Unauthorized with a WWW-Authenticate header pointing to the OAuth discovery URL — Claude.ai handles this automatically.

Rate limits

Two independent buckets:

Endpoint bucket — mcp.access

Counted per user, per minute. Exceeding it returns HTTP 429.

PlanRequests / minute
Bitter30
Chainer120
Architect300

Per-tool bucket — mcp.tools.read / mcp.tools.write

Counted per user, per hour, separately for read and write tools. Burning the read budget never affects write and vice versa.

PlanRead / hourWrite / hour
Bitter60n/a
Chainer60060
Architect6000600

Per-tool budgets (loop prevention)

Inside a single MCP call, the server enforces its own ceilings:

  • No nested tool calls — an MCP request dispatches exactly one tool.
  • A cap on how many times the same tool may repeat within one request. A few tools whose legitimate usage fans out — reading several distinct records after a search, or grouping by every value of a status filter — carry a slightly higher cap.

These ceilings stop runaway loops from draining your hourly budget on a single request.

Upgrading

When a tool returns 403 feature_not_in_plan, the error includes the required feature key (e.g. mcp.tools.write). The web app's paywall page links straight to upgrade flow.

Built with purpose.