{"ok":true,"site":{"host":"aux-weaver.vercel.app","url":"https://aux-weaver.vercel.app/","type":"live","desc":"Auxweave — a web-native creative canvas where AI agents can design alongside humans through WebMCP","tools":[{"name":"get_design_skill","kind":"answer","impl":"imperative","description":"Returns the Auxweave Design Skill: the mandatory create → validate → repair → verify workflow, the goal-to-tool routing table, palette and layout rules, a minimal poster example, and failure-recovery guidance. Call this FIRST when you arrive on the canvas with no prior knowledge, before any creation tool.","title":"Get Auxweave Design Skill","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"create_flex_container","kind":"act","impl":"imperative","description":"Creates a modern web-native layout container (Flexbox / Auto Layout). Automatically computes child positions, text wrapping, and spacing along vertical columns or horizontal rows. Use this to design complete posters, flyers, cards, and sections without calculating Cartesian x/y coordinates.","title":"Create Flex Layout Container","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Name label for the layout container/frame"},"direction":{"type":"string","enum":["column","row"],"description":"Flex direction: \"column\" for vertical stacks, \"row\" for horizontal bars (default: \"column\")"},"justify":{"type":"string","enum":["start","center","end","space-between","space-around","space-evenly"],"description":"Main-axis alignment / distribution (default: \"start\")"},"align":{"type":"string","enum":["start","center","end","stretch"],"description":"Cross-axis alignment (default: \"center\" for column, \"start\" for row)"},"gap":{"type":"number","description":"Spacing in pixels between consecutive children (e.g. 16, 24, 32)"},"padding":{"type":"number","description":"Uniform inner padding in pixels (e.g. 32, 48, 64)"},"width":{"description":"Container width in pixels, or \"fill\" (100% of artboard/parent), or \"hug\" (fit-content)"},"height":{"description":"Container height in pixels, or \"fill\" (100% of artboard/parent), or \"hug\" (fit-content)"},"x":{"type":"number","description":"X position on artboard (optional; defaults to centered)"},"y":{"type":"number","description":"Y position on artboard (optional; defaults to centered)"},"fillColor":{"type":"string","description":"Container background fill color (e.g. \"#0B0F19\" for full-bleed dark flyer, or card backdrop)"},"strokeColor":{"type":"string","description":"Container border stroke color"},"strokeWidth":{"type":"number","description":"Container border stroke width"},"cornerRadius":{"type":"number","description":"Container corner radius in pixels"},"children":{"type":"array","description":"Array of child elements to lay out automatically. Types: \"headline\", \"subtitle\", \"body\", \"badge\", \"caption\", \"shape\", \"icon\", \"image\", \"container\"","items":{"type":"object","properties":{"type":{"type":"string","enum":["headline","subtitle","body","badge","caption","text","shape","icon","image","container"]},"text":{"type":"string","description":"Text string for typography elements"},"role":{"type":"string","enum":["headline","subtitle","body","badge","caption"]},"fontSize":{"type":"number","description":"Explicit font size override"},"fontFamily":{"type":"string","description":"Google Font family (e.g. \"Inter\", \"Poppins\")"},"fontWeight":{"type":"string","enum":["normal","bold"]},"textAlign":{"type":"string","enum":["left","center","right"]},"fillColor":{"type":"string","description":"Element fill color or text color"},"shapeKind":{"type":"string","enum":["rectangle","circle","polygon","star","line","arrow"]},"iconName":{"type":"string","description":"Hugeicon icon name (e.g. \"calendar-01\", \"sparkles\")"},"size":{"type":"number","description":"Icon dimension or shape size"},"url":{"type":"string","description":"Image asset URL"},"width":{"description":"Child width: number, \"fill\", or \"hug\""},"height":{"description":"Child height: number, \"fill\", or \"hug\""},"direction":{"type":"string","enum":["column","row"],"description":"Nested container direction"},"gap":{"type":"number","description":"Nested container gap"},"children":{"type":"array","items":{"type":"object"},"description":"Nested children"}},"required":["type"]}}},"required":["children"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"wrap_in_flex_container","kind":"act","impl":"imperative","description":"Groups existing canvas elements and automatically reflows them into an aligned Flexbox layout (horizontal row or vertical column) with even gaps and padding.","title":"Wrap Elements in Flex Container","inputSchema":{"type":"object","properties":{"objectIds":{"type":"array","items":{"type":"string"},"description":"Array of scene object IDs to group and arrange"},"direction":{"type":"string","enum":["column","row"],"description":"Flex direction: \"column\" or \"row\" (default: \"row\")"},"justify":{"type":"string","enum":["start","center","end","space-between","space-around","space-evenly"]},"align":{"type":"string","enum":["start","center","end","stretch"]},"gap":{"type":"number","description":"Pixel spacing between elements"},"padding":{"type":"number","description":"Inner padding in pixels"},"fillColor":{"type":"string","description":"Optional card background color"},"cornerRadius":{"type":"number","description":"Optional card corner radius"}},"required":["objectIds"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"get_canvas_scene_state","kind":"answer","impl":"imperative","description":"Retrieves structured scene graph of elements on the active artboard page (IDs, types, coordinates, dimensions, text, styles, and active artboard width/height bounds).","title":"Get Canvas Scene Objects & Artboard Bounds","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"get_active_selection","kind":"answer","impl":"imperative","description":"Returns the IDs and bounding details of currently selected canvas elements.","title":"Get Selected Scene Objects","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"get_document_metadata","kind":"answer","impl":"imperative","description":"Returns document pages, dimensions, and current active page index.","title":"Get Document & Artboard Metadata","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"verify_canvas_alignment","kind":"act","impl":"imperative","description":"Evaluates current canvas layout geometry, visual hierarchy, margin compliance, and spatial balance against the target design reference. Call this before completing a turn to identify and correct any misalignments or spacing discrepancies.","title":"Verify Canvas Alignment & Visual Self-Correction","inputSchema":{"type":"object","properties":{"targetReferenceId":{"type":"string","description":"Optional moodboard reference ID to compare against."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"remove_scene_element","kind":"act","impl":"imperative","description":"Deletes/removes a shape, text, image, icon, or design element from the active canvas artboard by its object ID, name, or active selection.","title":"Remove Scene Element","inputSchema":{"type":"object","properties":{"objectId":{"type":"string","description":"The unique object ID of the element to delete/remove (e.g. \"obj-123\")."},"name":{"type":"string","description":"Optional name, text content, or label of the object to remove."},"removeSelected":{"type":"boolean","description":"Set to true to delete all currently selected objects on the canvas."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"add_shape_primitive","kind":"act","impl":"imperative","description":"Adds a new geometric shape element (rectangle, circle, polygon, star, arrow, or line) to the active artboard. Positions and dimensions are automatically bounded within safe artboard margins so elements never bleed off-screen.","title":"Add Geometric Shape Primitive","inputSchema":{"type":"object","properties":{"shapeKind":{"type":"string","enum":["rectangle","circle","polygon","star","arrow","line"],"description":"The type of geometric primitive shape."},"x":{"type":"number","description":"X position relative to artboard (default: centered)"},"y":{"type":"number","description":"Y position relative to artboard (default: centered)"},"width":{"type":"number","description":"Width of shape in pixels (optional; defaults to a prominent proportional size ~35% of artboard)"},"height":{"type":"number","description":"Height of shape in pixels (optional; defaults to a prominent proportional size ~35% of artboard)"},"fillColor":{"type":"string","description":"Fill hex/hsl color string (e.g. \"#7c3aed\")"},"relativeTo":{"type":"string","description":"Set to \"previous\" or an object ID to place relative to that element."},"position":{"type":"string","enum":["below","above","inside"],"description":"Position relative to target (default: \"below\")"},"gap":{"type":"number","description":"Gap spacing in pixels when relativeTo is used"}},"required":["shapeKind"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"add_text_element","kind":"act","impl":"imperative","description":"Creates a rich formatted typography block. Features automatic spatial collision avoidance, role-based hierarchy, relative auto-stacking, and automatic safe margin clamping so text never bleeds off-screen.","title":"Add Text Element","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"The text content string to render"},"role":{"type":"string","enum":["headline","subtitle","body","badge","caption"],"description":"Semantic typographic role. Automatically determines proportional font size, weight, and spacing based on canvas dimensions (e.g. headline ~6%, subtitle ~3.2%, body ~1.9%)."},"relativeTo":{"type":"string","description":"Set to \"previous\" or an object ID to auto-stack below that item without collision."},"position":{"type":"string","enum":["below","above","inside"],"description":"Positioning relative to the target element (default: \"below\")."},"gap":{"type":"number","description":"Spacing in pixels when using relative positioning or auto-stacking."},"x":{"type":"number","description":"X coordinate (default: centered)"},"y":{"type":"number","description":"Y coordinate (default: auto collision-free placement below existing content)"},"width":{"type":"number","description":"Container width in pixels. If omitted, automatically calculated and safely clamped to fit within artboard margins."},"textAlign":{"type":"string","enum":["left","center","right"],"description":"Text alignment (default: \"center\" for headlines/badges, \"left\" for body text and columns)."},"fontSize":{"type":"number","description":"Font size in pixels (optional; defaults to role-based proportional size, e.g. 230px on 4000p, 60px on 1080p)"},"fontFamily":{"type":"string","description":"Font family name. Supports any Google Font (e.g. \"Inter\", \"Poppins\", \"Roboto\", \"Montserrat\")"},"fillColor":{"type":"string","description":"Text color string (e.g. \"#FFFFFF\")"}},"required":["text"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"add_hugeicon_symbol","kind":"act","impl":"imperative","description":"Inserts a clean vector icon from Hugeicons onto the active artboard. Uses fuzzy keyword search and collision-free spatial positioning.","title":"Add Hugeicon Symbol","inputSchema":{"type":"object","properties":{"iconName":{"type":"string","description":"Icon name or keyword (e.g. \"star\", \"airplane\", \"home\", \"sparkles\", \"cpu\")"},"x":{"type":"number","description":"X position (default: centered)"},"y":{"type":"number","description":"Y position (default: auto collision-free placement)"},"size":{"type":"number","description":"Size of icon in pixels (default: proportional ~18% of canvas)"},"color":{"type":"string","description":"Icon color (e.g. \"#262626\")"},"relativeTo":{"type":"string","description":"Set to \"previous\" or an object ID to place relative to that element."},"position":{"type":"string","enum":["below","above","inside"],"description":"Position relative to target (default: \"below\")"},"gap":{"type":"number","description":"Gap spacing in pixels"}},"required":["iconName"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"add_image_element","kind":"act","impl":"imperative","description":"Inserts an image onto the active artboard from a URL or data URL. Automatically sizes the image proportionally to the canvas (~55% of artboard dimensions) so it appears prominent and never tiny.","title":"Add Image Element","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"The image URL, Unsplash URL, or data URL to place"},"x":{"type":"number","description":"X coordinate (default: centered)"},"y":{"type":"number","description":"Y coordinate (default: auto collision-free placement)"},"width":{"type":"number","description":"Target width in pixels (optional; defaults to proportional canvas fit ~55% of artboard)"},"height":{"type":"number","description":"Target height in pixels (optional; defaults to proportional canvas fit ~55% of artboard)"},"relativeTo":{"type":"string","description":"Set to \"previous\" or an object ID to place relative to that element."},"position":{"type":"string","enum":["below","above","inside"],"description":"Position relative to target (default: \"below\")"},"gap":{"type":"number","description":"Gap spacing in pixels"}},"required":["url"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"add_image","kind":"act","impl":"imperative","description":"Inserts an image onto the active artboard from a URL or data URL. Automatically sizes the image proportionally to the canvas (~55% of artboard dimensions) so it appears prominent and never tiny.","title":"Add Image to Canvas","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"The image URL, Unsplash URL, or data URL to place"},"x":{"type":"number","description":"X coordinate (default: centered)"},"y":{"type":"number","description":"Y coordinate (default: auto collision-free placement)"},"width":{"type":"number","description":"Target width in pixels (optional; defaults to proportional canvas fit ~55% of artboard)"},"height":{"type":"number","description":"Target height in pixels (optional; defaults to proportional canvas fit ~55% of artboard)"},"relativeTo":{"type":"string","description":"Set to \"previous\" or an object ID to place relative to that element."},"position":{"type":"string","enum":["below","above","inside"],"description":"Position relative to target (default: \"below\")"},"gap":{"type":"number","description":"Gap spacing in pixels"}},"required":["url"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"update_object_transform","kind":"act","impl":"imperative","description":"Updates coordinates, dimensions, or rotation angle of an element by ID.","title":"Update Object Spatial Transform","inputSchema":{"type":"object","properties":{"objectId":{"type":"string","description":"Unique target element ID"},"x":{"type":"number","description":"New X position"},"y":{"type":"number","description":"New Y position"},"width":{"type":"number","description":"New width in pixels"},"height":{"type":"number","description":"New height in pixels"},"rotation":{"type":"number","description":"Rotation angle in degrees (0-360)"}},"required":["objectId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"align_selected_objects","kind":"act","impl":"imperative","description":"Aligns targeted or selected elements along left, center, right, top, middle, or bottom bounds.","title":"Align Selected Objects","inputSchema":{"type":"object","properties":{"alignment":{"type":"string","enum":["left","center","right","top","middle","bottom"],"description":"Alignment mode"},"relativeTo":{"type":"string","enum":["selection","artboard"],"description":"Align relative to group selection or artboard bounds"}},"required":["alignment"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"apply_fill_paint","kind":"act","impl":"imperative","description":"Applies a solid color fill to a target canvas element by ID.","title":"Apply Element Fill Paint","inputSchema":{"type":"object","properties":{"objectId":{"type":"string","description":"Target object ID"},"color":{"type":"string","description":"Hex or HSL color string (e.g. \"#9333ea\")"}},"required":["objectId","color"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"apply_moodboard_palette","kind":"act","impl":"imperative","description":"Recolors selected or specified elements using a provided color palette.","title":"Apply Moodboard Palette to Selection","inputSchema":{"type":"object","properties":{"colors":{"type":"array","items":{"type":"string"},"description":"List of HEX/HSL color strings to distribute across target elements."}},"required":["colors"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"validate_layout","kind":"answer","impl":"imperative","description":"Lints the active artboard for deterministic constraint violations: out-of-bounds elements, safe-margin breaches, foreground overlaps, unreadably small text, type-chaos, and low-contrast text. Read-only; returns issues with fix hints.","title":"Validate Layout Constraints","inputSchema":{"type":"object","properties":{"minContrast":{"type":"number","description":"Minimum WCAG text contrast ratio (default 4.5)."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"repair_layout","kind":"act","impl":"imperative","description":"Applies the smallest deterministic fixes for layout violations: clamps runaway elements into bounds, pushes colliding foreground apart, nudges items into safe margins, and raises tiny text to the readability floor. Non-destructive — nothing is deleted. Returns applied fixes plus any remaining issues.","title":"Repair Layout Automatically","inputSchema":{"type":"object","properties":{"fixTinyText":{"type":"boolean","description":"Raise tiny text to the readability floor (default true)."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"get_design_language","kind":"answer","impl":"imperative","description":"Returns the Auxweave Design Language: semantic color roles (derived dynamically from moodboard reference flyers, never hardcoded), font pairings, poster templates with slot anatomy, and composition rules.","title":"Get Design Language Tokens","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"apply_poster_template","kind":"act","impl":"imperative","description":"One-shot cinematic flyer generation: supply WORDS (headline, tagline, credits, release) plus palette/template names, and the engine computes all geometry deterministically — background, badge, auto-fitted headline, divider, tagline, credits, release, footer. Prefer this over manual add_shape/add_text sequences for full flyers.","title":"Generate Poster From Template","inputSchema":{"type":"object","properties":{"template":{"type":"string","description":"Poster template name (default \"cinematic-portrait\"). See get_design_language."},"headline":{"type":"string","description":"Hero headline words, e.g. \"City of Echoes\". Required."},"badge":{"type":"string","description":"Eyebrow line, e.g. \"A noir thriller\"."},"tagline":{"type":"string","description":"One-linehook under the headline."},"creditsLabel":{"type":"string","description":"Credits kicker, e.g. \"Starring\"."},"credits":{"type":"string","description":"Cast/credit names line."},"release":{"type":"string","description":"Release line, e.g. \"In theaters January 16\"."},"footer":{"type":"string","description":"Bottom metadata, e.g. \"PG-13 · 2 HR 11 MIN\"."},"palette":{"type":"string","description":"Optional background color hex or custom palette name derived dynamically from the moodboard reference flyer."},"fontPairing":{"type":"string","description":"Font pairing name (default \"cinematic\"). See get_design_language."}},"required":["headline"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"create_artboard_page","kind":"act","impl":"imperative","description":"Adds a new artboard page to the active Auxweave document.","title":"Create Artboard Page","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Page title (default: \"New Page\")"},"width":{"type":"number","description":"Artboard width in pixels (default: matches active page)"},"height":{"type":"number","description":"Artboard height in pixels (default: matches active page)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"duplicate_active_page","kind":"act","impl":"imperative","description":"Clones the currently active page and all its scene elements.","title":"Duplicate Active Page","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"export_artboard_render","kind":"act","impl":"imperative","description":"Triggers rendering of the active artboard into PNG, JPG, or WEBP image format and returns a data URL.","title":"Export Artboard Image Render","inputSchema":{"type":"object","properties":{"format":{"type":"string","enum":["png","jpg","webp"],"description":"Target export file format (default: \"png\")"},"scale":{"type":"number","enum":[1,2,4],"description":"Export resolution multiplier (1x, 2x, 4x)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"get_moodboard_content","kind":"answer","impl":"imperative","description":"Retrieves the active moodboard references, including all inspiration images (URLs, titles, source, dimensions, extracted color palettes), tags, descriptions, and dominant color palette. The agent should use this tool to inspect reference imagery, color schemes, and aesthetic direction from the user's moodboard.","title":"Get Moodboard Images & Visual References","inputSchema":{"type":"object","properties":{"boardId":{"type":"string","description":"Optional ID of a specific moodboard to inspect. If omitted, the currently active moodboard is returned."},"query":{"type":"string","description":"Optional keyword to filter moodboard images by title, source, or tags (e.g. \"gradient\", \"typography\", \"branding\")."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"place_moodboard_image","kind":"act","impl":"imperative","description":"Places an image from the user's moodboard directly onto the active canvas artboard. You can target an image by its moodboard itemId, direct image URL, or by matching a keyword in its title. Automatically sizes and positions the image on the artboard.","title":"Place Image from Moodboard onto Canvas","inputSchema":{"type":"object","properties":{"itemId":{"type":"string","description":"The specific ID of the moodboard item to place."},"url":{"type":"string","description":"The direct URL of the image from the moodboard to place."},"titleKeyword":{"type":"string","description":"Keyword matching the moodboard item title (e.g. \"gradient\", \"typography\", \"nature\")."},"x":{"type":"number","description":"X coordinate on canvas artboard (default: centered)."},"y":{"type":"number","description":"Y coordinate on canvas artboard (default: auto collision-free placement)."},"width":{"type":"number","description":"Target width in pixels (optional; defaults to item width or proportional canvas fit)."},"height":{"type":"number","description":"Target height in pixels (optional; defaults to item height or proportional canvas fit)."},"relativeTo":{"type":"string","description":"Set to \"previous\" or an existing object ID to place relative to that element."},"position":{"type":"string","enum":["below","above","inside"],"description":"Position relative to target (default: \"below\")."},"gap":{"type":"number","description":"Spacing in pixels when using relative positioning or auto-stacking."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"analyze_moodboard_reference","kind":"act","impl":"imperative","description":"Inspects a reference image/flyer from the moodboard and extracts its structured Design DNA: composition layout, typographic hierarchy, color roles, and recreation blueprint without polluting your context window with raw image data.","title":"Analyze Moodboard Reference (Design DNA)","inputSchema":{"type":"object","properties":{"itemId":{"type":"string","description":"ID of the moodboard image to analyze."},"titleKeyword":{"type":"string","description":"Optional title keyword to search for the image in the moodboard."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"get_project_assets","kind":"answer","impl":"imperative","description":"Retrieves the list of design assets (company logos, vector graphics, product photos, icons) available in the current project working directory or linked local folder. Always call this tool when the user mentions using existing logos or assets.","title":"Get Project Design Assets","inputSchema":{"type":"object","properties":{"category":{"type":"string","enum":["all","logo","icon","svg","image"],"description":"Optional filter by asset category (default: all)."},"searchQuery":{"type":"string","description":"Optional search keyword to match asset file names (e.g. \"logo\", \"badge\")."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]},{"name":"place_project_asset","kind":"act","impl":"imperative","description":"Places a specified project asset (logo, icon, photo, or vector graphic) onto the active canvas artboard. You can target the asset by its assetId or by a keyword in its name (e.g. \"logo\"). Automatically scales and positions the asset.","title":"Place Design Asset onto Canvas","inputSchema":{"type":"object","properties":{"assetId":{"type":"string","description":"The exact ID of the project asset (from get_project_assets)."},"assetNameKeyword":{"type":"string","description":"Keyword to search asset name (e.g. \"logo\", \"banner\", \"sponsor\")."},"x":{"type":"number","description":"Explicit X coordinate on artboard. If omitted, uses smart positioning."},"y":{"type":"number","description":"Explicit Y coordinate on artboard. If omitted, uses smart positioning."},"width":{"type":"number","description":"Target display width in pixels."},"height":{"type":"number","description":"Target display height in pixels."},"position":{"type":"string","enum":["center","top-left","top-right","bottom-left","bottom-right","hero"],"description":"Preset positioning zone (e.g. \"top-right\" for logos, \"center\" for hero)."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/create"]}],"category":"Productivity & Business","favicon":"/favicons/aux-weaver.vercel.app.png","apiSurface":"spec","toolCount":29}}