← WebMCP Directory

adaptive-interfaces.ahenselin.chatgpt.site

adaptive-interfaces.ahenselin.chatgpt.site

live Unverified (seed import) Commerce 20 tools imperative implementation

Explore three WebMCP demos that adapt familiar interfaces to user intent, context, and conversation.

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

Answer 4 · Act 16 · Transact 0 · Score: Not yet scored

Tool inspector

create_report

act imperative

Use for every request that asks for an answer, calculation, analysis, ranking, comparison, summary, table, chart, or narrative from the Steam product catalog or customer engagement data, even when the user does not say report or save. This is the reporting interface for all data-derived content and places the result inline. Choose exactly one presentation mode. Mixed means one headline metric plus one supporting chart and never includes a table; create separate reports or tabs when both a chart and table are needed. Requires a user-confirmed name and role plus a company candidate explicitly selected by the user. Use role and company context to tailor priorities and framing, and use quarter width for a row of four compact KPIs.

Page: /builder

Input schema

PropertyTypeRequiredDescription
title string yes —
description string no —
span string no Choose full for primary or dense content, half for paired peers, third for three-up summaries, or quarter for four compact KPIs.
data — yes —
presentation object yes Choose exactly one presentation mode. Metric renders one headline value; table renders rows; chart renders one visualization; narrative renders one written finding; mixed renders exactly one headline metric and one supporting chart. Mixed is not a generic combination and never renders a table.
openInBrowser boolean no —
Raw JSON schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 100
    },
    "description": {
      "type": "string",
      "maxLength": 220
    },
    "span": {
      "type": "string",
      "enum": [
        "full",
        "half",
        "third",
        "quarter"
      ],
      "description": "Choose full for primary or dense content, half for paired peers, third for three-up summaries, or quarter for four compact KPIs."
    },
    "data": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "source": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "name": {
                  "type": "string",
                  "const": "steam_catalog"
                },
                "filters": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "query": {
                      "type": "string",
                      "maxLength": 120
                    },
                    "ownerBand": {
                      "type": "string",
                      "enum": [
                        "All owner ranges",
                        "100,000,000 .. 200,000,000",
                        "50,000,000 .. 100,000,000",
                        "20,000,000 .. 50,000,000",
                        "10,000,000 .. 20,000,000",
                        "5,000,000 .. 10,000,000",
                        "2,000,000 .. 5,000,000",
                        "1,000,000 .. 2,000,000",
                        "500,000 .. 1,000,000",
                        "200,000 .. 500,000",
                        "100,000 .. 200,000",
                        "50,000 .. 100,000",
                        "20,000 .. 50,000",
                        "0 .. 20,000",
                        "0 .. 0"
                      ]
                    },
                    "priceBand": {
                      "type": "string",
                      "enum": [
                        "All prices",
                        "Free",
                        "Under $10",
                        "$10–$29.99",
                        "$30–$59.99",
                        "$60+"
                      ]
                    },
                    "minPositiveRatio": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    "minCcu": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "genres": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 80
                      }
                    },
                    "tags": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 80
                      }
                    },
                    "categories": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 80
                      }
                    }
                  },
                  "required": [
                    "query",
                    "ownerBand",
                    "priceBand",
                    "minPositiveRatio",
                    "minCcu",
                    "genres",
                    "tags",
                    "categories"
                  ]
                }
              },
              "required": [
                "name",
                "filters"
              ]
            },
            "pipeline": {
              "type": "array",
              "maxItems": 12,
              "items": {
                "oneOf": [
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "explode"
                      },
                      "field": {
                        "enum": [
                          "genres",
                          "tags",
                          "categories",
                          "developers",
                          "publishers",
                          "languages"
                        ]
                      },
                      "as": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      }
                    },
                    "required": [
                      "operation",
                      "field",
                      "as"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "groupBy"
                      },
                      "fields": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 4,
                        "items": {
                          "type": "string",
                          "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "fields"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "aggregate"
                      },
                      "measures": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 12,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "function": {
                              "enum": [
                                "count",
                                "valid",
                                "distinct",
                                "sum",
                                "mean",
                                "median",
                                "min",
                                "max",
                                "quantile",
                                "stdev",
                                "variance",
                                "corr"
                              ]
                            },
                            "field": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "field2": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "parameter": {
                              "type": "number",
                              "minimum": 0,
                              "maximum": 1
                            },
                            "as": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            }
                          },
                          "required": [
                            "function",
                            "as"
                          ]
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "measures"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "window"
                      },
                      "partitionBy": {
                        "type": "array",
                        "maxItems": 4,
                        "items": {
                          "type": "string",
                          "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                        }
                      },
                      "sortBy": {
                        "type": "array",
                        "maxItems": 4,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "field": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "direction": {
                              "type": "string",
                              "enum": [
                                "ascending",
                                "descending"
                              ]
                            }
                          },
                          "required": [
                            "field",
                            "direction"
                          ]
                        }
                      },
                      "measures": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 12,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "function": {
                              "enum": [
                                "rowNumber",
                                "rank",
                                "denseRank",
                                "percentRank",
                                "mean",
                                "sum",
                                "median",
                                "stdev",
                                "lag",
                                "lead"
                              ]
                            },
                            "field": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "offset": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 100
                            },
                            "frame": {
                              "enum": [
                                "partition",
                                "cumulative",
                                "rolling"
                              ]
                            },
                            "rows": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 100
                            },
                            "as": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            }
                          },
                          "required": [
                            "function",
                            "as"
                          ]
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "partitionBy",
                      "sortBy",
                      "measures"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "calculate"
                      },
                      "as": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      },
                      "operator": {
                        "enum": [
                          "add",
                          "subtract",
                          "multiply",
                          "divide"
                        ]
                      },
                      "left": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      },
                      "right": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "field": {
                            "type": "string",
                            "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                          },
                          "value": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "as",
                      "operator",
                      "left",
                      "right"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "filter"
                      },
                      "field": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      },
                      "operator": {
                        "enum": [
                          "equal",
                          "notEqual",
                          "greaterThan",
                          "greaterOrEqual",
                          "lessThan",
                          "lessOrEqual",
                          "in"
                        ]
                      },
                      "value": {}
                    },
                    "required": [
                      "operation",
                      "field",
                      "operator",
                      "value"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "sort"
                      },
                      "fields": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 4,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "field": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "direction": {
                              "type": "string",
                              "enum": [
                                "ascending",
                                "descending"
                              ]
                            }
                          },
                          "required": [
                            "field",
                            "direction"
                          ]
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "fields"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "limit"
                      },
                      "count": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 2000
                      }
                    },
                    "required": [
                      "operation",
                      "count"
                    ]
                  }
                ]
              }
            },
            "resultLimit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 2000
            }
          },
          "required": [
            "source",
            "pipeline",
            "resultLimit"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "source": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "name": {
                  "type": "string",
                  "const": "customer_engagement"
                },
                "view": {
                  "type": "string",
                  "enum": [
                    "sessions",
                    "funnel"
                  ]
                },
                "inheritPageFilters": {
                  "type": "boolean",
                  "default": true
                },
                "filters": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "dateFrom": {
                      "type": "string",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                    },
                    "dateTo": {
                      "type": "string",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                    },
                    "shops": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "string",
                        "maxLength": 80
                      }
                    },
                    "suppliers": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "string",
                        "maxLength": 80
                      }
                    },
                    "productCategories": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "string",
                        "maxLength": 80
                      }
                    },
                    "brands": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "string",
                        "maxLength": 80
                      }
                    },
                    "productClasses": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "string",
                        "maxLength": 80
                      }
                    },
                    "sexes": {
                      "type": "array",
                      "maxItems": 4,
                      "items": {
                        "type": "string",
                        "enum": [
                          "Female",
                          "Male",
                          "Non-binary",
                          "Undisclosed"
                        ]
                      }
                    },
                    "customerTypes": {
                      "type": "array",
                      "maxItems": 3,
                      "items": {
                        "type": "string",
                        "enum": [
                          "New",
                          "Returning",
                          "Loyal"
                        ]
                      }
                    },
                    "devices": {
                      "type": "array",
                      "maxItems": 3,
                      "items": {
                        "type": "string",
                        "enum": [
                          "Desktop",
                          "Mobile",
                          "Tablet"
                        ]
                      }
                    }
                  },
                  "required": [
                    "dateFrom",
                    "dateTo",
                    "shops",
                    "suppliers",
                    "productCategories",
                    "brands",
                    "productClasses",
                    "sexes",
                    "customerTypes",
                    "devices"
                  ]
                }
              },
              "required": [
                "name",
                "view",
                "filters"
              ]
            },
            "pipeline": {
              "type": "array",
              "maxItems": 12,
              "items": {
                "oneOf": [
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "groupBy"
                      },
                      "fields": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 4,
                        "items": {
                          "type": "string",
                          "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "fields"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "aggregate"
                      },
                      "measures": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 12,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "function": {
                              "enum": [
                                "count",
                                "valid",
                                "distinct",
                                "sum",
                                "mean",
                                "median",
                                "min",
                                "max",
                                "quantile",
                                "stdev",
                                "variance",
                                "corr"
                              ]
                            },
                            "field": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "field2": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "parameter": {
                              "type": "number",
                              "minimum": 0,
                              "maximum": 1
                            },
                            "as": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            }
                          },
                          "required": [
                            "function",
                            "as"
                          ]
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "measures"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "window"
                      },
                      "partitionBy": {
                        "type": "array",
                        "maxItems": 4,
                        "items": {
                          "type": "string",
                          "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                        }
                      },
                      "sortBy": {
                        "type": "array",
                        "maxItems": 4,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "field": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "direction": {
                              "type": "string",
                              "enum": [
                                "ascending",
                                "descending"
                              ]
                            }
                          },
                          "required": [
                            "field",
                            "direction"
                          ]
                        }
                      },
                      "measures": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 12,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "function": {
                              "enum": [
                                "rowNumber",
                                "rank",
                                "denseRank",
                                "percentRank",
                                "mean",
                                "sum",
                                "median",
                                "stdev",
                                "lag",
                                "lead"
                              ]
                            },
                            "field": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "offset": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 100
                            },
                            "frame": {
                              "enum": [
                                "partition",
                                "cumulative",
                                "rolling"
                              ]
                            },
                            "rows": {
                              "type": "integer",
                              "minimum": 1,
                              "maximum": 100
                            },
                            "as": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            }
                          },
                          "required": [
                            "function",
                            "as"
                          ]
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "partitionBy",
                      "sortBy",
                      "measures"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "calculate"
                      },
                      "as": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      },
                      "operator": {
                        "enum": [
                          "add",
                          "subtract",
                          "multiply",
                          "divide"
                        ]
                      },
                      "left": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      },
                      "right": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "field": {
                            "type": "string",
                            "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                          },
                          "value": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "as",
                      "operator",
                      "left",
                      "right"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "filter"
                      },
                      "field": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      },
                      "operator": {
                        "enum": [
                          "equal",
                          "notEqual",
                          "greaterThan",
                          "greaterOrEqual",
                          "lessThan",
                          "lessOrEqual",
                          "in"
                        ]
                      },
                      "value": {}
                    },
                    "required": [
                      "operation",
                      "field",
                      "operator",
                      "value"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "sort"
                      },
                      "fields": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 4,
                        "items": {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "field": {
                              "type": "string",
                              "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                            },
                            "direction": {
                              "type": "string",
                              "enum": [
                                "ascending",
                                "descending"
                              ]
                            }
                          },
                          "required": [
                            "field",
                            "direction"
                          ]
                        }
                      }
                    },
                    "required": [
                      "operation",
                      "fields"
                    ]
                  },
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "operation": {
                        "const": "limit"
                      },
                      "count": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 2000
                      }
                    },
                    "required": [
                      "operation",
                      "count"
                    ]
                  }
                ]
              }
            },
            "resultLimit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 2000
            }
          },
          "required": [
            "source",
            "pipeline",
            "resultLimit"
          ]
        }
      ]
    },
    "presentation": {
      "type": "object",
      "description": "Choose exactly one presentation mode. Metric renders one headline value; table renders rows; chart renders one visualization; narrative renders one written finding; mixed renders exactly one headline metric and one supporting chart. Mixed is not a generic combination and never renders a table.",
      "oneOf": [
        {
          "title": "Metric report",
          "description": "Renders exactly one headline metric and no chart or table.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "mode": {
              "type": "string",
              "const": "metric"
            },
            "metric": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "valueField": {
                  "type": "string",
                  "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 80
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "number",
                    "integer",
                    "compact",
                    "currencyCents",
                    "percent",
                    "minutes",
                    "year"
                  ],
                  "description": "Use year for calendar-year fields. releaseYear always renders as a year when this is omitted or set to a generic numeric format."
                },
                "context": {
                  "type": "string",
                  "maxLength": 180
                }
              },
              "required": [
                "valueField",
                "label"
              ]
            }
          },
          "required": [
            "mode",
            "metric"
          ]
        },
        {
          "title": "Table report",
          "description": "Renders rows as a table and no headline metric or chart.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "mode": {
              "type": "string",
              "const": "table"
            },
            "table": {
              "type": "object",
              "additionalProperties": false,
              "description": "Columns rendered in a table report.",
              "properties": {
                "columns": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 8,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "field": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      },
                      "label": {
                        "type": "string",
                        "maxLength": 60
                      },
                      "format": {
                        "type": "string",
                        "enum": [
                          "number",
                          "integer",
                          "compact",
                          "currencyCents",
                          "percent",
                          "minutes",
                          "year"
                        ],
                        "description": "Use year for calendar-year fields. releaseYear always renders as a year when this is omitted or set to a generic numeric format."
                      }
                    },
                    "required": [
                      "field",
                      "label"
                    ]
                  }
                }
              },
              "required": [
                "columns"
              ]
            }
          },
          "required": [
            "mode",
            "table"
          ]
        },
        {
          "title": "Chart report",
          "description": "Renders exactly one chart and no headline metric or table.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "mode": {
              "type": "string",
              "const": "chart"
            },
            "visualization": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "renderer": {
                  "type": "string",
                  "const": "plotly"
                },
                "traces": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 12,
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "bar",
                          "scatter",
                          "pie",
                          "heatmap",
                          "histogram",
                          "box",
                          "violin",
                          "treemap",
                          "sunburst",
                          "funnel"
                        ]
                      },
                      "name": {
                        "type": "string"
                      },
                      "x": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "y": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "labels": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "values": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "mode": {
                        "type": "string"
                      },
                      "orientation": {
                        "type": "string",
                        "enum": [
                          "h",
                          "v"
                        ]
                      },
                      "hole": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 0.9
                      },
                      "marker": {
                        "type": "object",
                        "additionalProperties": true
                      },
                      "line": {
                        "type": "object",
                        "additionalProperties": true
                      },
                      "text": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "hovertemplate": {
                        "type": "string"
                      }
                    }
                  }
                },
                "layout": {
                  "type": "object",
                  "additionalProperties": true
                },
                "encoding": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "x": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "y": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "labels": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "values": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "text": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "series": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "hover": {
                      "type": "array",
                      "maxItems": 8,
                      "items": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      }
                    }
                  },
                  "required": [
                    "hover"
                  ]
                }
              },
              "required": [
                "renderer",
                "traces",
                "encoding"
              ]
            }
          },
          "required": [
            "mode",
            "visualization"
          ]
        },
        {
          "title": "Narrative report",
          "description": "Renders one concise written finding and no metric, table, or chart.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "mode": {
              "type": "string",
              "const": "narrative"
            },
            "narrative": {
              "type": "object",
              "additionalProperties": false,
              "description": "The concise finding rendered by a narrative report.",
              "properties": {
                "body": {
                  "type": "string",
                  "maxLength": 800
                }
              },
              "required": [
                "body"
              ]
            }
          },
          "required": [
            "mode",
            "narrative"
          ]
        },
        {
          "title": "Metric with chart report",
          "description": "Renders exactly one headline metric followed by one supporting chart. It never renders a table; create a separate table report or use tabs when tabular detail is needed.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "mode": {
              "type": "string",
              "const": "mixed"
            },
            "metric": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "valueField": {
                  "type": "string",
                  "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                },
                "label": {
                  "type": "string",
                  "maxLength": 80
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "number",
                    "integer",
                    "compact",
                    "currencyCents",
                    "percent",
                    "minutes",
                    "year"
                  ],
                  "description": "Use year for calendar-year fields. releaseYear always renders as a year when this is omitted or set to a generic numeric format."
                },
                "context": {
                  "type": "string",
                  "maxLength": 180
                }
              },
              "required": [
                "valueField",
                "label"
              ]
            },
            "visualization": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "renderer": {
                  "type": "string",
                  "const": "plotly"
                },
                "traces": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 12,
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "bar",
                          "scatter",
                          "pie",
                          "heatmap",
                          "histogram",
                          "box",
                          "violin",
                          "treemap",
                          "sunburst",
                          "funnel"
                        ]
                      },
                      "name": {
                        "type": "string"
                      },
                      "x": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "y": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "labels": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "values": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "mode": {
                        "type": "string"
                      },
                      "orientation": {
                        "type": "string",
                        "enum": [
                          "h",
                          "v"
                        ]
                      },
                      "hole": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 0.9
                      },
                      "marker": {
                        "type": "object",
                        "additionalProperties": true
                      },
                      "line": {
                        "type": "object",
                        "additionalProperties": true
                      },
                      "text": {
                        "type": "array",
                        "maxItems": 2000,
                        "items": {}
                      },
                      "hovertemplate": {
                        "type": "string"
                      }
                    }
                  }
                },
                "layout": {
                  "type": "object",
                  "additionalProperties": true
                },
                "encoding": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "x": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "y": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "labels": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "values": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "text": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "series": {
                      "type": "string",
                      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                    },
                    "hover": {
                      "type": "array",
                      "maxItems": 8,
                      "items": {
                        "type": "string",
                        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
                      }
                    }
                  },
                  "required": [
                    "hover"
                  ]
                }
              },
              "required": [
                "renderer",
                "traces",
                "encoding"
              ]
            }
          },
          "required": [
            "mode",
            "metric",
            "visualization"
          ]
        }
      ]
    },
    "openInBrowser": {
      "type": "boolean",
      "default": true
    }
  },
  "required": [
    "title",
    "data",
    "presentation"
  ]
}

