← WebMCP Directory

chameleon-webmcp.ryan-970.workers.dev

chameleon-webmcp.ryan-970.workers.dev

live Unverified (seed import) Productivity & Business 15 tools imperative implementation

Chameleon

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 3 · Act 11 · Transact 1 · Score: Not yet scored

Tool inspector

add_widget

act imperative

Creates one widget and returns widgetId plus required next. Repeated logs (blood sugar, applications) must be type=form, then create_form_tool. Pipeline/status board: kanban with a select groupByField, never table. Bind omitted fields for table, kanban, chart, or form. Checklist: skip bind_data, then add_rows with text/done/due/note. Notes: config.markdown only. "No rows yet" / "No items yet" means unfinished. Omit position to auto-place.

Input schema

PropertyTypeRequiredDescription
type string yes table = flat records; kanban = pipeline/status board (needs a select groupByField); checklist = todos via add_rows; note = markdown prose only, not data; chart and form also exist.
title string yes —
config object no Type-specific config. Kanban defaults: groupByField "status", cardTitleField "title" — pass those field keys, or override config to match. Notes: config.markdown for prose only.
fields array no Column schema at creation (same as bind_data). Prefer this when you already know the columns. Fields alone leave "No rows yet" — call add_rows next. For kanban include a select field matching config.groupByField (default key "status") plus a title field (default key "title").
position object no Grid placement on a 12-column grid. One row unit is ~40px. Omit to auto-place below existing widgets.
expectedStateVersion integer no The stateVersion from your latest describe_current_state call. Pass it on static mutations to avoid overwriting a newer human or agent change. If stale, the tool returns STALE_STATE without changing the board.
rationale string no One sentence explaining why you are making this change. Shown to the human in the activity log.
Raw JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "table",
        "kanban",
        "checklist",
        "chart",
        "note",
        "form"
      ],
      "description": "table = flat records; kanban = pipeline/status board (needs a select groupByField); checklist = todos via add_rows; note = markdown prose only, not data; chart and form also exist."
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "config": {
      "description": "Type-specific config. Kanban defaults: groupByField \"status\", cardTitleField \"title\" — pass those field keys, or override config to match. Notes: config.markdown for prose only.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "fields": {
      "description": "Column schema at creation (same as bind_data). Prefer this when you already know the columns. Fields alone leave \"No rows yet\" — call add_rows next. For kanban include a select field matching config.groupByField (default key \"status\") plus a title field (default key \"title\").",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{0,39}$",
            "description": "Stable snake_case identity for this field."
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "Display name shown on the widget."
          },
          "type": {
            "type": "string",
            "enum": [
              "text",
              "number",
              "date",
              "select",
              "boolean",
              "url"
            ],
            "description": "Value type. select requires options; other types forbid options."
          },
          "required": {
            "default": false,
            "type": "boolean"
          },
          "options": {
            "description": "Required when type is \"select\"; forbidden otherwise.",
            "minItems": 1,
            "maxItems": 30,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "description": {
            "type": "string",
            "maxLength": 200
          }
        },
        "required": [
          "key",
          "label",
          "type"
        ],
        "additionalProperties": false
      }
    },
    "position": {
      "type": "object",
      "properties": {
        "x": {
          "type": "integer",
          "minimum": 0,
          "maximum": 11
        },
        "y": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "w": {
          "type": "integer",
          "minimum": 2,
          "maximum": 12
        },
        "h": {
          "type": "integer",
          "minimum": 2,
          "maximum": 20
        }
      },
      "required": [
        "x",
        "y",
        "w",
        "h"
      ],
      "description": "Grid placement on a 12-column grid. One row unit is ~40px. Omit to auto-place below existing widgets."
    },
    "expectedStateVersion": {
      "description": "The stateVersion from your latest describe_current_state call. Pass it on static mutations to avoid overwriting a newer human or agent change. If stale, the tool returns STALE_STATE without changing the board.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "rationale": {
      "description": "One sentence explaining why you are making this change. Shown to the human in the activity log.",
      "type": "string",
      "maxLength": 300
    }
  },
  "required": [
    "type",
    "title"
  ],
  "additionalProperties": false
}

Similar websites

econsor.de

econsor.de

German digital agency building portals, e-commerce sites and online marketing, combining strategy, design and AI to grow clients' visibility and customer base.

live Unverified Productivity & Business Transact tools
143 tools A0 / Act142 / T1 Not yet scored Seen 2026-11-05
econsor_click_search econsor_click_image econsor_click_menu econsor_click_burger_menu_icon econsor_click_previous_button
Inspect tools
inkframe-eta.vercel.app

inkframe-eta.vercel.app

Browser-native Elah video editor for 9:16 and 16:9 exports

live Unverified Productivity & Business Transact tools
87 tools A12 / Act71 / T4 Not yet scored Seen 2026-11-05
get_capabilities list_templates navigate_workspace open_template editor_inspect_video_moments
Inspect tools
agentdesk-demo.vercel.app

agentdesk-demo.vercel.app

Meridian Ops

live Unverified Productivity & Business Transact tools
83 tools A43 / Act24 / T16 Not yet scored Seen 2026-11-05
find_capabilities invoke_capability get_context get_action_status search_customers
Inspect tools
eworker.ca

eworker.ca

E-Worker is business infrastructure powered by AI, with focused apps and connected business work.

live Unverified Productivity & Business
73 tools A10 / Act63 / T0 Not yet scored Seen 2026-11-05
eworker_site_status eworker_list_apps eworker_resolve_app eworker_open_app ewdoc_status
Inspect tools

Related on Influzer