144 lines
6.4 KiB
JSON
144 lines
6.4 KiB
JSON
[
|
|
{
|
|
"name": "render_data_viz",
|
|
"description": "Render data visualization resources. Use the `uri` field to specify the visualization type, and pass all parameters in the `data` object. All charts use ECharts library.\n\nSupported URIs:\n- `ui://data-dashboard/metrics` — Metric card dashboard. data: {title, metrics: [{label, value, change?, change_type?}]}\n- `ui://data-dashboard/chart` — Single chart. data: {title, chart_type, data: {categories?, series}, width?, height?, stacked?, smooth?, show_label?, theme?}\n- `ui://data-dashboard/multi-chart` — Multiple charts in grid. data: {title, charts: [{title, chart_type, data, height?, stacked?, smooth?, show_label?}], columns?, theme?}",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uri": {
|
|
"type": "string",
|
|
"enum": ["ui://data-dashboard/metrics", "ui://data-dashboard/chart", "ui://data-dashboard/multi-chart"],
|
|
"description": "Resource URI that determines the visualization type"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"description": "Parameters for the specified URI. Structure depends on uri:\n- metrics: {title, metrics: [{label, value, change?, change_type?}]}\n- chart: {title, chart_type, data: {categories?, series}, width?, height?, stacked?, smooth?, show_label?, theme?}\n- multi-chart: {title, charts: [{title, chart_type, data, height?, stacked?, smooth?, show_label?}], columns?, theme?}",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "Title displayed at the top of the visualization"
|
|
},
|
|
"metrics": {
|
|
"type": "array",
|
|
"description": "[uri=metrics] Array of metric objects to display as cards",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"label": { "type": "string", "description": "Metric name" },
|
|
"value": { "type": "string", "description": "Metric value" },
|
|
"change": { "type": "string", "description": "Change indicator, e.g. '+12.5%'" },
|
|
"change_type": { "type": "string", "enum": ["up", "down", "neutral"], "description": "Direction of change" }
|
|
},
|
|
"required": ["label", "value"]
|
|
}
|
|
},
|
|
"chart_type": {
|
|
"type": "string",
|
|
"enum": ["line", "bar", "pie", "radar", "scatter", "gauge"],
|
|
"description": "[uri=chart] Type of chart to render"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"description": "[uri=chart] Chart data object",
|
|
"properties": {
|
|
"categories": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "X-axis labels (for line, bar, radar)"
|
|
},
|
|
"series": {
|
|
"type": "array",
|
|
"description": "Array of data series",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": { "type": "string", "description": "Series name" },
|
|
"data": { "type": "array", "description": "Data values" }
|
|
},
|
|
"required": ["name", "data"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["series"]
|
|
},
|
|
"width": {
|
|
"type": "string",
|
|
"description": "[uri=chart] CSS width. Default: '100%'",
|
|
"default": "100%"
|
|
},
|
|
"height": {
|
|
"type": "string",
|
|
"description": "[uri=chart] CSS height. Default: '400px'",
|
|
"default": "400px"
|
|
},
|
|
"stacked": {
|
|
"type": "boolean",
|
|
"description": "[uri=chart] Stack series (line/bar). Default: false",
|
|
"default": false
|
|
},
|
|
"smooth": {
|
|
"type": "boolean",
|
|
"description": "[uri=chart] Smooth curves (line). Default: false",
|
|
"default": false
|
|
},
|
|
"show_label": {
|
|
"type": "boolean",
|
|
"description": "[uri=chart] Show data labels. Default: false",
|
|
"default": false
|
|
},
|
|
"theme": {
|
|
"type": "string",
|
|
"enum": ["light", "dark"],
|
|
"description": "Color theme. Default: 'light'",
|
|
"default": "light"
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"description": "[uri=multi-chart] Grid columns (1-4). Default: 2",
|
|
"default": 2,
|
|
"minimum": 1,
|
|
"maximum": 4
|
|
},
|
|
"charts": {
|
|
"type": "array",
|
|
"description": "[uri=multi-chart] Array of chart objects",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": { "type": "string", "description": "Chart title" },
|
|
"chart_type": { "type": "string", "enum": ["line", "bar", "pie", "radar", "scatter", "gauge"], "description": "Type of chart" },
|
|
"data": {
|
|
"type": "object",
|
|
"description": "Chart data",
|
|
"properties": {
|
|
"categories": { "type": "array", "items": { "type": "string" } },
|
|
"series": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": { "type": "string" },
|
|
"data": { "type": "array" }
|
|
},
|
|
"required": ["name", "data"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["series"]
|
|
},
|
|
"height": { "type": "string", "default": "350px" },
|
|
"stacked": { "type": "boolean", "default": false },
|
|
"smooth": { "type": "boolean", "default": false },
|
|
"show_label": { "type": "boolean", "default": false }
|
|
},
|
|
"required": ["title", "chart_type", "data"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["uri", "data"]
|
|
}
|
|
}
|
|
]
|