AI agents use figma_set_selection to create or update resources in Figma MCP Bridge — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Figma MCP Bridge environment.
Setting selection in Figma modifies the active selection state, which is a document-level property. While not creating new content, it changes the document's interactive state in a reversible way. This qualifies as Write rather than Read (which would be querying selection) or Execute (which would trigger external operations).
From the tool's definition Tool name 'figma_set_selection' and description 'Set selection. Empty array clears.' indicate modification of document state by changing which design elements are selected. This is a reversible operation that alters the document's editing state.
Documented attack patterns abuse exactly the kind of access figma_set_selection gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and Figma MCP Bridge, and nothing reaches the server without passing your rules. This is the rule we recommend for figma_set_selection:
{
"version": "1",
"default": "deny",
"tools": {
"figma_set_selection": {
"limits": [
{
"counter": "figma_set_selection_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} figma_set_selection stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
Free to start. No card required.
Set selection. Empty array clears. It is categorised as a Write tool in the Figma MCP Bridge MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Figma MCP Bridge MCP server in PolicyLayer and add a rule for figma_set_selection: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Figma MCP Bridge. Nothing to install.
figma_set_selection is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the figma_set_selection rule in your PolicyLayer 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.
Set action: deny in the PolicyLayer policy for figma_set_selection. 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.
figma_set_selection is provided by the Figma MCP Bridge MCP server (magic-spells/figma-mcp-bridge). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from Figma MCP Bridge, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.
Free to start. No card required.
88 Figma MCP Bridge tools catalogued and risk-classified — across an index of 43,000+ MCP servers.