AI design tools

Figma MCP Rate Limits by Seat Type: Why Your Agent Stops After a Few Calls

What Figma's MCP rate limits are for each seat and plan, why a Pro seat can still be capped, and how to tell a rate limit from a token error.

· Diagram Studio Editorial

Direct answer

As of October 1, 2026, Figma documents up to 20 MCP tool calls per month on Starter, 6 per month for View and Collab seats on paid plans, and 200 to 600 per day for Dev and Full seats (10 to 20 per minute). Reported behaviour adds that the file's owning team decides which limit applies.

The short answer: three things set your limit

Your Figma MCP limit is set by the plan tier, your seat type on that plan, and which team owns the file you are reading. A View or Collab seat is capped at a handful of calls per month. A Dev or Full seat on a paid plan gets a daily allowance plus a per-minute cap. Which of those you land on can surprise you, because the plan that counts is the file's, not necessarily yours.

This article is built from Figma's own developer documentation, Figma's staff replies on its community forum, and the Claude Code documentation. The numbers below were read from those pages on October 1, 2026. Figma states that it reserves the right to change rate limits, so check the official rate limits page before you plan around any figure here.

The article also separates two failures that look alike from inside an agent session. A rate limit means Figma refused to answer. A token limit means Figma answered, but your client refused to accept a reply that large. They have different causes and different fixes.

The official limits table, as of October 1, 2026

Figma's page lists limits by seat and plan. Per-minute caps apply in addition to the daily or monthly counts. The table below restates it; the Starter figure applies to both seat rows because the official table merges that cell.

Figma MCP server read-tool limits, copied from developers.figma.com (documented, fetched October 1, 2026)
SeatStarterProfessionalOrganizationEnterprise
View, CollabUp to 20 per monthUp to 6 per monthUp to 6 per monthUp to 6 per month
Dev, FullUp to 20 per monthUp to 200 per day, 10 per minuteUp to 200 per day, 15 per minuteUp to 600 per day, 20 per minute

Three details on the page matter in practice. First, Education plans use the same limits as Dev and Full seats on Professional: 200 calls per day, 10 per minute. Second, the limits apply to tools that read data from Figma, and a short list of tools is exempt. Third, the page tells rate-limited users to upgrade the seat or the plan, and says Dev and Full seats on Enterprise plans get the least-limited usage.

The same 20, 200 and 600 figures also appear on Figma's pricing page, which lists Dev seats at $12, $25 and $35 per month on Professional, Organization and Enterprise (Organization and Enterprise are billed annually) and Full seats at $16, $55 and $90. Prices change; treat that as a snapshot.

One reading that is easy to get wrong: a Starter plan with a Dev seat gets the same 20 per month as a Starter View seat. On the free plan, seat type does not buy you a daily allowance.

What counts toward the limit, and what does not

Figma says the limits apply to server tools that read data and that some tools, such as those that write to Figma files, are exempt. The docs name three exempt tools: add_code_connect_map, create_new_file and whoami.

The tools reference lists the read tools an agent normally uses for design-to-code work: get_design_context, get_metadata, get_screenshot, get_variable_defs, search_design_system and download_assets, among others. Reading the limits page and the tools page together, these are the calls that draw down your allowance.

Several details are not documented, and the honest position is that they are unknown. The page does not say whether a call that fails still counts, whether one tool weighs more than another, when the monthly window resets, or whether the remote and desktop servers share one counter. It also does not say what error text an agent sees at the cap.

Figma's staff have also described the exempt list differently from the docs. In two forum threads (an education question in July 2026 and a K-12 question in August 2026) a staff member lists whoami, add_code_connect_map and generate_figma_design as not counting. The docs page lists create_new_file instead of generate_figma_design. The documentation is the primary source and is what this article follows, but the mismatch is a reason not to build a workflow that depends on a write tool being free.

Why your Pro seat can still behave like a Starter seat

The most useful finding in Figma's forum is about whose plan is counted. A user on a Professional plan with a Dev seat reported in June 2026 that the limiter was still applying Starter limits, even though whoami reported tier: "pro" and seat: "Dev". A Figma community staff member replied with the likely cause.

