Tuval Studio MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| studio_check_statusA | Checks whether Tuval Studio is open in the browser and connected to the local WebSocket bridge. If not connected, instructs the AI agent to open https://tuval.site/editor in the user's browser. |
| studio_get_viewA | Captures the current live canvas graphic and layer hierarchy. Returns an image for visual inspection and critique by vision AI models. |
| design_audit_layoutA | Audits the current active canvas for text collisions, layer overlaps, and boundary overflows. Returns actionable recommendations for fixing overlaps and spacing. |
| assets_list_localA | Scans and lists all local images, icons, logos, and graphic assets in the workspace-assets directory ready to be placed onto the canvas. |
| canvas_create_newB | Creates a new blank canvas with specific dimensions and background color. |
| canvas_set_dimensionsC | Changes the dimensions or applies a social media preset (1080x1080 Instagram Post, 1080x1920 Story, 1280x720 YouTube Thumbnail, 1200x630 Facebook/Web Banner). |
| canvas_set_backgroundA | Sets the solid background color or enables alpha transparency. NOTE FOR AI DESIGNERS: You are NOT restricted to solid colors! You can search & apply rich background photography, architectural textures, gradients, or pattern grids using "image_add" with { isBackground: true }, or choose from "assets_list_patterns" / "assets_list_stock_pngs" / "assets_list_local". |
| canvas_load_templateC | Loads a pre-designed layout template onto the canvas (e.g. "social-launch", "neon-sale-story", "youtube-thumbnail", "minimal-post", "bold-thumbnail"). |
| canvas_clearB | Clears all layers and objects from the canvas. |
| history_undoB | Reverts the canvas to the previous undo history state. |
| history_redoB | Redoes the previously undone change. |
| text_addC | Adds a typography text layer to the canvas with styling (fonts: Sora, Inter, Playfair Display, Montserrat, Poppins, Space Grotesk, Roboto, etc.). |
| text_update_styleC | Updates typography properties of an existing text layer by its layerId. |
| shape_addA | Adds a geometric shape to the canvas (rect, rrect, circle, triangle, star, heart). Supports fills, strokes, corner radius, and opacity. |
| shape_update_styleC | Modifies the fill, stroke, corner radius, or opacity of an existing shape layer. |
| assets_load_from_pathA | Reads any local image or graphic file from the user computer (absolute path e.g. "C:/Users/name/Desktop/logo.png" or relative path), encodes it to Base64, and returns the data URL for use in canvas. |
| image_addA | Adds an image layer to the canvas. Source can be ANY local file path on the user computer (e.g. "C:/path/to/img.png" or "workspace-assets/photo.jpg"), an external public URL (e.g. Unsplash), or a Base64 data URL. Set isBackground: true to automatically make it a full-bleed background. |
| image_cropC | Crops an image layer with a given aspect ratio (1:1, 4:5, 16:9, 9:16) or custom pixel coordinates. |
| image_remove_bg_autoC | Applies AI 1-click automatic background removal to an image layer by analyzing edges. |
| image_remove_bg_magicA | Performs Magic Wand background removal on an image layer by sampling color at click coordinates with tolerance and feather smoothing. |
| filter_apply_presetB | Applies an aesthetic color grading preset to an image layer ("Warm Film", "Cyberpunk", "Moody Noir", "Vintage 70s", "Pastel Soft", "Vivid HDR", "Film Grain", "Normal"). |
| filter_adjust_valuesB | Manually adjusts color grading sliders on an image layer (brightness, contrast, saturation, hue, blur, noise, sepia, grayscale). |
| layers_get_allA | Returns the complete hierarchical list of all objects/layers currently on the canvas with their IDs, positions, and styles. |
| layer_reorderC | Reorders a layer in the visual z-index stack ("bring_to_front", "send_to_back", "bring_forward", "send_backward"). |
| layer_alignC | Aligns an object to the canvas artboard ("center", "left", "right", "top", "bottom", "center_h", "center_v"). |
| layer_transformC | Transforms a layer: move X/Y, rotate angle, flip horizontally/vertically, set opacity, or change blend mode. |
| layer_set_stateB | Toggles visibility (hide/show), locks/unlocks selection, or renames a layer. |
| layer_duplicateC | Duplicates an existing layer and adds the copy to the canvas. |
| layer_deleteB | Deletes a layer from the canvas. |
| studio_batch_actionsB | Executes a sequential batch of multiple canvas actions in one round-trip and returns the final visual screenshot and layer state for rapid design creation. |
| studio_export_fileB | Exports the current graphic to a local image file on the host machine (PNG, JPG, WebP, SVG) with customizable resolution scaling (1x, 2x Retina, 3x Print 300DPI, 4x Ultra HD). |
| project_set_titleB | Renames the active project title displayed in the top navbar and export filename. |
| project_save_localB | Saves the current design project state to the browser local storage / cloud session. |
| project_export_downloadB | Triggers the browser to download the current design as PNG, JPEG, SVG, or project JSON. |
| canvas_set_gradientB | Applies a modern gradient to the canvas background. You can specify a built-in preset ("cyber", "sunset", "emerald", "space", "gold", "candy", "noir") or custom colors array and angle. |
| layer_set_gradientC | Applies a gradient fill to an existing text or shape layer by layerId. |
| svg_addB | Adds an SVG vector graphic, sticker, or badge to the canvas. Key can be from built-in library ("verified-badge", "sale-badge", "star-burst", "cyber-cross", "arrow-swirl", "sparkle-star", "crown-vip", "fire-flame", "quote-marks", "heart-glow", "abstract-blob") or raw SVG string. |
| sticker_addB | Alias for svg_add. Adds a sticker or badge vector element to the canvas. |
| assets_list_stickersA | Lists all available built-in SVG stickers, badges, and vector elements available for insertion. |
| templates_listB | Lists all pre-designed templates across all professional design styles (Bento Grid, Corporate, Branding, Luxury, Minimalist, AI & Tech, Retro 80s, Y2K Rave, Bauhaus, Neobrutalism, Art Deco, Memphis Pop). |
| assets_list_patternsA | Lists all built-in geometric pattern and texture background presets (Dot Matrix, Technical Blueprint, Carbon Fiber, Diagonal Stripes, 3D Isometric Wireframe, Topography, Circuit Board). |
| canvas_set_patternC | Applies a patterned or textured geometric background to the canvas artboard. |
| assets_list_stock_pngsB | Lists free transparent 3D cutout assets, holographic spheres, lighting flares, and curated royalty-free photography available for instant placement. |
| elements_searchC | Searches through thousands of copyright-free stock photos, transparent PNG cutouts, SVG vector icons, trust badges, and backgrounds by keywords and category filters. |
| element_add_stockB | Adds a free copyright-free stock image or cutout to the canvas directly by search query, image URL, or asset key. |
| layer_set_shadowC | Adds or updates drop shadow on a layer (color, blur radius, horizontal/vertical offsets, or quick preset: "soft", "float", "glow", "none"). |
| brush_drawC | Executes freehand brush drawing on the canvas with specific brush style ("pencil", "spray", "circle", "eraser"), color, size, and path coordinates. |
| pages_listA | Returns the full list of pages in the current multi-page document with titles, indices, dimensions, and active status. |
| pages_addC | Adds a new page to the document. Ideal for designing multi-page catalogs, product lookbooks, brochures, magazines, and pitch decks. |
| pages_switchA | Switches the active canvas view to a specific page index or page ID so the AI agent can design on that page. |
| pages_duplicateA | Duplicates an existing page (including all text, shapes, images, and styling) into a new page immediately following it. |
| pages_deleteA | Deletes a page from the document by index (the document must always keep at least 1 page). |
| pdf_export_catalogA | Compiles all pages (or active page) into a print-ready, high-resolution multi-page PDF document and triggers client-side download. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| design_graphic_pro | Professional visual design workflow with mandatory zero-overflow verification and visual inspection. |
| verify_and_polish_design | Audits the current live canvas, checks all text boundaries and margins, and fixes any clipped or overflowing layers. |
| design_multi_page_catalog | Guided multi-page workflow for creating professional product catalogs, corporate brochures, lookbooks, and pitch decks with PDF export. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 53 tools
The set is mostly distinct by domain and action, but there is an explicit alias (svg_add/sticker_add) and several overlapping background, asset, and export tools that could cause misselection. Descriptions help, but the sheer number of tools increases ambiguity.
Names are overwhelmingly snake_case with domain prefixes (canvas_, layer_, project_, etc.), which is predictable. Minor deviations exist: layers_get_all breaks the layer_ pattern, elements_search vs element_add_stock mix plural/singular, and sticker_add is an alias.
53 tools far exceeds the 3-15 well-scoped range and even the 25+ 'too many' threshold, representing an extreme mismatch for a single MCP server. Many tools could be consolidated, such as background setters, asset listers, and export variants.
The surface covers a wide range of design operations (canvas, layers, pages, assets, text, shapes, export, history), but has notable gaps: no tool to resize or scale a layer, no way to edit existing text content (only style), and no project load/import. These missing operations will likely cause agent dead ends.