Skip to main content

Available Tools

The Widget Builder MCP Server provides the following tools that AI assistants can use to manage your widgets.

Widget Management

list_widgets

List all custom widgets for your account. Returns a summary of each widget including GUID, title, active status, and timestamps.

Parameters: None

Returns: Array of widgets with guid, title, isActive, updateTimestamp, and createTimestamp.

Required scope: widgets:read


get_widget

Get full details of a specific widget by its GUID. Includes the Handlebars template, form field definitions, variables, translations, and API configuration.

Parameters:

NameTypeRequiredDescription
guidstringYesThe widget's unique identifier

Required scope: widgets:read


create_widget

Create a new widget with a title and optional Handlebars HTML template, form fields, variables, and translations.

Parameters:

NameTypeRequiredDescription
titlestringYesThe widget title
templatestringNoHandlebars HTML template
formarrayNoForm field definitions (editor settings)
variablesarrayNoWidget variables for interactive state
translationsobjectNoTranslation key-value pairs per language
isActivebooleanNoWhether the widget is immediately active (default: false)

Required scope: widgets:write


update_widget

Update an existing widget. Only provided fields are updated — omitted fields remain unchanged.

Parameters:

NameTypeRequiredDescription
guidstringYesThe widget's unique identifier
titlestringNoNew widget title
templatestringNoUpdated Handlebars template
formarrayNoUpdated form fields
variablesarrayNoUpdated variables
translationsobjectNoUpdated translations
isActivebooleanNoActivate or deactivate the widget

Required scope: widgets:write


delete_widget

Permanently delete a widget by its GUID. This action cannot be undone.

Parameters:

NameTypeRequiredDescription
guidstringYesThe widget's unique identifier

Required scope: widgets:write


Data Tables

list_tables

List all data tables for your account. Returns a summary of each table including GUID, name, description, active row count, and timestamps.

Parameters: None

Required scope: tables:read


get_table

Get the full schema of a data table by its GUID, including column definitions and index slot mappings.

Parameters:

NameTypeRequiredDescription
tableGuidstringYesThe data table's unique identifier

Required scope: tables:read


list_rows

List rows from a data table with pagination, optional sorting, and optional filtering.

Parameters:

NameTypeRequiredDescription
tableGuidstringYesThe data table's unique identifier
pagenumberNoPage number (default: 1)
pageSizenumberNoRows per page (default: 50, max: 200)
sortBystringNoColumn key to sort by
sortDirstringNoSort direction: asc or desc
filtersarrayNoArray of filter objects with column, operator, and value

Required scope: tables:read


create_table

Create a new data table with a name and optional column definitions.

Parameters:

NameTypeRequiredDescription
namestringYesTable name (max 255 characters)
descriptionstringNoTable description (max 1000 characters)
columnsarrayNoColumn definitions with key, label, type, required, and optional validation

Required scope: tables:write


update_table_schema

Update the column definitions of a data table. Existing columns cannot change their type — delete and recreate instead.

Parameters:

NameTypeRequiredDescription
tableGuidstringYesThe data table's unique identifier
columnsarrayYesNew column definitions

Required scope: tables:write


delete_table

Permanently delete a data table by its GUID. This cascade-deletes all rows and shares.

Parameters:

NameTypeRequiredDescription
tableGuidstringYesThe data table's unique identifier

Required scope: tables:write


create_row

Insert a new row into a data table. The data object is validated against the table's column schema.

Parameters:

NameTypeRequiredDescription
tableGuidstringYesThe data table's unique identifier
dataobjectYesRow data as { columnKey: value } pairs

Required scope: tables:rows


update_row

Update an existing row in a data table.

Parameters:

NameTypeRequiredDescription
tableGuidstringYesThe data table's unique identifier
rowGuidstringYesThe row's unique identifier
dataobjectYesUpdated row data as { columnKey: value } pairs

Required scope: tables:rows


delete_row

Soft-delete a row in a data table.

Parameters:

NameTypeRequiredDescription
tableGuidstringYesThe data table's unique identifier
rowGuidstringYesThe row's unique identifier

Required scope: tables:rows

tip

The tables:write scope implicitly includes tables:rows permissions.


Built-in Widgets

list_builtin_widgets

List all built-in widgets that are activated for your account. Returns GUID, version, title, and icon for each built-in widget.

Parameters: None

Required scope: widgets:read


get_builtin_widget

Get full details of a built-in widget by its GUID, including the HTML template, form fields, variables, translations, and API configuration.

Parameters:

NameTypeRequiredDescription
guidstringYesThe built-in widget's unique identifier

Required scope: widgets:read


Template Rendering

test_render

Test-render a Handlebars template server-side without a browser. Returns the rendered HTML output and any compilation errors. You can render an existing widget by GUID or provide a raw template string.

Parameters:

NameTypeRequiredDescription
guidstringNoWidget GUID to render (optional if template is provided)
templatestringNoRaw Handlebars template string (optional if guid is provided)
dataobjectNoSample data context for template rendering
settingsobjectNoSample settings values for template rendering

Required scope: render

tip

Use test_render to validate templates before creating or updating widgets. This helps catch Handlebars syntax errors early.


Documentation

get_widget_guide

Retrieve the complete widget building guide. This includes documentation on Handlebars syntax, all available helpers with examples, form field types, variables, translations, Tailwind CSS usage, and a complete example widget.

Parameters: None

Required scope: None (available to all authenticated tokens)


Permission Scopes

Each API token has one or more permission scopes that control which tools it can access:

ScopeTools
widgets:readlist_widgets, get_widget, list_builtin_widgets, get_builtin_widget
widgets:writecreate_widget, update_widget, delete_widget
rendertest_render
tables:readlist_tables, get_table, list_rows
tables:writecreate_table, update_table_schema, delete_table (also implies tables:rows)
tables:rowscreate_row, update_row, delete_row
(no scope needed)get_widget_guide

By default, new tokens are created with all six scopes: widgets:read, widgets:write, render, tables:read, tables:write, and tables:rows.

Built-in Prompts

The MCP Server also provides guided prompts that walk AI assistants through multi-step workflows:

create_widget

A guided workflow for creating a new widget from scratch. The AI assistant will:

  1. Read the widget building guide
  2. Gather your requirements (data structure, desired layout)
  3. Build the HTML template with Handlebars and Tailwind CSS
  4. Test-render the template to validate it
  5. Create the widget in your account

improve_widget

A guided workflow for improving an existing widget. Provide a widget GUID and the AI assistant will:

  1. Retrieve the widget's current template and configuration
  2. Review it against best practices
  3. Suggest specific improvements
  4. Test-render the updated template
  5. Apply the changes

Next steps

Ready to try it out? Ask your AI assistant to:

  • "List my widgets"
  • "Create a weather widget that shows the current temperature"
  • "Improve my KPI Dashboard widget"