MCP rate limits attach to the team that owns the file you're reading, not to your account or your best seat.

Jaycee Lewis, Figma staff (community forum reply) — Figma MCP server stuck on Starter limits despite active Professional Dev seat

In the same reply the staff member says whoami reports your highest seat globally, so it can look healthy while a file in Drafts or on a Starter team is capped. The suggested test is to make one read call against a file you have confirmed lives inside the Professional team. If that works, move the other file into that team, for example by saving a local copy and importing it. This is a staff explanation of a single case, labeled by the staff member as the likely cause, not a documented rule on the limits page. It is consistent with the docs' permission note, which says the user must belong to the plan that owns the file.

Hand-drawn decision path showing how a Figma MCP limit is chosen: file owner team first, then seat, then plan tier
Check the file's team before the seat or the plan: Drafts and Starter teams cap you regardless of what whoami says (documented table, reported file-location behaviour).

A second reported cause is timing. In a March 2026 thread, a user who had upgraded to a Dev seat and re-authenticated was still limited on the first call. Community support replied that seat changes can take time to propagate and suggested refreshing the MCP connection or restarting the editor. That thread records no final resolution, so treat the delay as reported, not as a guaranteed fix.

What a design-to-code pass costs in calls (an estimate)

Figma does not publish a calls-per-screen figure, so this section is an estimate built from the tools reference and Figma's advice, not a measurement. Figma's docs recommend smaller selections and tell users that get_design_context returns large output for big selections, with get_metadata as the way to get an outline first. That pushes a careful workflow toward several calls per screen.

Estimated read calls for one screen (inference: the section counts are assumptions, not Figma figures)
StepToolCallsWhy
Confirm identity and planswhoami0Exempt (documented)
Outline the screenget_metadata1Sparse XML outline to choose sections
Pull each sectionget_design_context3Assumes the screen is split into three chunks
Visual checkget_screenshot1Compare output against the design
Token namesget_variable_defs1Variables and styles used in the selection
Total per screen6Assumes every read call counts equally

Using that estimate, a 5-screen flow costs about 30 calls. Against the documented limits, the picture is this: Starter's 20 per month covers roughly three screens, a Professional Dev seat's 200 per day covers about 33 screens, and an Enterprise seat's 600 per day about 100. The per-minute caps matter more than the daily numbers in one sitting. Six calls fit under 10 per minute, but an agent that fires two screens' worth of calls in parallel will not.

Retries are the unknown multiplier. If an agent re-fetches a large frame after a token error, or loops on a flaky tool, calls accumulate without producing code. Whether those retries are counted is not documented.

Watch Aligning code to design intent by GitHub on YouTube
Figma's MCP launch post presents this as a lightning talk on aligning code to design intent, the argument for why design context beats screenshots and why fewer, better-targeted calls matter.
Hand-drawn budget flow for one screen: outline, three section pulls, screenshot and variables adding up to six estimated calls
The per-screen budget used in this article: six read calls, with whoami free. An estimate, not a Figma figure.

Rate limit or token limit: two errors that look alike

If a call returns data but Claude Code complains about size, that is not a rate limit. Figma's known-issues page describes the error: a get_design_context response of 351,378 tokens exceeding a maximum of 25,000, with a request to use pagination, filtering or limit parameters.

The response from the Figma MCP server contains more tokens than your AI assistant can handle in a single response.

Figma developer documentation, Official docs, Known issues with MCP clients — Known issues with MCP clients

Figma's fix is to raise the MAX_MCP_OUTPUT_TOKENS environment variable, for example to 50,000 or 100,000, and restart Claude Code. The Claude Code MCP documentation gives the surrounding facts: a warning appears when any MCP tool output exceeds 10,000 tokens, the default maximum is 25,000, and a result with no image content that exceeds the limit is saved to a file in the session's tool-results directory with a message naming the path. Tools that return image data remain subject to the variable.

Raising the cap is a patch, not a plan. Figma's own guidance says large, heavy frames can slow the tools, cause errors or return incomplete responses, and recommends generating code for smaller pieces such as a card, header or sidebar. A smaller selection also means a smaller reply, so it helps on both counts.

