Skip to content

MCP tools

The server sends its runtime schema to Codex. Use types_get for exact field contracts. This page gives the shorter human-readable list.

These tools work while Figmaboy is closed.

Tool Purpose
designs_list Search saved designs and return IDs, names, projects, timestamps, and page counts.
design_context_get Load a saved page by file ID or name with the document, ordered layers, assets, revision, and preview.

These tools require an open design.

Tool Purpose
editor_status Active file/page, save state, selection, change token, viewport, and canvas geometry.
design_capabilities Supported node/style capabilities and required semantic hierarchy conventions.
types_get Complete TypeScript contract for every node, style, operation, and tool.
icons_search Search Phosphor icons and return exact names with visual previews.
assets_list List reusable image assets in the open design with dimensions, usage, and previews.
fonts_list List fonts used by the design, loaded by Figmaboy, and portable system families.
design_audit Check a frame for clipping, overflow, contrast, and undersized named controls.
document_get Complete open page document, ordered layer tree, and change token.
nodes_get Fetch exact node records by ID or filter all nodes by type/name.
geometry_get Local, world, canvas-client, and rotated-corner geometry.
Tool Purpose
operations_apply Atomically create, update, delete, reparent, or reorder native layers.
nodes_center Center layers horizontally, vertically, or both relative to a parent or selection.
nodes_set_border_radius Set uniform or independent radii on frames, rectangles, and images.
image_place Persist and place a local PNG, JPEG, or WebP as an image layer.
selection_set Replace the editor selection with exact node IDs.
viewport_focus Fit the viewport to specified nodes or the complete design.

operations_apply, nodes_center, nodes_set_border_radius, and image_place accept an optional expectedChangeToken for optimistic concurrency.

Tool Purpose
frame_screenshot Capture one complete frame and its descendants as PNG evidence.
render Render the full design or selected nodes to PNG.
history_undo Undo the most recent editor mutation.
history_redo Redo the most recently undone mutation.
document_save Immediately persist the open page and return its revision/save state.

Codex should follow this order:

  1. Inspect capabilities, available materials, types when needed, and the current document.
  2. Create named parent containers before their children.
  3. Use one top-level frame per screen and semantic section/component groups.
  4. Remember that child coordinates are parent-local.
  5. Apply related changes atomically.
  6. Run design_audit and resolve useful findings.
  7. Capture and inspect a complete frame screenshot.
  8. Refine visible issues and save.

During /evolve, designers can also use evolve_candidate_validate and evolve_candidate_render for early checks. These tools operate on an isolated candidate rather than the live canvas. Whether or not the designer calls them, Figmaboy renders every returned proposal and sends the exact image and audit through a dedicated visual-review turn before director review.