Skip to main content
Glama

Generate Sankey Chart

generate_sankey_chart
Read-only

Generate a sankey chart to visualize the flow of data between different stages or categories, such as, the user journey from landing on a page to completing a purchase.

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": {
      "data": "<data>"
    },
    "name": "generate_sankey_chart"
  }
}

Input Schema

NameRequiredDescriptionDefault
dataYesDate for sankey chart, such as, [{ source: 'Landing Page', target: 'Product Page', value: 50000 }, { source: 'Product Page', target: 'Add to Cart', value: 35000 }, { source: 'Add to Cart', target: 'Checkout', value: 25000 }, { source: 'Checkout', target: 'Payment', value: 15000 }, { source: 'Payment', target: 'Purchase Completed', value: 8000 }].
styleNoStyle configuration for the chart with a JSON object, optional.
themeNoSet the theme for the chart, optional, default is 'default'.default
titleNoSet the title of chart.
widthNoSet the width of chart, default is 600.
heightNoSet the height of chart, default is 400.
nodeAlignNoAlignment of nodes in the sankey chart, such as, 'left', 'right', 'justify', or 'center'.center
brandThemeNoName of a brand theme saved on the user's account (their colours and footer), only when the user asks for their theme. Or "colorblind" for colours that people with colour-vision deficiency can tell apart (anyone can use it).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior3/5

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

readOnlyHint=true already declares this as a non-mutating operation, so the description is not required to carry the safety profile. What it omits is anything about the result: whether a chart artifact is rendered, returned as a URL, or registered as a version (with the sibling tools list_chart_versions / restore_chart_version implying such a lifecycle), and no output schema exists to fill that gap.

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?

A single sentence with the purpose front-loaded and an illustrative example attached; no waste or filler. It could have spent the same length on selection guidance instead of an example, but as written it is tight and readable.

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

Completeness3/5

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

For an 8-parameter tool with nested objects and no output schema, the description covers the concept but not the contract: the return value, whether the chart persists, and how it differs from other flow-oriented chart generators are all unstated. The rich schema compensates for input semantics, but the output side is left entirely to inference.

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 100%, including a worked example for the required `data` array and per-field docs for the nested style object, so the baseline of 3 applies. The description adds no parameter-level meaning beyond the schema — notably nothing about `brandTheme` usage constraints, which the schema itself already flags as only-on-user-request.

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

Purpose4/5

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

States a specific verb and resource ("Generate a sankey chart") and adds the defining semantic of the chart type: flow of data between stages or categories. This is enough for an agent to pick it over, say, generate_bar_chart. It stops short of naming the adjacent sibling (generate_funnel_chart), which also models stage-to-stage progression, so the boundary is inferable rather than explicit.

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?

The user-journey example gives an implied usage context (stage-to-stage volume flow), which is helpful for recognizing the right case. There is no explicit when-to-use/when-not guidance and no pointer to a preferred alternative for conversion-style data, so the agent must infer selection from the domain example alone.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources