Skip to main content
Glama

Update overlay

overlays_update
Idempotent

Update a StreamElements overlay by changing its name, canvas settings, or specific widget fields while keeping unmentioned widgets intact. Use overlays_get first for IDs and fields.

Instructions

Change an overlay's name, canvas settings or individual widgets (position, size, visibility, text, colors and other widget fields). Fetches the current overlay, applies only the given changes and saves it back, so widgets you don't mention are kept intact. Use overlays_get first to find widget ids and field names. Undocumented endpoint (PUT /overlays/{channel}/{overlayId}): not in the official API reference, so it may change without notice.

Input Schema

NameRequiredDescriptionDefault
nameNoNew overlay name
channelNoStreamElements channel id (24-char hex). Defaults to SE_CHANNEL_ID or the channel that owns the token.
widgetsNoChanges to individual widgets. Widgets not listed are left as they are.
settingsNoCanvas settings to change, merged into the current ones, e.g. { width: 2560, height: 1440, name: '1440p' }
overlayIdYesOverlay id (24-character hex id)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (idempotentHint, destructiveHint=false), the description discloses the read-modify-write pattern: it fetches the overlay, applies only given changes, and saves back, so unmentioned widgets survive. It also flags that the endpoint is undocumented and may change without notice, a material stability caveat not captured anywhere else.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the change surface, then the merge behavior, then the prerequisite and API-risk warning. Every sentence carries distinct information with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with nested objects, no output schema, and rich annotations, the description covers the merge semantics, the discovery prerequisite, and the undocumented-endpoint risk. An agent has everything needed to call it correctly without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds useful framing by naming concrete widget fields (position, size, visibility, text, colors) and pointing to overlays_get for discovering ids and field names. It stops short of full compensation since the deep-merge detail largely echoes the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Change) and resource (an overlay) and enumerates the editable surface: name, canvas settings, and individual widget fields. It also names the sibling overlays_get as the prerequisite, so an agent can place it precisely in the overlays workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to call overlays_get first to discover widget ids and field names, giving clear usage context. It does not, however, state when-not-to-use it or contrast it against overlays_create/overlays_action, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools