Skip to main content
Glama

Clone a widget

appsmith_clone_widget

Clone an existing Appsmith widget on a page to create a new one, applying property overrides while preserving inner bindings.

Instructions

Copies an existing widget (and everything inside it) into the same page under a new name, then applies any property overrides. This is how to add a widget: Appsmith's widget defaults live in its frontend, not its API, so copying a real widget of the wanted type is what produces a valid one. The copy lands below its siblings. Bindings inside the copy are carried over as-is, so any that named the source widget still point at the original — the response lists what was renamed so they can be fixed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageIdYesPage containing the widget to copy.
propertiesNoProperties to override on the copy, as {"name": value}. Bindings are registered automatically.
newWidgetNameYesName for the copy. Must not already exist on the page.
sourceWidgetNameYesWidget to copy, e.g. spoa.
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses several behavioral traits: copy lands below siblings, bindings carried over as-is with any referencing the original still pointing at it, and the response lists what was renamed for repair. This is meaningful behavioral context. Some gaps remain (it doesn't mention whether the source widget is name-matched case-sensitively or what happens on pageId mismatch), but the core behaviors are well-disclosed despite zero annotation support.

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 sentences, all substantive with zero fluff. Front-loaded with the core operation, then the critical 'why use this' insight, then placement/binding caveats. Slightly dense for a single paragraph, but every sentence earns its place given the tool's conceptual subtlety around copying-based widget creation.

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

Completeness4/5

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

Given this is a moderate-complexity mutation tool with no output schema and no annotations, the description is fairly complete: it covers purpose, the unique add-mechanism rationale, placement behavior, binding side-effects, and remediation guidance. Minor gaps include not specifying response structure details and not stating failure modes (e.g., duplicate newWidgetName behavior), but the essential operational knowledge an agent needs is present.

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 coverage is 100%, so the schema fully documents all 4 parameters. The description adds value by clarifying the properties param (overrides as {name: value}, bindings auto-registered) beyond the schema, and explains the newWidgetName constraint ('must not already exist' is echoed from schema). Most heavy lifting is in schema, so baseline 3 is appropriate with modest added semantics on the properties override behavior.

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?

Clear specific verb (clone) + resource (widget) with detailed scope: copies widget and everything inside it, places it in the same page under a new name, applies property overrides. Strongly distinguishes from siblings like appsmith_get_widget, appsmith_update_widget, and appsmith_create_widget (which doesn't exist as a sibling, reinforcing that cloning is the add-mechanism).

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

Usage Guidelines5/5

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

Explicitly explains WHY cloning is the way to add a widget (Appsmith's widget defaults live in frontend, not API), giving the agent the critical 'when to use' decision context. Also clearly describes when-not: notes the copy lands below siblings and bindings get carried over, implying the source must be a valid existing widget. This uniquely positions the tool among all siblings.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Davidgraciano/appsmith-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server