Skip to content

PlanLimits

by planlimits-rpatel021.vercel.app · remote · no sign-in to list tools · v1.3.0 · published by app.vercel.planlimits-rpatel021

AI coding plan limits (Claude Code, Codex, Cursor, Copilot): router, picker, status, budget check

Changes · 4

8 tools: 4 change things and 4 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http planlimits https://planlimits.app/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Changes things 4Claude Code: ask
  • can_afford_taskFor agents deciding whether to start a task: given the plans you own, how much of each is used, optionally the plan you are on now, and the task size, returns verdict go | wait | s…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    For agents deciding whether to start a task: given the plans you own, how much of each is used, optionally the plan you are on now, and the task size, returns verdict go | wait | switch, which plan to use, reasons and reset windows. Reuses the route_task logic. Task size is a labeled heuristic (vendors don't publish per-task usage). size: small = One file or a quick question; medium = A feature across a few files (tens of minutes); large = A long refactor or multi-hour agent run. Plan ids: claude-pro, claude-max-5x, claude-max-20x, codex-free, codex-go, codex-plus, codex-pro, cursor-free, cursor-plus, cursor-premium, cursor-super, cursor-ultra, copilot-free, copilot-pro, copilot-pro-plus, copilot-max, antigravity-individual-free, antigravity-google-ai-pro, antigravity-google-ai-ultra, windsurf-free, windsurf-pro, windsurf-max.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • pick_planAnswers 4 questions and returns the cheapest fitting plan with reasons, up to 3 alternatives and source links (same logic as https://planlimits.app/picker/).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Answers 4 questions and returns the cheapest fitting plan with reasons, up to 3 alternatives and source links (same logic as https://planlimits.app/picker/). interface: terminal | ide | any; budget_usd: monthly USD; usage: light | daily | heavy (usage rule is a labeled rule of thumb); who: individual | team.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • recommend_planPlans priced at or under a monthly USD budget, highest price first (same logic as the PlanLimits budget picker).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Plans priced at or under a monthly USD budget, highest price first (same logic as the PlanLimits budget picker).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • route_taskGiven the plans you own, how much of each is used, and the task type, returns which plan to use now, a fallback, when each limit resets (from vendor-stated windows), a rationale, a…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Given the plans you own, how much of each is used, and the task type, returns which plan to use now, a fallback, when each limit resets (from vendor-stated windows), a rationale, a suggested weekly rotation, and source links. Same logic as https://planlimits.app/router/. Unknowns are labeled estimate / not published. Plan ids: claude-pro, claude-max-5x, claude-max-20x, codex-free, codex-go, codex-plus, codex-pro, cursor-free, cursor-plus, cursor-premium, cursor-super, cursor-ultra, copilot-free, copilot-pro, copilot-pro-plus, copilot-max, antigravity-individual-free, antigravity-google-ai-pro, antigravity-google-ai-ultra, windsurf-free, windsurf-pro, windsurf-max.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
Only reads 4Claude Code: allow
  • get_recent_changesDated change log of AI coding plan and usage-limit changes, newest first, each with a vendor source.No findings

    Why it is in this group

    • The name "get_recent_changes" says "get": a word for reading.
    Description, as the server wrote it
    Dated change log of AI coding plan and usage-limit changes, newest first, each with a vendor source.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_service_statusLive operational status and open incidents from official vendor status pages (Claude/Anthropic, OpenAI/Codex, Cursor, GitHub Copilot, Google Cloud Gemini/Vertex AI, Windsurf).No findings

    Why it is in this group

    • The name "get_service_status" says "get": a word for reading.
    Description, as the server wrote it
    Live operational status and open incidents from official vendor status pages (Claude/Anthropic, OpenAI/Codex, Cursor, GitHub Copilot, Google Cloud Gemini/Vertex AI, Windsurf). Outages only: it does not detect throttling or per-account limits. provider one of: anthropic, openai, cursor, github, google, windsurf (or a tool id); omit for all.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_tool_plansPlans and limits for one tool.No findings

    Why it is in this group

    • The name "get_tool_plans" says "get": a word for reading.
    Description, as the server wrote it
    Plans and limits for one tool. tool_id one of: claude-code, openai-codex, cursor, github-copilot, gemini-cli, antigravity, windsurf.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • list_plansAll tracked AI coding tools (Claude Code, Codex, Cursor, Copilot, Gemini Code Assist, Antigravity, Windsurf) with every plan: price, stated usage limits, window, models, source URL…No findings

    Why it is in this group

    • The name "list_plans" says "list": a word for reading.
    Description, as the server wrote it
    All tracked AI coding tools (Claude Code, Codex, Cursor, Copilot, Gemini Code Assist, Antigravity, Windsurf) with every plan: price, stated usage limits, window, models, source URL and checked date. Undisclosed values say "not disclosed".

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http planlimits https://planlimits.app/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__planlimits__list_plans",
      "mcp__planlimits__get_tool_plans",
      "mcp__planlimits__get_recent_changes",
      "mcp__planlimits__get_service_status"
    ],
    "ask": [
      "mcp__planlimits__recommend_plan",
      "mcp__planlimits__route_task",
      "mcp__planlimits__can_afford_task",
      "mcp__planlimits__pick_plan"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as planlimits. Review it before you use it.