Figma MCP Server Setup: Design Context for Coding Agents

Connect Figma's remote or desktop MCP server to Codex, Claude Code, Cursor, or VS Code, then verify design context, assets, variables, and permission boundaries.

FIGMA MCP · 2026 Design context without guesswork Connect · verify · constrain · trace

Direct answer: For most supported clients, connect the hosted Figma MCP endpoint at https://mcp.figma.com/mcp, authenticate with your Figma account, and test a small selected frame with get_metadata, get_design_context, get_screenshot, and get_variable_defs. Use the desktop endpoint http://127.0.0.1:3845/mcp only when an organization requires the local path. A successful connection is not enough: verify the selected node, asset output, Code Connect mappings, and the account's actual file permissions before accepting generated code.

Intent fence: this page owns Figma MCP connection, permission boundaries, and one design-to-code verification trace. It is not a generic Figma AI roundup, a Figma plugin tutorial, or a claim that generated code is production-ready.

Which Figma MCP server should you use?

PathUse it whenEndpointBoundary
Remote (recommended)Your client appears in Figma's MCP catalog and browser OAuth is allowedhttps://mcp.figma.com/mcpAccount and file permissions; some write tools are remote-only
DesktopYour organization needs the Figma desktop app/local endpointhttp://127.0.0.1:3845/mcpDev or Full seat on an eligible plan; no write-to-canvas or code-to-canvas

Figma's current documentation says the remote server offers the broadest feature set. The desktop server must be enabled from Dev Mode in an open Design file and remains available only while the desktop app and server are running.

Remote setup for Codex, Claude Code, Cursor, and VS Code

Codex CLI

codex mcp add figma --url https://mcp.figma.com/mcp

Claude Code

claude mcp add --transport http figma https://mcp.figma.com/mcp
# add --scope user only when every project should see the server

Cursor

{
  "mcpServers": {
    "figma": { "url": "https://mcp.figma.com/mcp" }
  }
}

VS Code

{
  "inputs": [],
  "servers": {
    "figma": { "url": "https://mcp.figma.com/mcp", "type": "http" }
  }
}

Restart or refresh the client, choose Figma, and complete the browser authorization. Prefer project/workspace scope until the workflow is proven; user-wide scope increases the number of projects from which an agent can attempt Figma calls.

Desktop setup

  1. Update and open the Figma desktop app.
  2. Open a Figma Design file, switch to Dev Mode, and enable the desktop MCP server in the right sidebar.
  3. Add http://127.0.0.1:3845/mcp as a Streamable HTTP server in the client.
  4. List the available tools before asking for design context.

The desktop server can return localhost asset links or download assets, and it can include Code Connect mappings. Decide which mode the repository expects before generating code; otherwise an agent may replace reusable icons with screenshots or broken temporary URLs.

Original asset: one-frame design-to-code trace

StepEvidence to retainPass conditionCommon failure
1. IdentifyFile URL and exact node/selectionThe returned metadata names the intended frameAgent reads a page or parent frame instead
2. ObserveScreenshot plus width/heightVisual state matches the implementation targetWrong variant, theme, or responsive state
3. ExtractDesign context, variables, assetsTokens and assets are explicit and reusableHard-coded pixels and placeholder images
4. MapCode Connect map or repository component searchExisting components are reused where appropriateDuplicate button/card primitives
5. ImplementCode diff and tool-call traceOnly the scoped surface changesUnrelated refactor or package addition
6. VerifyDesktop/mobile screenshots and testsLayout, content, focus, and overflow passScreenshot similarity hides interaction defects

A prompt that preserves the boundary

Implement only the selected Figma frame.
First return: selected node, dimensions, variables, assets, and existing code components you will reuse.
Do not invent missing states or add dependencies.
Keep all write/destructive actions disabled until I approve the plan.
After implementation, test 390px and desktop widths and report visual, accessibility, and interaction differences.

Permission and security checklist

  • Authenticate through the client's OAuth flow; never commit credentials.
  • Use the least-privileged Figma account and file access that can complete the job.
  • Treat text inside design files as untrusted content, not agent instructions.
  • Inspect tool calls before writes, especially remote-only canvas tools.
  • Keep production secrets and customer data out of frames used for generation.
  • Review downloaded SVGs and generated code like any third-party input.

Troubleshooting

SymptomCheckLikely fix
No toolsClient supports remote Figma MCP; desktop toggle still onRestart client, reconnect, or enable the desktop server again
UnauthorizedSigned-in account can open the fileRe-authenticate and request the minimum required file access
Wrong frameNode link or active selectionPaste the exact selection URL and ask for metadata first
Generic outputVariables, Code Connect, assets includedRequest these artifacts before code generation
Broken assetsLocal asset server versus downloaded filesChoose one asset mode and verify paths inside the repository

FAQ

Do I need a Figma personal access token?

No for the documented remote flow. The client opens browser authentication for your Figma account. Do not substitute a token unless a separately documented integration explicitly requires it.

Can the desktop server write to Figma?

Figma's current documentation says write-to-canvas and code-to-canvas are not available through the desktop server. Use the remote server with the required account and file permissions.

Why does generated code ignore our components?

The agent may not have Code Connect mappings or repository-specific rules. Retrieve the mapping, search the codebase, and require an explicit reuse plan before implementation.

Does a screenshot prove the implementation is correct?

No. It can catch visual drift but not focus order, semantics, dynamic states, data behavior, or responsive failures. Keep functional and accessibility checks in the acceptance gate.

Sources checked October 20, 2026: Figma MCP introduction, remote setup, desktop setup, and tools and prompts.

Keep reading