Skip to main content
Glama

List diagram versions

list_versions
Read-onlyIdempotent

Retrieve a diagram's saved versions in reverse chronological order, with each version's source commit and change size. Pass a version timestamp to get_delta to inspect what changed.

Instructions

List the saved versions of a diagram (one per re-parse, newest first) with the commit each came from and how much it changed. Pass a version's timestamp to get_delta to see what it changed. Version history is a Pro feature.

Input Schema

NameRequiredDescriptionDefault
graphIdYesThe diagram's graphId, as list_diagrams or get_diagram returns it. The id start_parse returned also works.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.2

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavior: result ordering (newest first), granularity (one version per re-parse), included metadata, and a plan-entitlement restriction (Pro feature) that could cause an otherwise valid call to fail. Pagination or result-count limits are not mentioned, keeping it short of a 5.

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?

Three compact sentences, with the core behavior and result shape front-loaded and the sibling handoff immediately after. Every clause carries information — ordering, granularity, returned metadata, next-step routing, and entitlement caveat — with no filler.

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?

There is no output schema, so the description must convey return content; it does so by naming the commit origin and change magnitude and by specifying newest-first ordering. Combined with the annotations, an agent has enough to call it correctly. Minor omissions are pagination behavior and any cap on the number of versions returned.

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% and the single graphId parameter is already well documented, including where to obtain the value, in the schema itself. The description adds no input-parameter meaning; its reference to `timestamp` concerns an output field consumed by get_delta rather than an input. Baseline 3 applies when the schema carries this load.

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 states a specific verb and resource ("List the saved versions of a diagram") and qualifies the result set with meaningful scope: one entry per re-parse, newest first. It even names the payload fields (originating commit and change magnitude), which lets an agent distinguish this from siblings like get_diagram_source or get_delta without inspecting schemas.

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 routes the agent forward: "Pass a version's `timestamp` to get_delta to see what it changed," which names the alternative and the condition selecting it. It also surfaces the Pro-feature prerequisite, an important gating condition. It stops short of stating when not to call it (e.g., when version history is unavailable on the current plan, or for the current working state).

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