Skip to main content
Glama

Chart a series

chart
Read-onlyIdempotent

Turn rows you already fetched into a Vega-Lite drawing your chat window can render.

★ IT DRAWS; IT DOES NOT FETCH. Hand it the output of `query_dataset` — this tool never touches
the database, so it cannot bypass the `as_of` filter those rows were selected under. A plotting
tool that fetched its own numbers would be a second data path, and a second path eventually
disagrees with the first about what was knowable when.

★ GAPS BREAK THE LINE INSTEAD OF BEING BRIDGED. A missing value is emitted as null, so the
rendered line stops rather than sloping smoothly across a period where nothing was published.
The absent positions are also listed in `data_gaps`, because a break is easy to misread as a
flat stretch. Zero is never substituted — zero draws a real low point for something that never
happened.

★ THE DRAWING POINTS BACK AT THE PROOF. `citation` and `inclusion_pointer` travel with the
spec, so a picture and the rows behind it name the same published checkpoint.

⚠️ Rendering, not analysis. A shape you notice in a picture is not a forecast.
Args: rows, x_field, y_field, optional title and mark (line/point/bar/area).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
markNoline
rowsYes
titleNo
x_fieldYes
y_fieldYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses important behaviors: missing values emit null so the line breaks rather than bridging, zeros are never substituted, data_gaps lists absent positions, and citation/inclusion_pointer travel with the spec. It also explains the rationale, which helps an agent trust the behavior.

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

Conciseness5/5

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

The description is organized with clear headers, emoji emphasis, and each sentence earns its place. It front-loads the most important fact ('draws, does not fetch') before explaining edge-case behavior and output metadata.

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

Completeness5/5

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

For a rendering tool with an output schema, the description covers the input source, the critical null-gap behavior, the proof-tracking output fields, and the caveat that this is not analysis. Nothing essential to calling the tool correctly is missing.

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 0%, so the description must compensate. It names all five arguments and adds meaning to rows ('already fetched', output of query_dataset) and mark (allowed values), but x_field and y_field are left to be inferred from their names and the chart context. It is adequate but not fully detailed.

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?

The description leads with a specific verb-resource pair: 'Turn rows you already fetched into a Vega-Lite drawing' and immediately distinguishes itself with 'IT DRAWS; IT DOES NOT FETCH.' This clearly identifies the tool's core function and separates it from data-fetching siblings like query_dataset.

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

Usage Guidelines4/5

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

It explicitly says to hand it the output of query_dataset and explains why it never touches the database, which is strong guidance. It adds a when-not-to-use warning ('Rendering, not analysis'), though it does not name a specific alternative tool for analysis.

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.

TDQS

A4/5.0
Disambiguation4/5

The tools are largely distinct: querying, searching, backtesting, risk reads, alerts, memory, and audit functions each have clear homes. A few adjacent pairs (risk_read vs risk_assess, company_health_check vs positioning_read) could be confused, but the descriptions draw explicit boundaries.

Naming Consistency3/5

There are strong consistent clusters like list_*, get_*, run_*, and memory_*, but the *_read suffix alternates with noun-first names like company_health_check, and bare-verb tools like ask, calendar, chart, and screen break the pattern. The naming is readable but not uniform.

Tool Count2/5

Forty tools is well past the 25+ threshold and makes the surface heavy for an agent to navigate, even though the breadth reflects a genuinely wide platform. Several clusters could plausibly be consolidated without losing capability.

Completeness4/5

The tool surface covers the main lifecycle well: discovery, point-in-time querying, filings search and full text, backtesting, research, risk assessment, alerts, memory, approvals, and provenance verification. Minor gaps exist—no strategy management tools, no memory deletion, no bulk export—but agents can work around them.

Resources