Skip to main content
Glama
YouTube Studio MCP

YouTube Studio MCP

by nelsonrogers

Create chart

create_chart
Idempotent

Render media-kit-ready PNG, SVG or PDF charts from your analytics numbers with colour-blind-safe palettes, clean axes and direct value labels. Returns saved file paths and a preview image.

Instructions

Render a polished, media-kit-ready chart (PNG, SVG or PDF) from data you provide — typically numbers from the analytics tools. Uses a colour-blind-safe palette by default, thin marks, clean axes and direct value labels. Returns the saved file path(s) and a preview image.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "chart_type": "<chart_type>",
      "labels": "<labels>",
      "series": "<series>",
      "title": "<title>"
    },
    "name": "create_chart"
  }
}

Input Schema

NameRequiredDescriptionDefault
themeNoLight or dark background.light
titleYesChart title (the headline).
widthNoWidth in pixels.
y_maxNoForce the value-axis maximum.
y_minNoForce the value-axis minimum.
colorsNoBrand colours as hex, used in order for series (or donut slices).
heightNoHeight in pixels.
labelsYesX-axis categories or dates. ISO dates (YYYY-MM-DD, YYYY-MM, YYYY) get smart date ticks.
seriesYes1-8 data series.
x_labelNo
y_labelNo
filenameNoWhere to save. Bare names go to the output directory; absolute paths allowed. The extension (.png/.svg/.pdf) picks the format. Default: <title>-<timestamp>.png.
subtitleNoSmaller line under the title, e.g. the period.
highlightNoFor a single-series bar chart: the label to emphasise; other bars are muted.
chart_typeYesline/area: trends over time. bar: compare categories (multiple series = grouped). horizontal_bar: ranked lists with long labels (countries, videos, traffic sources). stacked_bar: parts of a total per category. donut: share of one whole (max 6 slices).
font_familyNoInstalled font name, e.g. 'Montserrat'. Falls back if missing.
show_valuesNoValue labels: auto (bars when few, line end points), all, last, or none.auto
source_noteNoFootnote, e.g. 'Source: YouTube Analytics, Aug–Oct 2026'.
value_formatNoHow numbers print: compact (12.3K), percent (values already 0-100), duration (values in seconds -> m:ss), currency, number, or auto.auto
extra_formatsNoAlso save these formats next to the main file, e.g. ['svg'] for print.
currency_symbolNo$
include_previewNoReturn a small PNG preview so you can check the chart visually.
transparent_backgroundNoTransparent PNG/SVG background for placing on designed pages.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-read-only, idempotent, non-destructive, so the safety profile is covered; the description adds real value on top by disclosing that files are written to disk, that the extension determines the format, that default filenames follow <title>-<timestamp>.png, and that a preview image is returned. It also states the default visual policy (colour-blind-safe palette, thin marks, direct value labels), which tells the agent what it gets without extra parameters. Minor gaps: no mention of failure modes (bad font, unwritable path) or overwrite behaviour when a filename collides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with the core action and output formats before the stylistic defaults and return values. Marketing-ish adjectives ("polished", "media-kit-ready") are slightly expendable, but the rest earns its place by conveying defaults an agent would otherwise have to guess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 23 parameters and no output schema, the description does the important compensating work by stating exactly what is returned (saved file path(s) plus a preview image). Constraints like the 8-series cap and 6-slice donut limit live in the schema, so their absence here is acceptable, though a note on data-shape requirements would have closed the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 87%, so nearly every one of the 23 parameters is already self-documenting, including the chart_type enum guidance and value_format semantics. The description adds no parameter-level meaning beyond the schema — nothing about how labels/series lengths must align or how colours interact with the default palette — so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (render) plus the resource (chart) and the output formats (PNG, SVG, PDF), and makes clear it consumes data supplied by the caller rather than fetching it. That distinguishes it cleanly from the analytics siblings such as query_analytics or get_metrics_over_time, which produce the numbers this tool draws.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Typically numbers from the analytics tools" implies the upstream workflow, so an agent can infer it should call this after gathering metrics. However, there is no explicit when-to-use/when-not statement and no named alternative or prerequisite (e.g. required data shape, minimum series count), leaving routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.