Similar websites

cleardose-webmcp-demo.netlify.app

cleardose-webmcp-demo.netlify.app

See the ClearDose WebMCP use case, shared Vue and Pinia architecture, demo workflow, source repository, and submission readiness.

live Unverified Commerce Transact tools
78 tools A36 / Act41 / T1 Not yet scored Seen 2026-11-05
search_medications get_medication_details compare_fulfillment_options select_medication_option create_prescription_request_card
Inspect tools
4over4.com

4over4.com

4OVER4.COM prints 1,000+ custom products on 60+ paper stocks in Queens, with same-day shipping on most orders and 150,000+ businesses served since 1999.

live Unverified Commerce Transact tools
73 tools A24 / Act48 / T1 Not yet scored Seen 2026-11-05
go_to_product go_to_category go_home search_site open_ai_mode
Inspect tools
camdentools.com

camdentools.com

Construction tools and equipment

live Unverified Commerce
50 tools A36 / Act14 / T0 Not yet scored Seen 2026-11-05
cart_add_item cart_apply_promo cart_clear cart_get cart_remove_item
Inspect tools
autolab.run

autolab.run

Super intelligence for car lovers. A WebMCP vehicle configurator, an agentic owner's guide with a live digital twin, and the 3D creation engine that measures th…

live Unverified Commerce
49 tools A19 / Act30 / T0 Not yet scored Seen 2026-11-05
list_autolab_experiences get_autolab_overview open_autolab_experience get_vehicle_configuration list_vehicle_configuration_options
Inspect tools

Related on Influzer