designComponent
Design ONE reusable, on-brand SLIDE COMPONENT and add it to the org's component library so every future branded deck (autoDesignWhiteboard designProfile:'branded-executive') can use it. This is the self-improving design loop: an agent AUTHORS the component as a declarative template (a gradient/sh...
This record as markdown: /tools/io-stablebaseline-sb/designcomponent.md
What designComponent does on Stable Baseline
AI agents use designComponent to create or update resources in Stable Baseline, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Stable Baseline environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | The component key, lowercase dotted, e.g. 'kpi.delta'. This is how decks reference it; reused if it already exists. |
tags | array | — | Optional search tags. |
force | boolean | — | Redesign even if a component with this key already exists (default false = reuse). |
title | string | Yes | A short human title, e.g. 'KPI with delta arrow'. |
boxCols | number | — | Optional width in grid columns (2-12, default 4). |
boxRows | number | — | Optional height in grid rows (2-12, default 5). |
category | string | — | Optional catalogue category (e.g. 'data', 'narrative', 'comparison'). |
projectId | string | Yes | Project to create the small preview board in (where the render iterations are shown). |
description | string | Yes | What the component IS, WHEN to use it, and what it should LOOK like (the richer the better — this drives both the designer and the critic). |
sampleSlots | object | Yes | Example slot content to render with, e.g. { value: '47%', label: 'Revenue growth', delta: '+12 pts' }. The slot keys become the component's editable fields. |
referenceImageUrl | string | — | Optional URL of a reference image the component should match; the critic compares the render to it. |
Parameters from the server's own tool schema.
Why designComponent is rated Medium
This tool creates and modifies organizational design assets that persist in a shared library, making it a Write operation rather than Read. The severity is medium because while the component library is an important shared resource, individual components can be updated, removed, or deprecated without irreversible damage to the organization.
From the tool's definition The tool CREATES and ADDS a reusable slide component to the organization's component library ('add it to the org's component library').
Risk signalsHigh parameter count (11 properties) · Bulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs designComponent safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Stable Baseline, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For designComponent, this is the rule to start with:
designComponent stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Stable Baseline, apply this rule, and every designComponent call is checked against it from then on.
Questions about designComponent
Design ONE reusable, on-brand SLIDE COMPONENT and add it to the org's component library so every future branded deck (autoDesignWhiteboard designProfile:'branded-executive') can use it. This is the self-improving design loop: an agent AUTHORS the component as a declarative template (a gradient/shadow/curve SVG skin + a native editable PPTX shape + reflowing bound-text slots), RENDERS it, a vision critic COMPARES the render to your brief and lists gaps, and it FIXES + re-renders until polished — then validates and stores it. Use it to grow the deck component catalogue beyond the built-ins (e.g. a 'kpi.delta' stat with an up/down arrow, a 'quote.card', a 'logo.strip'). Browse-first: if a component with this key already exists it is reused (pass force:true to redesign). Provide example sampleSlots so it can lay out real content, and a projectId for the small preview board it builds. Returns the stored component, the per-round critique trail, and the preview board id. It uses a few AI calls + renders (no flat credit charge); the new component is then free to reuse forever. It is categorised as a Write tool in the Stable Baseline MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
designComponent accepts 11 parameters: key, tags, force, title, boxCols, boxRows, category, projectId, description, sampleSlots, referenceImageUrl. Required: key, title, projectId, description, sampleSlots. The full parameter table on this page comes from the server's own tool schema.
Register the Stable Baseline MCP server in PolicyLayer and add a rule for designComponent: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Stable Baseline. Nothing to install.
designComponent is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the designComponent rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for designComponent. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
designComponent is provided by the Stable Baseline MCP server (https://api.stablebaseline.io/functions/v1/cloud-serve/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Stable Baseline, and thousands of servers like it.
This server
Across the catalogue