Skip to main content
Glama

Server Details

Create, edit, and schedule social media posts, carousels, videos, blogs, and emails.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
almanaclabs/blaze-mcp
GitHub Stars
0
Server Listing
Blaze
ChatGPT
–
Claude
–

TDQS

A4.1/5.0

Scored across 39 tools

Disambiguation4/5

Tools are mostly separated by resource and action, and descriptions clearly distinguish creation from editing (compose_design vs add_design_* vs set_design_*), as well as generated vs user-supplied posts. A few closely related content-creation and design-edit tools require reading descriptions, but their boundaries are generally clear.

Naming Consistency5/5

All tool names use snake_case and follow a predictable verb_noun pattern, with consistent prefixes such as list_, get_, create_, set_design_, and add_design_. Minor variants like publish_post_now are still readable and consistent with the overall convention.

Tool Count3/5

39 tools is heavy, driven by a broad platform surface and very granular design-edit operations. The count is not arbitrary, but the design editor alone has many atomic tools that increase selection burden and could be consolidated.

Completeness4/5

The server covers core workflows: design creation/editing, media, scheduling, publishing, campaigns, documents, reviews, analytics, and workspaces. Minor lifecycle gaps remain, such as no design listing/deletion, no document update/read-back, and only create/list operations for campaigns.

Publisher details

Operator
Blaze · Publisher source
Operator website
https://www.blaze.ai
Vendor relationship
First-party
Trust center
Not available
Restrictions
Requires a Blaze account. New accounts start with a free trial; after that, the MCP server is included in every paid Blaze plan.

Available Tools

39 tools
add_design_shapeAdd design shapeAInspect

Add a decorative shape, such as a scrim, divider, or badge, to one slide of an existing design. Placement "front" (the default) puts it on top of the content; "back" puts it just above the slide background, behind the content. Existing elements are not changed. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: shape (required), slide (required), design_id (required), workspace_key (required).

add_design_textAdd design textAInspect

Add a new text element to one slide of an existing design. Place it with x/y/width/height in design pixels, and set its typography with font_family, font_size, font_weight, and color (take the brand fonts and colors from get_brand_kit). Optionally give it a panel behind it, such as a button. Existing elements are not changed. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: text (required), slide (required), design_id (required), workspace_key (required), +9 more.

compose_designCompose designAInspect

Create a new social media design (a single image or a multi-slide carousel) from a layout you describe in the JSON format below, and save it to the workspace, where it can be opened in the Blaze editor. Inputs: workspace_key, dsl; optional title. Call get_brand_kit first for the brand colors and fonts; search_fonts finds other fonts and search_media or generate_image provide photos.

Layout: content in "stack", "row", and "grid" containers and "overlay" anchors is placed automatically and cannot overflow the frame, so no coordinates are needed. Decorative elements in "free" can be placed at exact x/y positions, including partly off the canvas.

