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 →
| Tool | Purpose |
|---|---|
get_editor_state | Read the active project, pages, selection, viewport, and free placement space. |
get_design_system | Inspect components, variants, variable collections, modes, values, and selected-node bindings. |
prepare_design_asset | Open a draft image or SVG generation request for the user to review and submit. |
batch_get | Read exact nodes or a paged page tree. |
batch_design | Preview content edits, then commit or roll back one undoable transaction; selection- or viewport-only batches create no undo step. |
get_screenshot | Render a page, node, or motion-clip sample as PNG. |
read_fnx_source | List or read source files in the open project. |
validate_fnx_source | Check a complete FNX or managed project JSON candidate without writing it. |
get_guidelines | Read design, source-editing, and project-specification guidance. |
import_image | Save an image from a file, URL, or base64 source into project Assets. |
list_comments | Read canvas comment threads on a page. |
reply_comment | Reply to a thread and optionally resolve it after verification. |
report_agent_activity | Show 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.