Skip to main content
Glama

Download assets

figma_download_assets
Read-only

Write Figma node assets and original image fills to disk for code implementation: export presets or a scaled render per node, with deduplicated source images. Re-runs overwrite files.

Instructions

Write a design's ASSETS to disk for implementing it in code: per node, its export presets as the designer set them (format and suffix each), or one render in format at scale when it has none; plus the ORIGINAL bytes of every image fill in its subtree (deduplicated by hash, at most 20 per call, rawImagesTruncated when there were more) — the photo under a hero's headline without the headline baked in. Re-runs overwrite the same files. Paths follow figma_export_node's saveTo rules. To SEE a design use figma_export_node; this one is for files the code ships.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dirNoDirectory for the files. Defaults to the export directory.
scaleNoRaster scale for those renders, default 2. Ignored for SVG/PDF.
formatNoRender format for nodes with no export presets. Default PNG.
nodeIdsYesNodes (ids or Figma links) whose assets to write.
sessionNoOptional sessionId or file name, to pick a Figma file when more than one is connected.
rawImagesNoAlso write the original bytes of image fills. Default true.
useExportSettingsNoUse each node's own export presets when it has any. Default true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing rate/volume limits ('at most 20 per call, `rawImagesTruncated` when there were more'), idempotency ('Re-runs overwrite the same files'), dedup-by-hash behavior, and where paths come from (figma_export_node's saveTo rules). The description does explicitly describe writing and overwriting files on disk while annotations declare readOnlyHint=true; this is defensible as 'does not modify the Figma document', and because the write behavior is fully disclosed the agent is not misled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and resource, and every sentence carries information (presets, raw images, overwrite caveat, path rules, sibling routing). The first sentence is a dense mega-sentence packing three distinct behaviors, which slightly taxes scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still conveys what lands on disk, the truncation flag, and where files go, which is most of what an agent needs. It does not describe the return payload itself (e.g. any list of written paths), so the response shape remains partly implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds combination semantics the schema omits: export presets win when present, and format/scale only apply to nodes without presets. It also explains rawImages' effect on the output (original bytes, dedup, truncation) rather than just restating the boolean.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: 'Write a design's ASSETS to disk for implementing it in code'. It also explicitly distinguishes itself from the sibling figma_export_node ('To SEE a design use figma_export_node; this one is for files the code ships'), so an agent can pick between them without reading either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative tool and the condition that selects it: seeing/inspecting a design routes to figma_export_node, while shipping assets in code routes here. The preset-vs-render logic further clarifies when each code path applies, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools