Medium Risk

figma_write

Execute JavaScript code to CREATE or MODIFY designs in Figma. Use the `figma` proxy object — all methods return Promises, use async/await. Operations: create, modify, delete, clone, group, ungroup, flatten, resize, set_selection, set_viewport, batch (multiple ops in one call). Design Tokens: crea...

Accepts freeform code/query input (code)

Part of the Figma Ui MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

figma-ui-mcp Write Risk 3/5

AI agents use figma_write to create or modify resources in Figma Ui. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.

Without a policy, an AI agent could call figma_write repeatedly, creating or modifying resources faster than any human could review. Intercept's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Figma Ui.

Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.

io-github-tranhoaihung-figma-ui-mcp.yaml
tools:
  figma_write:
    rules:
      - action: allow
        rate_limit:
          max: 30
          window: 60

See the full Figma Ui policy for all 4 tools.

Tool Name figma_write
Category Write
MCP Server Figma Ui MCP Server
Risk Level Medium

Agents calling write-class tools like figma_write have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Write risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.

What does the figma_write tool do? +

Execute JavaScript code to CREATE or MODIFY designs in Figma. Use the `figma` proxy object — all methods return Promises, use async/await. Operations: create, modify, delete, clone, group, ungroup, flatten, resize, set_selection, set_viewport, batch (multiple ops in one call). Design Tokens: createVariableCollection, createVariable, applyVariable, createPaintStyle, createTextStyle, createComponent. Call figma_docs first to see all available operations and examples. The code runs in a sandboxed VM: no access to require, process, fs, fetch, or network.. It is categorised as a Write tool in the Figma Ui MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on figma_write? +

Add a rule in your Intercept YAML policy under the tools section for figma_write. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Figma Ui MCP server.

What risk level is figma_write? +

figma_write is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit figma_write? +

Yes. Add a rate_limit block to the figma_write rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block figma_write completely? +

Set action: deny in the Intercept policy for figma_write. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides figma_write? +

figma_write is provided by the Figma Ui MCP server (figma-ui-mcp). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on Figma Ui

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.