Pass dsl as: { "frames": [ Frame, ... ] } (one frame = one slide; carousels have several) Frame { "w": 1080, "h": 1350, // 4:5 social default (1080x1920 for a story) "pad": 96, // safe-area inset "justify": "center"|"start"|"end"|"between", // vertical placement of the stack "align": "start"|"center", // default horizontal alignment "bg": { "color": } | { "gradient": [,...], "angle": } | { "image": }, "stack": [ Block, ... ], // main content, flows vertically "overlay": [ { "anchor": , "block": Block } ], // pinned to a corner/edge/center "free": [ { "at": { "x": , "y": } | { "region": , "dx": , "dy": }, "block": Block } ] // exact placement for decoration (off-canvas ok) } = top-left|top-right|bottom-left|bottom-right|top-center|bottom-center|center

Block (one of): TEXT: { "type": "text", "role": "display"|"title"|"body"|"eyebrow"|"credit", "color": , "text": "..." OR "runs": [ { "t": "...", "color": <color?>, "weight": <num?>, "italic": <bool?>, "underline": <bool?>, "strikethrough": <bool?>, "caps": <bool?> } ], "font": <family?>, // override the role font with any family (e.g. from search_fonts) "weight": <num?>, "tracking": <int?>, // thousandths of an em (160 = 0.16em) "autoWidth": <bool?>, // size the box to ONE line of content — the text (and any // panel) hugs its glyphs instead of filling the column; single-line "panel": { "color": , "opacity": <0..1>, "shape": "box"|"silhouetteRounded"|"callToAction" }? } SHAPE: { "type": "shape", "geo": "rectangle"|"roundedRectangle"|"circle"|"triangle"|"diamond"| "hexagon"|"pill"|"fivePointStar"|... , "w": , "h": , "fill": , "stroke": { "color": , "width": }?, "radius": <num?>, "shadow": { "x","y","blur","color","opacity" }? } IMAGE: { "type": "image", "url": , "w": , "h": , "fit": "cover"|"contain", "radius": <num?>, // a placed photo card / band (not full-bleed) "stroke": { "color": , "width": }?, "logo": <bool?> } // logo: true = brand mark GROUP: { "type": "group", "w": , "h": , "layout": "stack"|"row"|"grid", "children": [ Block, ... ] } // moves/rotates as one unit (e.g. a pill = shape + text) ROW: { "type": "row", "gap": <num?>, "justify": "start"|"center"|"end", "align": "top"|"middle"|"bottom", "children": [ Block, ... ] } GRID: { "type": "grid", "cols": , "gap": <num?>, "children": [ Block, ... ] } SPACE: { "type": "space", "h": } // vertical spacer in a stack

Any block also accepts UNIVERSAL props: "rotate": , "opacity": <0..1>, "z": (higher z paints later / on top; use negative z for background decoration).

= | { "gradient": [,...], "angle": } = a brand color token from get_brand_kit ("primary", "accent", …, plus "paper" and "ink", which always exist) or any hex such as "#FF006E". Tokens keep the design in the brand palette.

RULES:

  • "role" picks the font automatically (display/title = title font; body/eyebrow/credit = body font). Only set "font" when you deliberately want a different family.

  • Use "runs" to color one or two key words with an accent color; highlighting more reduces the contrast.

  • "display" = short headline (about 9 words or fewer). "title" = medium. "body" = supporting copy.

  • "eyebrow" is ALL-CAPS small (brand mark / kicker / slide number) — usually an overlay (top-left = brand, top-right = "01 / 05").

  • Shapes, gradients, rotation and free placement are for art direction — accents, dividers, badges, framing. Keep the composition clean; don't clutter.

  • Per carousel slide, vary the bg for rhythm and ensure text contrasts its background. For legibility over a busy area, give text a "panel" (e.g. a dark box at ~0.55 opacity).

  • For a photo: use bg.image for a full-bleed background (get a URL from search_media or generate_image), or a placed "image" block for a card/band inside the layout. Over a photo, keep text in the safe area with high-contrast colors and a panel.

  • Keep on-image text short. The post caption is set separately.

Returns the design id, an editor URL, the element structure (with the aliases the design edit tools use, such as set_design_text and move_design_element), and a rendered preview of every slide. It always creates a new design.

Inputs: dsl (required), workspace_key (required), title.

create_campaignCreate campaignAInspect

Create a campaign: a named, dated content schedule in the workspace. Inputs: name, start_date (ISO 8601 date), length_weeks; optional brief, topics, call_to_action, target_link.

Without topics, Blaze generates the campaign's theme, audience, call to action, and topics from the brief in the background; the tool returns the campaign id right away, and list_campaigns shows the topic count once generation finishes. With topics, those are used as given and nothing is generated. After that, Blaze generates content for the campaign's posting schedule, as it does for campaigns created in the Blaze app.

Pass the returned id to generate_post as brand_plan_schedule_id to add a post to this campaign. Requires the workspace to have an active brand plan and an admin member.

Inputs: name (required), start_date (required), length_weeks (required), workspace_key (required), +4 more.

create_docCreate blog post or emailAInspect

Create a blog post or email newsletter from Markdown that you write. The tool converts the Markdown (headings, lists, links, emphasis) into a Blaze document, saves it in the workspace, and creates a matching draft post. Nothing is published.

Inputs: workspace_key, title, markdown; optional type ("blog" or "email"; default "blog"), project_id (default: the user's default project), and post_at (the draft's intended publish time, ISO 8601).

Returns the document id, an editor URL, and the draft post's id. To schedule the draft or change its date or caption, call edit_scheduled_post with that id. Publishing needs a connected blog or email integration in the workspace.

Inputs: title (required), markdown (required), workspace_key (required), type, +2 more.

delete_scheduled_postDelete scheduled postA
DestructiveIdempotent
Inspect

Permanently delete a draft or scheduled post from Blaze, including its per-platform targets. It will not be published. This cannot be undone.

Published or in-progress posts are rejected: deleting them in Blaze would not remove them from the social platforms, so they must be deleted on each platform directly. To keep a post but stop it from publishing, use edit_scheduled_post with status "draft" instead.

Inputs: id (required), workspace_key (required).

draft_review_repliesDraft review repliesA
Idempotent
Inspect

Get suggested replies to one review, in three tones: warm, professional and brief. The first call for a review generates the drafts with an AI model, using the workspace's customer support voice when one is set up, and saves them on the review; later calls return the saved drafts. Drafts for reviews of 1 or 2 stars are marked as needing a careful read before sending.

Input: review_id from list_reviews_to_reply. Nothing is posted. Show the drafts to the user, let them pick or edit one, then call send_review_reply with the final text.

Inputs: review_id (required), workspace_key (required).

edit_scheduled_postEdit scheduled postA
DestructiveIdempotent
Inspect

Change an existing draft or scheduled post: its publish time (post_at), its caption, per-platform captions, or its status (draft or scheduled). Fields you omit are left as they are. Call get_scheduled_post first to see the post's targets and captions.

For a post with one platform, pass caption. For a post sent to several platforms, pass captions with one entry per platform to change; platforms you leave out keep their caption. If a post has two targets on the same platform, identify each by target_id (listed by get_scheduled_post) instead of provider.

Setting status to "scheduled" queues the post to publish at post_at to the connected social accounts. Published or in-progress posts cannot be edited and are rejected.

Inputs: id (required), workspace_key (required), status, caption, +2 more.

generate_imageGenerate imageAInspect

Generate an image from a text prompt. Inputs: workspace_key and prompt (subject, style, composition); optional model (nano_banana, nano_banana_2, gpt_image, or seedream; default is the workspace's model), aspect_ratio (for example "1:1", "9:16", "16:9"; default square), apply_visual_style (adds the workspace's brand visual style to the prompt), and reference_image_urls (up to 6 public image URLs, for example from search_media or an earlier result, to keep a subject, product, or person).

Generation runs in the background and usually takes 1-5 minutes. The tool returns a request id at once; call get_generated_image with it every 15-30 seconds until it is done. The image is not added to the media library. Its URL can be used in compose_design, set_design_background, or replace_design_image.

Inputs: prompt (required), workspace_key (required), model, aspect_ratio, +2 more.

generate_postGenerate postAInspect

Generate one social media post (a single image, a carousel, or a short video) from the workspace's brand plan, and save it as a design with a draft post. Nothing is published.

Inputs: workspace_key; optional topic, channel (default instagram_post), content_type (image, carousel, or video; default image), slide_count (carousels only: 2 to 10 slides, default 4; passing it implies a carousel), brand_plan_schedule_id (a campaign id from create_campaign or list_campaigns; omit for a standalone post), and post_at (ISO 8601; default one day from now).

Carousels: set the number of slides with slide_count, not in the topic. The carousel has exactly that many slides, or generation fails with the reason. Story channels and campaigns under strict brand control can't make carousels.

Video: the instagram_reel, tiktok_post, and youtube_short channels always produce a video, whatever content_type is given. A video is a vertical (9:16) clip of about 8 to 12 seconds. It is either an animated clip (one generated image turned into a single clip of about 8 seconds, with no audio) or a scripted video (three short shots joined together, about 12 seconds, which may include a voiceover and captions when the workspace has them turned on). Which of the two is made is set by the campaign's content strategy; it cannot be chosen here.

Generation runs in the background, and videos take longer than images. The tool returns a content id at once; pass it to get_generated_post to get the result, which for a video includes the MP4 link. Requires an active brand plan.

Inputs: workspace_key (required), topic, channel, post_at, +3 more.

get_brand_kitGet brand kitA
Read-onlyIdempotent
Inspect

Get a workspace's brand kit: brand name and profile; brand voice (purpose, audience, tone, emotions, character, syntax, language); color palettes; logos with asset URLs; and fonts with family, weights, type scale, and specimen links. Use the colors and fonts as inputs to compose_design and the design edit tools.

Inputs: workspace_key; optional brand_kit_id. Without brand_kit_id it returns the workspace's most recent brand kit. Returns a notice if the workspace has no brand kit. Read-only.

Inputs: workspace_key (required), brand_kit_id.

get_design_previewGet design previewA
Read-onlyIdempotent
Inspect

Get the rendered preview images of an existing design, by design id (the number returned by compose_design, or the key from a /designs/ URL). A single design returns one image; a carousel returns every slide in order. Use it to see a design before editing or scheduling it.

A carousel, or a design without a stored preview, is rendered on request. Read-only: the design and the brand kit are not changed.

Inputs: design_id (required), workspace_key (required).

get_generated_imageGet generated imageA
Read-onlyIdempotent
Inspect

Get the status of an image started with generate_image, by request id. While it is running, returns the status; generation usually takes 1-5 minutes, so wait 15-30 seconds between calls. When it has finished, returns the image URL and an inline preview. If it failed, returns the reason. Read-only.

Inputs: id (required), workspace_key (required).

get_generated_postGet generated postA
Read-onlyIdempotent
Inspect

Get the status of a post started with generate_post, by content id. While it is running, returns the status. When it has finished, returns the design id, a preview image, the draft post's id and time, and the caption. For a video it also returns the link to the MP4 file and its length in seconds when known; the preview image is a still frame. If it failed, returns the reason. Read-only.

Inputs: content_id (required), workspace_key (required).

get_media_upload_urlsGet media upload URLsAInspect

Get upload URLs for media files that are on the user's computer, so they can be used with schedule_posts. Input: workspace_key and filenames (each with its real extension).

For each filename it returns an upload_url and a hosted_url. Upload each file with an HTTP PUT of its raw bytes to its upload_url, for example curl -X PUT --upload-file <local file> "<upload_url>". Do not add x-amz-acl or any other x-amz-* header; the URL is already signed and S3 rejects extra signed headers. Then pass each hosted_url to schedule_posts as a media url, in carousel order.

The extension sets the media type. Supported images: png, jpeg, webp, svg. Supported videos: mp4, mpeg, webm, quicktime (.mov).

Inputs: filenames (required), workspace_key (required).

get_performance_digestGet performance digestA
Read-onlyIdempotent
Inspect

Get a short performance report for a workspace's connected social accounts. For each account it reports followers and impressions (Instagram reach, Facebook unique impressions, YouTube views, Google Business Profile profile views) for yesterday, the trailing 7 days, and the trailing 30 days, all ending yesterday in the workspace's timezone. Each window is compared with the preceding window of the same length. Followers show the latest total and the net adds in each window.

Inputs: workspace_key; optional period ("daily" or "weekly", default "daily"; weekly also lists up to 5 top posts published in the last 7 days); optional goal_net_followers_per_day (compares the trailing 7-day average of net adds with the goal).

Metrics are collected once a day and can lag or have gaps. Missing values are shown as "—" (null in structured content) with a dated note; they are never estimated. An impressions window is missing if any of its days is missing. Follower net adds only need the totals on the window's first and last days, so they are still shown when days in between are missing, and the note lists those days. Read-only.

Inputs: workspace_key (required), period, goal_net_followers_per_day.

get_scheduled_postGet scheduled postA
Read-onlyIdempotent
Inspect

Get one post by its numeric id: content, media, each platform target with its own status, error details, and posting history. For a blog post it also returns a JSON export (rendered HTML body, slug, excerpt, author, tags, cover image) that can be used to display the published post on another site. Read-only.

Inputs: id (required), workspace_key (required).

get_workspaceGet workspaceA
Read-onlyIdempotent
Inspect

Get one workspace's name, key, and id, plus the signed-in user's name, email, and role in it. Input: workspace_key. Read-only.

Inputs: workspace_key (required).

list_campaignsList campaignsA
Read-onlyIdempotent
Inspect

List a workspace's campaigns, newest first. Each entry has the campaign id, name, start date, and number of generated topics (use the count to check progress after create_campaign). Inputs: workspace_key; optional limit (1-100, default 20). Read-only.

Inputs: workspace_key (required), limit.

list_connected_accountsList connected accountsA
Read-onlyIdempotent
Inspect

List the accounts connected to a workspace: social accounts that schedule_posts can publish to, and blog, email, ads, and other integrations. Use it before scheduling to check that each channel will publish.

Each account shows its provider (social providers use the same names schedule_posts accepts), display name, handle when known, account type, status, and when Blaze last checked the connection. Status is "active", "disconnected" (Blaze lost access), or "token expired" (the access token expired and cannot be renewed). Posts to an account that is not active will not publish until it is reconnected in Blaze. Pass provider to list only one provider. Read-only.

Inputs: workspace_key (required), provider.

list_reviews_to_replyList reviews to reply toA
Read-onlyIdempotent
Inspect

List the reviews in a workspace that have no reply yet, lowest star rating first, then newest; reviews without a star rating come last. Each entry has the review id, source, star rating, author name, age, a text excerpt, any reply draft already saved, and whether a reply can be posted from Blaze or has to be written on the review site itself.

Covers reviews on Google Business Profile, Facebook, Yelp, Angi, Thumbtack, BBB and Reddit that Blaze has synced, and recent comments on the workspace's Facebook and Instagram posts. Replies can be posted from Blaze only for Google Business Profile reviews and, where enabled, Facebook reviews; comments are listed for reference and must be answered on the platform. Comments on X, LinkedIn, TikTok and YouTube are not covered.

Optional: limit (1-50, default 10) and include_comments (default true). Use draft_review_replies to get suggested replies and send_review_reply to post one. Read-only.

Inputs: workspace_key (required), limit, include_comments.

list_scheduled_postsList scheduled postsA
Read-onlyIdempotent
Inspect

List a workspace's posts on the content calendar. Each entry has the post id, status, platform, scheduled time, and a short content preview.

Optional filters: status (scheduled, processing, published, failed, draft, retrying, or all; default scheduled), type (blog, image, video, or all; default all), from and to (ISO 8601 datetimes), and limit (1-100, default 20). For example, status "published" with type "blog" lists published blog posts. Read-only.

Inputs: workspace_key (required), to, from, type, +2 more.

list_workspacesList workspacesA
Read-onlyIdempotent
Inspect

List the Blaze workspaces the signed-in user belongs to. Each entry has the workspace name, the user's role, and the workspace_key that every other workspace-scoped tool requires. Takes no inputs. Read-only.

Inputs: no named parameters.

move_design_elementMove design elementA
DestructiveIdempotent
Inspect

Move one element of an existing design to a new position. x and y are the new top-left corner in design pixels (a 1080x1350 slide runs from 0,0 to 1080,1350); pass either or both. Use the bounding boxes in the design structure to place it. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: element (required), design_id (required), workspace_key (required), x, +1 more.

publish_post_nowPublish post nowAInspect

Publish a draft or scheduled post immediately to the connected social accounts it targets, instead of waiting for its scheduled time. This posts publicly and cannot be undone from Blaze. Confirm the post and its channels with the user before calling.

Only draft or scheduled posts with at least one connected, active account can be published. Posts that are already published, publishing, or retrying are rejected so nothing is posted twice. Publishing runs in the background: call get_scheduled_post afterwards to see the result and the live post links.

Inputs: id (required), workspace_key (required).

recolor_design_elementRecolor design elementA
DestructiveIdempotent
Inspect

Change the color of one element in an existing design. On a text element it sets the text color. On a shape or a slide background it sets the fill: a solid color, or a gradient. Pass color for a solid color or gradient for a gradient. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: element (required), design_id (required), workspace_key (required), color, +1 more.

remove_design_elementRemove design elementA
Destructive
Inspect

Delete one element (text, image, shape, or logo) from an existing design. Nothing else moves; use move_design_element to close the gap. Element aliases are renumbered after a removal, so read the returned structure before the next edit. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: element (required), design_id (required), workspace_key (required).

replace_design_imageReplace design imageA
DestructiveIdempotent
Inspect

Swap the picture in one image element of an existing design for another image, keeping the element's size and position. The image URL must be publicly reachable, for example a result from search_media or get_generated_image. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: element (required), design_id (required), image_url (required), workspace_key (required).

schedule_postsSchedule postsA
Idempotent
Inspect

Schedule one or more finished social posts that the user already has: their own media, captions, and publish times.

Each post needs post_at (ISO 8601), channels, and media. Each channel names a provider (instagram, facebook, linkedin, x, google_business_profile, tiktok, youtube) and an optional caption; a channel without a caption uses the first channel's caption. Several channels make one cross-post that shares the same media and publish time.

Media is either images (one, or several for a carousel in the order given) or exactly one video, never both. TikTok and YouTube accept video only. Media type is read from the URL extension unless you pass type. Each url must be publicly reachable; for local files, call get_media_upload_urls first.

A post with a connected social account is scheduled and publishes automatically at post_at; any of its channels without a connected account will not publish and are listed in the response. A channel whose account has lost access is flagged with a warning: it will fail to publish until the account is reconnected in Blaze (list_connected_accounts shows each account's status). A post with no connected account, or in a workspace that requires approval, is saved as a draft instead. Invalid posts (missing media, mixed images and video, too many images for a channel, bad date, no channels) are skipped and listed in the response; the others are still scheduled.

Retries: give each post an idempotency_key (any unique string) to make retries safe. If the same workspace sends the same key again within 24 hours, the post created the first time is returned and nothing new is created. Without a key, a post identical to one this tool created in the last 10 minutes (same post_at, channels, captions, and media URLs) is also returned instead of being created again; to schedule a true duplicate inside that window, pass a new idempotency_key.

Inputs: posts (required), workspace_key (required).

search_fontsSearch fontsA
Read-onlyIdempotent
Inspect

Search the fonts Blaze can render (Google Fonts plus Blaze's licensed catalog) by family name, for example "mono", "grotesk", "slab", or "playfair". Each result has the family name, catalog, category (sans-serif, serif, monospace, display, handwriting), and available weights. Pass a family name unchanged as the font field in compose_design. The workspace's brand fonts come from get_brand_kit. Does not need a workspace_key. Read-only.

Inputs: query (required), limit, source, category.

search_mediaSearch media libraryA
Read-onlyIdempotent
Inspect

Browse or search the photos and videos uploaded to a workspace's media library (these are not part of get_brand_kit). Returned URLs can be used in compose_design, set_design_background, replace_design_image, or as generate_image references.

Without query, lists the most recently used uploads, paged with page and limit (default 20, max 50); type selects "image" (default) or "video". With query, runs a semantic search over images only, and only over images Blaze has already indexed, so browsing is the complete list. Each result has a title, hosted URL, MIME type, dimensions, and media key. Read-only.

Inputs: workspace_key (required), page, type, limit, +1 more.

send_review_replySend review replyAInspect

Post a public reply to one review under the business's name. The reply appears on the review site right away and is visible to anyone. Confirm the exact text with the user before calling this.

Input: review_id from list_reviews_to_reply and text (the full reply, up to 4000 characters). Works for Google Business Profile reviews and, where enabled, Facebook reviews. Yelp, Angi, Thumbtack, BBB and Reddit reviews, and reviews that already have a reply, are refused; answer those on the review site.

Inputs: text (required), review_id (required), workspace_key (required).

set_design_backgroundSet design backgroundA
DestructiveIdempotent
Inspect

Set a full-bleed background image on one slide of an existing design, replacing any background image it already has. The image URL must be publicly reachable, for example a result from generate_image or search_media. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: slide (required), design_id (required), image_url (required), workspace_key (required).

set_design_element_widthSet design element widthA
DestructiveIdempotent
Inspect

Set the width of one element in an existing design, in design pixels; text re-wraps to the new width. Pass "auto" to shrink a text element to fit its text on one line, for example so a button panel fits its label. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: width (required), element (required), design_id (required), workspace_key (required).

set_design_font_sizeSet design font sizeA
DestructiveIdempotent
Inspect

Set the font size of one text element in an existing design, in points. The text re-wraps in its box. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: element (required), design_id (required), font_size (required), workspace_key (required).

set_design_font_weightSet design font weightA
DestructiveIdempotent
Inspect

Set the font weight of one text element in an existing design, for example 400 for regular or 700 for bold. If the element's font doesn't have that weight, the nearest one it has is used and the response says so. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: element (required), design_id (required), font_weight (required), workspace_key (required).

set_design_textSet design textA
DestructiveIdempotent
Inspect

Replace the words of one text element in an existing design. The element keeps its font, size, color, and position; the text re-wraps to fit its box. Use it to change a headline, caption, or button label. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: text (required), element (required), design_id (required), workspace_key (required).

set_design_text_panelSet design text panelA
DestructiveIdempotent
Inspect

Add, restyle, or remove the filled panel behind one text element in an existing design, such as a button or a strip that makes text readable over a photo. Pass panel { "shape": "none" } to remove it. The change is saved to the design. The response has the updated design structure (element aliases and positions) and a rendered preview.

Inputs: panel (required), element (required), design_id (required), workspace_key (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.