Telling the two failures apart
SignalRate limitToken limit
Where it failsFigma side: no data returnedClient side: data returned but too large
Typical textNot documented by FigmaResponse (N tokens) exceeds maximum allowed tokens (25000)
FixWait, upgrade the seat or plan, or move the file to a paid teamRaise MAX_MCP_OUTPUT_TOKENS or select a smaller frame
Does more budget helpYesNo
LabelDocumented limits, reported edge casesDocumented

One caution from the forums: an education-plan user in June 2026 reported figma.loadFontAsync() calls hanging with no error message. Figma staff said that did not clearly look like a rate-limit problem and opened a support ticket. A silent hang is therefore not proof that you hit a cap.

Planning around the limits

Budget by selection, not by session. Splitting work along natural boundaries keeps each reply small and makes the call count predictable. A short protocol:

  1. Run whoami first. It is exempt, and it lists your plans and seats, but remember it does not tell you which team owns the file you are about to read.
  2. Open the file's location in Figma and confirm it sits in a team on a paid plan, not Drafts.
  3. Pull get_metadata for the screen and decide the sections before asking for get_design_context.
  4. Request one component or section at a time, and ask for variables once per screen rather than per section.
  5. Stay under the per-minute cap (10, 15 or 20 depending on plan) by running screens one after another, not in parallel.
  6. Write down the call count when a task finishes, so the next estimate comes from your own log, not a guess.

Worked example: a Professional Dev seat building the 5-screen flow above needs about 30 calls by the estimate, well inside 200 per day, but it should still serialise screens to stay under 10 per minute. The same flow on a Starter plan would exhaust 20 calls partway through the fourth screen and then wait for the monthly reset, which Figma does not describe in detail.

For Code Connect work, note that add_code_connect_map is exempt. Mapping components to code does not draw down the allowance, so it is the cheapest way to make later reads smaller and more accurate.

What to do when you hit the limit

Match the fix to the cause. Figma's own list is short: upgrade the seat or plan. The page spells out the paths. A Starter plan user should move to Professional, Organization or Enterprise and make sure they hold a Full or Dev seat on it. A View or Collab seat on Organization or Enterprise should become a Full or Dev seat. An Organization Full or Dev seat that needs more should move to Enterprise at 600 per day. An Education plan user who needs more should move to Organization or Enterprise.

Before paying for anything, rule out the cheaper explanations: the file is in the wrong team, the seat change has not propagated yet, or the error is a token limit rather than a rate limit.

Education accounts have a documented route that costs nothing. A Figma staff reply in the K-12 thread says seat changes go through the organization's admin in the People tab, and because Education organizations are free, moving from View to Dev or Full carries no cost. That reply is staff guidance on the forum, dated August 2026, and the same thread notes View and Collab seats are limited to 6 per month there. An earlier thread records Figma raising Education daily limits to match Professional on July 1, 2026, which the docs now reflect.

If you cannot change plans, change the work. Do the Figma read once, save the extracted context (a spec file or notes in the repo), and let the agent work from that file for the remaining iterations. That keeps later passes off the Figma allowance entirely. This is an inference from how the limits work, not something Figma documents.

Is Figma MCP free, and what to expect

The accurate answer is that you can connect for free, with a ceiling of 20 documented tool calls per month on a Starter plan. That is enough to try the tools, and not enough to build a feature. For regular design-to-code work, the lowest documented step with a daily allowance is a Dev or Full seat on a Professional plan: 200 calls per day and 10 per minute.

The numbers in this article will age. Figma reserves the right to change them, the forum shows the Starter figure being described as 6 per month by a staff member and as 20 per month on the current docs page, and the exempt-tool list differs between the docs and staff replies. When the page and a reply disagree, trust the page, check its date, and test with a file in a paid team before you commit a project to a particular plan.

Hand-drawn comparison of a rate limit error from Figma and a token limit error from the client, with the fix for each
Two errors, two fixes: more seat or plan for a rate limit, a smaller selection or a larger token cap for a token limit.