# Figma MCP Rate Limits and Billing: A Developer’s Guide

> Understand Figma MCP rate limits and billing for developers. Learn about monthly call limits for read-only tools and per-minute limits for Dev/Full seats. Write-capable tools are exempt.

- Repository: [Figma/mcp-server-guide](https://github.com/figma/mcp-server-guide)
- Tags: guide
- Published: 2026-03-30

---

**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`](https://github.com/figma/mcp-server-guide/blob/main/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.

```json
{
  "tool": "whoami",
  "arguments": {}
}

```

**Typical response structure:**

```json
{
  "email": "john.doe@example.com",
  "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.

```python
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`](https://github.com/figma/mcp-server-guide/blob/main/README.md)**: Central documentation of rate limits and seat-type rules (lines 5-10)
- **[`skills/figma-implement-design/SKILL.md`](https://github.com/figma/mcp-server-guide/blob/main/skills/figma-implement-design/SKILL.md)**: Lists read-only tools subject to limits
- **[`skills/figma-use/SKILL.md`](https://github.com/figma/mcp-server-guide/blob/main/skills/figma-use/SKILL.md)**: Documents `use_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_figma` and `create_new_file` bypass all rate limits regardless of plan.
- **Check seat type first**: Use the `whoami` tool to verify your `seat` field 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`](https://github.com/figma/mcp-server-guide/blob/main/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.