Skip to main content
Glama

Change a widget

update_widget

Change an existing widget. For links: url and/or title. For text and headings: content. For other widgets: props (only the keys you pass change; see list_widget_types).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "widget_id": "<widget_id>"
    },
    "name": "update_widget"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoLinks: new URL (the widget is rebuilt for the new link).
pageNoWhich page: "home" (the default) or a subpage slug from list_pages.
propsNoOther widgets: props to change.
titleNoLinks: new title.
contentNoText widgets and headings: new text.
widget_idYesWidget id from get_page, e.g. "element:lq3x9a1b".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=false, openWorldHint=true) it discloses two genuinely useful behaviors: partial merge semantics ("only the keys you pass change") and that changing a link URL rebuilds the widget. It does not mention permission requirements, whether a change is reversible via undo_change, or what the call returns.

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

Conciseness4/5

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

Four short, front-loaded sentences with no filler; the mutation statement comes first and the type-specific field mapping follows. The telegraphic fragments ("For links: url and/or title.") are dense but slightly harder to parse than a full sentence would be.

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

Completeness3/5

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

For a 6-parameter mutation tool with a nested free-form `props` object and no output schema, the definition covers the main field routing but leaves `page` undocumented, gives no guidance on the return value or on recovering from a bad change, and pushes the open-ended props keys entirely to list_widget_types.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description largely restates the per-parameter schema text (links need url/title, text needs content, others need props) and consolidates it usefully, but it omits the `page` parameter entirely and adds no syntax detail beyond the schema.

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

Purpose4/5

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

"Change an existing widget" states a specific verb and resource, and the per-type routing sentences let an agent distinguish it from add_widget, remove_widget, move_widget and resize_widget without opening the schema. It stops short of naming those siblings explicitly, so the differentiation is inferential rather than declared.

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?

The description gives clear conditional guidance on which fields to send for links versus text/headings versus all other widget types, and routes the agent to list_widget_types for the open-ended props case. It never states exclusions, e.g. that moving or resizing a widget uses the dedicated sibling tools rather than props.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources