MCP + Claude Desktop Integration

Azyrom integrates with Claude Desktop through the Model Context Protocol (MCP), allowing you to use natural language to create complex designs, apply styles, and build prototypes.

Prerequisites

Setup Instructions

Step 1: Start Azyrom

Launch the Azyrom app. The MCP WebSocket server automatically starts on port 9999.

Step 2: Configure Claude Desktop

Edit Claude Desktop's configuration file:

Add the Azyrom MCP server configuration:

{
  "mcpServers": {
    "azyrom": {
      "command": "/path/to/flutter/bin/dart",
      "args": [
        "run",
        "/path/to/azyrom/mcp_server/bin/main.dart"
      ]
    }
  }
}

Important: Replace /path/to/flutter/bin/dart with the full path to your Dart executable, and /path/to/azyrom with the path to your Azyrom installation.

Step 3: Restart Claude Desktop

Quit and reopen Claude Desktop. You should see "azyrom" in the MCP servers list (click the plug icon).

What You Can Do

Create Design Elements

Ask Claude to create shapes, text, frames, and more:

Apply Fills and Gradients

Use the set_fill tool for advanced fills:

Add Strokes and Shadows

Create Prototype Interactions

Build interactive prototypes with navigation:

Manage Design System

Available Tools

Azyrom provides 148+ MCP tools for comprehensive design automation. The core tools are organized into 12 categories below:

MCP Server Version: 1.0.3 (MCP Protocol v2025-03-26)
Note: This page shows the most commonly used tools. See the full tool list in Claude by asking "What tools do you have access to?"

Category 1: Document Operations (5 tools)

ToolDescription
get_document_infoGet document metadata and statistics
get_all_elementsList all elements in the document
clear_canvasRemove all elements from canvas
undoUndo last action
redoRedo last undone action

Category 2: Element Creation (7 tools)

ToolDescription
create_rectangleCreate a rectangle element
create_circleCreate a circle/ellipse element
create_textCreate a text element
create_lineCreate a line element
create_imageCreate an image element
create_frameCreate a frame (container) element
create_groupCreate a group from multiple elements

Category 3: Element Modification (8 tools)

ToolDescription
update_elementUpdate element properties
delete_elementDelete an element
duplicate_elementDuplicate an element
get_elementGet element details
move_elementMove element by offset
resize_elementResize element dimensions
rotate_elementRotate element by angle
set_element_nameSet element name/label

Category 4: Selection & Visibility (7 tools)

ToolDescription
select_elementSelect specific element(s)
get_selectionGet currently selected elements
clear_selectionClear current selection
select_allSelect all elements
show_elementMake element visible
hide_elementMake element invisible
toggle_element_visibilityToggle visibility state

Category 5: Z-Order & Hierarchy (6 tools)

ToolDescription
bring_to_frontMove element to top of z-order
send_to_backMove element to bottom of z-order
bring_forwardMove element up one layer
send_backwardMove element down one layer
set_parentChange element's parent
unparent_elementRemove element from parent

Category 6: Layout & Alignment (6 tools)

ToolDescription
align_elementsAlign elements (left, center, right, top, middle, bottom)
distribute_elementsDistribute elements evenly (horizontal, vertical)
set_constraintsSet layout constraints
lock_elementLock element to prevent editing
unlock_elementUnlock element for editing
set_blend_modeSet element blend mode

Category 7: Styling (5 tools)

ToolDescription
set_fill_colorSet fill color (solid)
set_stroke_colorSet stroke color
set_stroke_widthSet stroke width
set_opacitySet element opacity (0-1)
set_corner_radiusSet corner radius for rectangles

Category 8: Gradients (6 tools)

ToolDescription
set_linear_gradientApply linear gradient fill
set_radial_gradientApply radial gradient fill
set_angular_gradientApply angular/conic gradient fill
add_gradient_stopAdd color stop to gradient
update_gradient_stopUpdate existing gradient stop
remove_gradient_stopRemove gradient stop

Category 9: Boolean Operations (5 tools)

ToolDescription
union_elementsCombine shapes with union
subtract_elementsSubtract top shape from bottom
intersect_elementsKeep only overlapping areas
exclude_elementsRemove overlapping areas
flatten_elementFlatten element to path

Category 10: Effects (6 tools)

ToolDescription
add_drop_shadowAdd drop shadow effect
add_inner_shadowAdd inner shadow effect
add_layer_blurAdd layer blur effect
add_background_blurAdd background blur effect
update_effect_propertyUpdate existing effect property
remove_effectRemove specific effect

Category 11: Text & Fonts (5 tools)

ToolDescription
set_text_contentSet text content
set_font_familySet font family
set_font_sizeSet font size
set_font_weightSet font weight (100-900)
set_text_alignSet text alignment (left, center, right, justify)

Category 12: Image Adjustments (6 tools)

ToolDescription
set_image_brightnessAdjust image brightness (-1 to 1)
set_image_contrastAdjust image contrast (-1 to 1)
set_image_saturationAdjust image saturation (-1 to 1)
set_image_hueAdjust image hue rotation (0-360 degrees)
set_image_exposureAdjust image exposure (-1 to 1)
reset_image_adjustmentsReset all image adjustments to defaults

Gradient Fill Examples

Linear Gradient (Top to Bottom)

{
  "type": "linearGradient",
  "gradientStops": [
    {"color": "#FF0000", "position": 0},
    {"color": "#0000FF", "position": 1}
  ],
  "gradientStartX": 0.5,
  "gradientStartY": 0,
  "gradientEndX": 0.5,
  "gradientEndY": 1
}

Radial Gradient

{
  "type": "radialGradient",
  "gradientStops": [
    {"color": "#FFFFFF", "position": 0},
    {"color": "#000000", "position": 1}
  ],
  "gradientStartX": 0.5,
  "gradientStartY": 0.5,
  "gradientRadius": 0.7
}

Multi-Stop Gradient

{
  "type": "linearGradient",
  "gradientStops": [
    {"color": "#FF0000", "position": 0},
    {"color": "#00FF00", "position": 0.5},
    {"color": "#0000FF", "position": 1}
  ]
}

Interaction Examples

Navigate on Click

{
  "elementId": "button-1",
  "trigger": "onClick",
  "action": "navigateTo",
  "targetId": "home-frame",
  "transition": {
    "type": "slideLeft",
    "duration": 300,
    "easing": "easeOut"
  }
}

Open Overlay Modal

{
  "elementId": "menu-button",
  "trigger": "onClick",
  "action": "openOverlay",
  "targetId": "menu-overlay",
  "overlayPosition": "center"
}

Future Features

🔮 Coming Soon: Interactive Canvas Viewer
When the mcp_server Dart library adds support for the _meta field, you'll be able to:
  • View your designs in an interactive canvas directly in Claude
  • Pan and zoom the design viewport
  • See real-time updates as Claude makes changes
  • Edit designs visually while chatting with Claude
Current Status: UI is built but requires library update for automatic embedding.
Workaround: You can manually access the UI at http://localhost:3001/ui/canvas.html when the MCP HTTP server is running.

Tips

Troubleshooting

MCP Server Disconnected

Tools Not Working

Type Errors

If you see type casting errors, ensure you're using the latest version of Azyrom which handles numeric type conversions automatically.