Plantilla
Widget de gráfico de donut para MCP Apps
Cómo se reparte un total, dibujado como un donut animado con Chart.js. El modelo pasa etiquetas y valores; el widget suma el total y calcula cada porcentaje.
Usa Chart.js
¿Me desglosas el gasto del equipo del mes pasado por categoría?
Ha usado show_donut_chart
El de la casa: contorno negro, amarillo mantequilla y subrayado de rotulador en el título.
Los datos que recibe
| Campo | Tipo | Qué es |
|---|---|---|
| titleobligatorio | string | |
| subtitle | string | |
| unit | string | Shown under the total |
| segmentsobligatorio | object[] | |
| └ labelobligatorio | string | |
| └ valueobligatorio | number | |
| └ color | string | Any CSS color. Leave it out to use the design palette. |
Datos de ejemplo
{
"title": "Gasto por categoría",
"subtitle": "Septiembre de 2026",
"unit": "€ en total",
"segments": [
{
"label": "Software",
"value": 1840
},
{
"label": "Formación",
"value": 960
},
{
"label": "Viajes",
"value": 720
},
{
"label": "Equipos",
"value": 410
}
]
}La tool que lo muestra
Un widget hecho con esta plantilla se muestra con una tool. El modelo lee su descripción para decidir cuándo llamarla y rellena el esquema de entrada con los datos. Esta es la definición que exporta Widgetry:
{
"name": "show_donut_chart",
"title": "Donut",
"description": "Shows how a total splits into parts as a donut chart with a legend and the total in the middle. Use it for shares such as spending by category, traffic by source or time by project.",
"inputSchema": {
"type": "object",
"required": [
"title",
"segments"
],
"properties": {
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"unit": {
"type": "string",
"description": "Shown under the total"
},
"segments": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number",
"minimum": 0
},
"color": {
"type": "string",
"description": "Any CSS color. Leave it out to use the design palette."
}
}
}
}
}
}
}Más plantillas
- TableroColumnas con tarjetas, etiquetas, fechas y personas. Como un tablero de Trello.
- Tarjeta auroraUn anuncio destacado con titular, cifra y botón, que cada diseño viste a su manera.
- Globo 3DUn globo en WebGL con three.js que gira solo y se arrastra, con un punto por lugar.
- El tiempoEl tiempo de un lugar con iconos SVG animados y las próximas horas; cada diseño pinta su propio cielo.
- Anillos de progresoObjetivos como anillos SVG que se llenan al aparecer, con su porcentaje.
- Gráfico de áreaUna serie en el tiempo como curva SVG con relleno degradado que se dibuja al entrar.
- Carrusel 3DTarjetas en un anillo que gira en 3D con perspectiva CSS. Se para al pasar el ratón.
- Cuenta atrásDías, horas, minutos y segundos hasta un evento, que cambian en vivo con un pequeño salto.
- HitosCifras que cuentan desde cero y entran en cascada, animadas con GSAP.
- IndicadoresUna fila de cifras clave con su variación frente al periodo anterior.
- Gráfico de barrasBarras horizontales con su valor, ordenadas como lleguen.
- TablaFilas y columnas con cabecera fija; las columnas las decide quien llama.