Developers

MCP server

Connect Claude, Cursor, VS Code and other MCP clients to Desyn so agents can read, create and edit designs with the same tools as the built-in agent.

On this page

Desyn runs a Model Context Protocol (opens in a new tab) server. Connect an MCP-capable assistant and it can find your designs, understand them, and edit them with exactly the same tools the built-in agent uses — every change lands as a normal, undoable transaction that collaborators see live.

The MCP server is part of Pro and the self-hosted edition.

Endpoint#

InstallationURL
desyn.apphttps://api.desyn.app/mcp
Self-hostedhttps://convex-site.example.org/mcp (your CONVEX_SITE_URL + /mcp)

The server speaks MCP over HTTP (streamable HTTP transport). Authenticate with an API key that has the mcp scope plus the scopes for what the agent should be allowed to do — for example designs:read, designs:write and ai:run. Send it as Authorization: Bearer dsk_….

Connecting clients#

Shell
claude mcp add --transport http desyn https://api.desyn.app/mcp \
  --header "Authorization: Bearer $DESYN_API_KEY"

Then ask, for example: "List my Desyn designs and make the headline on 'Spring launch' warmer."

For self-hosted installations, replace https://api.desyn.app/mcp with your own endpoint.

Tools#

The server exposes the agent's toolset with the same names and input schemas. Each tool takes the designId it operates on (and a pageId where pages matter); design-level tools help the agent find or start a design first.

GroupTools
Designslist_designs, create_design
Understandread_design, read_selection, query_elements, render_preview, critique
Build and editcreate_elements, update_elements, delete_elements, duplicate_elements, group_elements, ungroup, set_roles, set_style, arrange
Textset_text, rewrite_text, translate_text
Pagesadd_page, delete_page, reorder_pages, resize_page
Brand and templatesapply_brand, search_templates, apply_template
Assetsgenerate_image, generate_svg, remove_background, inpaint, outpaint, upscale, mockup, trace_to_vector, search_stock, search_icons
Workflowsrun_workflow

Tool results include compact diffs of what changed, so the calling model always knows the current state without re-reading the whole design. render_preview returns an image the model can look at.

What a connected agent can do is the intersection of the key's scopes and the member's role: without designs:write the editing tools are rejected; without ai:run the generative tools are.

Tips for agents#

  • Start with read_design (or query_elements for large designs) instead of loading raw JSON.
  • Batch edits: create_elements and update_elements accept many elements per call and commit them as one transaction.
  • Use render_preview after larger changes and critique to catch contrast, spacing and overflow problems.
  • Give layers meaningful names and roles with set_roles; later edits get more precise.

Safety#

Design content is passed to the model as data, never as instructions. Destructive bulk operations ask for confirmation through the MCP client. Every edit is attributed to the key's member with the agent recorded in the transaction's actor, appears in version history, and can be undone in one step in the editor.

Popular pages

QuickstartGet started
Keyboard shortcutsEditor
The agentAI
Docker Compose quickstartSelf-hosting
Configuration referenceSelf-hosting
Agent API (v1)Developers