Fanta docs
MCP Server

MCP Server

Thirteen tools connect external agents to the focused Fanta design.

Fanta’s MCP server is part of the running desktop app. It uses a private Unix socket, and fanta --mcp-stdio bridges stdio clients to it. It acts on the most recently focused design.

The connection instructions below are for a non-Store build. Fanta's Settings can also configure local or remote MCP tools for its own in-app agent. The Mac App Store feature build blocks Fanta from launching local MCP commands, while remote HTTP tools remain available. That is a different direction from an external client connecting to Fanta's live canvas server. Build differences →

ToolPurpose
get_editor_stateRead the active project, pages, selection, viewport, and free placement space.
get_design_systemInspect components, variants, variable collections, modes, values, and selected-node bindings.
prepare_design_assetOpen a draft image or SVG generation request for the user to review and submit.
batch_getRead exact nodes or a paged page tree.
batch_designPreview content edits, then commit or roll back one undoable transaction; selection- or viewport-only batches create no undo step.
get_screenshotRender a page, node, or motion-clip sample as PNG.
read_fnx_sourceList or read source files in the open project.
validate_fnx_sourceCheck a complete FNX or managed project JSON candidate without writing it.
get_guidelinesRead design, source-editing, and project-specification guidance.
import_imageSave an image from a file, URL, or base64 source into project Assets.
list_commentsRead canvas comment threads on a page.
reply_commentReply to a thread and optionally resolve it after verification.
report_agent_activityShow an agent's canvas, variables, or code activity for Follow.

The built-in Agent Panel uses the same design_surface::DesignOp vocabulary through its own tools. External MCP clients see these thirteen tools, rather than a tool for every design operation. Read the tool reference for the operation list.

In a batch_design call, content edits appear on the canvas progressively while the call runs. Content edits form one undo step; a selection- or viewport-only batch creates none. If an operation fails, the content preview rolls back; earlier selection or viewport changes can remain. Keep batches to one visible component or screen section so the user can follow each milestone.

The current batch_design schema includes 43 operations, covering grid layout, shape creation, gradients and image fills, effect stacks, constraints, componentizing similar layers, and variant-set maintenance. Call get_editor_state to inspect capability flags for the running build, then read nodes with batch_get before making a change.