Reporting agents
The weekly summary that people actually open
An agent that already writes the Monday update can put the number beside the prose. One call per chart, dropped into the email or the Slack post as an image.
"type": "line"Use cases
Almost every caller here is an agent or a pipeline that already knows the answer and needs to show it. One call turns the rows it is holding into a picture the recipient understands at a glance.
Reporting agents
An agent that already writes the Monday update can put the number beside the prose. One call per chart, dropped into the email or the Slack post as an image.
"type": "line"Analytics copilots
A copilot returns a table today. The same rows become a bar chart the reader understands in a second — and the table still ships alongside it, in the response.
"type": "bar"Ops and monitoring
Latency crossed a threshold. Render the last hour as an area chart and attach it to the page — the on-call engineer sees whether it is a spike or a slope before opening a dashboard.
"type": "area"Finance and BI workflows
Quarterly revenue by product line as a stacked bar, in the brand theme, at exactly 1600 × 900 for the deck. Same call every quarter, new numbers.
"theme": "brand"Research and scraping pipelines
A crawler ends with a list of counts. One more call and the run produces a ranked horizontal bar chart that a human can skim instead of a CSV nobody opens.
"type": "horizontalBar"Product and support
Embed a rendered image where a chart library would need a client bundle, a render pass and a theme. Post the numbers, get a URL, put it in an img tag.
"format": "png"The commonest mistake is choosing a chart type first and bending the data into it. Start from what the numbers have to say.
Rendered when this page loaded, by the same code your API call runs.
barComparing a magnitude across a handful of named things.lineChange over time, where the shape of the trend is the point.areaA single accumulating quantity read against its zero baseline.stackedBarA total AND its composition, when both matter.horizontalBarRanking things whose names are too long for an x axis.donutParts of one whole, when there are few enough parts to compare.pieThe same job as a donut, without a total in the middle.scatterWhether two measures move together at all.Wire it into whatever already has your numbers — REST, MCP, or a keyless x402 call.
Read the docs