Figma MCP Rate Limits and Billing: A Developer’s Guide
The Figma MCP server enforces two distinct quota systems based on your plan and seat type: read-only tools face either 6 monthly calls for Starter/View/Collab seats or per-minute limits for Dev/Full seats, while write-capable tools remain exempt from all rate limits.
The Figma Model Context Protocol (MCP) server provides programmatic access to design files and design systems, but usage restrictions vary dramatically depending on your subscription tier and seat assignment. This guide explains the rate limiting and billing structure implemented in the figma/mcp-server-guide repository, helping developers optimize their integration strategy and avoid unexpected throttling.
Understanding Figma MCP Rate Limit Tiers
According to the repository's README.md, the server applies two different usage quotas that hinge on your plan and seat type (lines 5-10).
Per-Minute Limits for Paid Seats
Users with a Dev or Full seat on Professional, Organization, or Enterprise plans receive per-minute request ceilings that mirror the Tier 1 Figma REST API (line 10). These limits apply exclusively to read-only tools such as get_design_context, get_variable_defs, and search_design_system.
Monthly Call Caps for Starter and View/Collab Seats
Starter plan users and those with View or Collab seats on paid plans face a hard cap of 6 calls per month across all read tools (line 8). This monthly budget resets based on your billing cycle, not calendar months.
Write Tool Exemptions
Write-capable tools including use_figma and create_new_file are explicitly exempt from both per-minute and monthly rate limits regardless of your seat type (lines 5-6).
Billing Plans and Seat Type Hierarchy
Your Figma MCP rate limits derive directly from your organization's subscription tier and individual seat assignment.
Starter Plan Limitations
The free Starter plan restricts users to 6 read-tool calls monthly. This applies to all read operations, making the MCP server suitable only for light prototyping or demonstrations on free accounts.
Professional, Organization, and Enterprise Plans
Paid subscriptions unlock higher throughput, but the specific quota depends on seat classification:
- Dev seat: Full access to per-minute rate limits (aligned with public API Tier 1)
- Full seat: Identical per-minute access as Dev seats
- View/Collab seats: Inherit the Starter-style monthly cap of 6 calls despite being on paid plans
Checking Your Current Quota and Seat Type
Before executing batch operations, verify your seat classification using the whoami tool. The response includes a plans array where each object contains a seat field determining your rate limit tier.
{
"tool": "whoami",
"arguments": {}
}
Typical response structure:
{
"email": "[email protected]",
"plans": [
{
"key": "org_12345",
"name": "Organization",
"seat": "Dev",
"tier": "Professional"
}
]
}
If the seat value is "View" or "Collab", your read-tool calls count against the 6-per-month limit. A "Dev" or "Full" value grants you per-minute rate limits instead.
Implementing Rate Limit Handling
When calling read-only tools, implement retry logic to handle HTTP 429 errors. The server returns 429 Too Many Requests when you exceed your per-minute quota, mirroring the standard Figma REST API behavior.
import time
import requests
def call_mcp_read_tool(tool_payload):
"""Wrapper for read-only MCP tools with exponential backoff."""
max_retries = 5
for attempt in range(max_retries):
resp = requests.post(
"https://mcp.figma.com/mcp",
json=tool_payload
)
if resp.status_code != 429:
return resp.json()
# Exponential backoff: wait longer between retries
time.sleep(2 ** attempt)
raise Exception("Rate limit exceeded after maximum retries")
Apply this pattern to all read operations like get_design_context or search_design_system. Write-capable tools such as use_figma do not require this handling, as they bypass rate limiting entirely.
Key Configuration Files
The following files in figma/mcp-server-guide define these constraints:
README.md: Central documentation of rate limits and seat-type rules (lines 5-10)skills/figma-implement-design/SKILL.md: Lists read-only tools subject to limitsskills/figma-use/SKILL.md: Documentsuse_figma(write-capable, exempt from limits)
Summary
- Two quota systems exist: per-minute limits for Dev/Full seats versus 6 monthly calls for Starter/View/Collab seats.
- Write tools are exempt:
use_figmaandcreate_new_filebypass all rate limits regardless of plan. - Check seat type first: Use the
whoamitool to verify yourseatfield before designing automation workflows. - Handle 429 errors: Implement backoff logic for read-only tools to respect per-minute limits.
- Seat upgrades matter: Moving from View to Dev seat instantly unlocks per-minute rate limits without changing your underlying plan.
Frequently Asked Questions
What happens when I exceed the Figma MCP rate limit?
The server returns a 429 Too Many Requests HTTP status code for per-minute violations or rejects calls entirely once you exhaust the 6-call monthly budget. You must wait until the next minute (for Dev/Full seats) or the next billing cycle (for Starter/View/Collab seats) before making additional read requests.
Are write operations truly unlimited on the Figma MCP server?
Yes. According to lines 5-6 of README.md, write-capable tools including use_figma and create_new_file are not subject to any rate limits. This exemption applies universally, whether you are on a free Starter plan or using a View seat on an Enterprise plan.
How do I upgrade from 6 monthly calls to per-minute limits?
You must obtain either a Dev seat or Full seat on a Professional, Organization, or Enterprise plan. Simply upgrading to a paid plan is insufficient if you retain a View or Collab seat designation. Use the whoami tool to verify your current seat type after any administrative changes.
Do rate limits apply per API key or per user account?
Rate limits apply per user account based on the authenticated user's seat type and plan. The whoami response includes all plans and seats associated with your account, indicating that limits follow the user identity rather than individual API keys or client connections.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →