DashboardsWriteDo not retry automatically
Create widget
create_widgetCreate a view or control widget. Use describe_widget_kind / validate_widget_spec to shape view/control. Client-plane filters go in clientPipeline (widget_pipeline_append), not here.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | required | Lowercase kebab-case slug, 3-64 chars |
name | string | required | Input for name. |
description | string | optional | Input for description. |
shape | "view" | "control" | required | Input for shape. |
view | object | optional | Required when shape="view". The view spec, discriminated by `kind`. The full per-kind field schema is NOT inlined here because it is very large: call list_widget_kinds for the available kinds, describe_widget_kind for one kind's fields, and validate_widget_spec to check a draft. The spec is validated in full server-side, so an invalid one is refused, not silently accepted. |
control | object | optional | Required when shape="control". The control spec, discriminated by `kind`. Not inlined here: call list_widget_kinds({category:"control"}) for the kinds, describe_widget_kind for one kind's fields, and describe_actions / validate_action for the action specs a control emits. Validated in full server-side. |
queryId | string | null | optional | Input for queryId. |
queryBindings | object | optional | Input for queryBindings. |
visibility | "private" | "workspace" | "public-link" | "public-indexed" | optional | Input for visibility. |
folderId | string | null | optional | Input for folderId. |
tags | string[] | optional | Input for tags. |
Example call
The tool call an MCP client sends (required arguments shown with placeholder values).
{"tool": "create_widget","arguments": {"slug": "value","name": "value","shape": "value"}}
Use this tool in
Claude CodeClaude DesktopClaude CoworkChatGPTCursorWindsurfVS Code CopilotOpenClawGeminiHermes Agent