Skip to main content
Glama

list_versions

Read-only

Lists the saved versions of the schema, MOST RECENT FIRST. Serves to find the version number to restore. The response carries total (the EXACT number of versions, not the size of the page) and hasMore: an active project holds hundreds, so the last row returned is not the end of the history. Pagination goes through offset/limit (default 50, max 200). ⚠️ To FIND a named version (a restore point such as Synchro …, a milestone), query filters on the LABEL across the WHOLE history, not only within the page — it is the only way to reach an old version without paging through. If the response carries indexUnavailable, the list comes from a capped fallback without total: it does not prove that a version does not exist.

Input Schema

NameRequiredDescriptionDefault
limitNoNumber of versions to return (default 50, maximum 200).
queryNoFilter on the LABEL of the version (substring, case-insensitive). Searches the WHOLE history, not only the page — it is the way to find a named restore point (e.g. `Synchro …`) beyond the latest versions. It does not apply to the CONTENT of the schema.
offsetNoOffset from the MOST RECENT version (0 = the latest). `total`/`hasMore` in the response say what is left to browse of the history.
_unusedNo
expectedProjectIdNoUUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / expectedProjectId / description
      Previous value: -"UUID du projet visé par CET appel. Cible RÉELLEMENT ce projet au lieu du projet de session. Refusé sans rien modifier si l'accès n'est pas accordé."New value: +"UUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted."
    • changedInput schema / properties / limit / description
      Previous value: -"Nombre de versions à rendre (défaut 50, maximum 200)."New value: +"Number of versions to return (default 50, maximum 200)."
    • changedInput schema / properties / offset / description
      Previous value: -"Décalage depuis la version la PLUS RÉCENTE (0 = la dernière). `total`/`hasMore` de la réponse disent ce qui reste à parcourir de l'historique."New value: +"Offset from the MOST RECENT version (0 = the latest). `total`/`hasMore` in the response say what is left to browse of the history."
    • changedInput schema / properties / query / description
      Previous value: -"Filtre sur le LIBELLÉ de la version (sous-chaîne, insensible à la casse). Cherche dans TOUT l'historique, pas seulement dans la page — c'est la façon de retrouver un point de reprise nommé (« Synchro … ») au-delà des dernières versions. Ne porte jamais sur le CONTENU du schéma."New value: +"Filter on the LABEL of the version (substring, case-insensitive). Searches the WHOLE history, not only the page — it is the way to find a named restore point (e.g. `Synchro …`) beyond the latest versions. It does not apply to the CONTENT of the schema."
  2. Changed2 schema fields changed
    • changedInput schema / properties / offset / description
      Previous value: -"Décalage depuis la version la PLUS RÉCENTE (0 = la dernière). Combiner avec `total`/`hasMore` de la réponse pour parcourir tout l'historique."New value: +"Décalage depuis la version la PLUS RÉCENTE (0 = la dernière). `total`/`hasMore` de la réponse disent ce qui reste à parcourir de l'historique."
    • changedInput schema / properties / query / description
      Previous value: -"Filtre sur le LIBELLÉ de la version (sous-chaîne, insensible à la casse). Cherche dans TOUT l'historique, pas seulement dans la page — c'est la façon de retrouver un point de reprise nommé (« Synchro … ») au-delà des dernières versions. Ne cherche jamais dans le CONTENU du schéma."New value: +"Filtre sur le LIBELLÉ de la version (sous-chaîne, insensible à la casse). Cherche dans TOUT l'historique, pas seulement dans la page — c'est la façon de retrouver un point de reprise nommé (« Synchro … ») au-delà des dernières versions. Ne porte jamais sur le CONTENU du schéma."
  3. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With annotations already declaring readOnlyHint=true and openWorldHint=false, the description adds substantial behavioral context beyond them: exact `total` vs page size, `hasMore`, default/max pagination values, query behavior across the whole history, and the `indexUnavailable` fallback caveat. This is unusually transparent for a read-only listing tool.

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 dense but front-loaded: the core action and ordering come first, followed by response and pagination details, then the high-value `query` and fallback warnings. Every sentence carries operational value, and the warning structure makes the caveats easy to scan.

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?

There is no output schema, so the description appropriately explains the response fields `total`, `hasMore`, and `indexUnavailable`. Together with pagination, query scope, and the restore-oriented use case, it gives an agent enough context to invoke and interpret this listing tool correctly.

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

Parameters4/5

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

Schema coverage is already 80%, so the schema documents most parameters. The description still adds meaningful semantics beyond the schema, especially that `query` filters labels across the entire history and that `offset` is measured from the most recent version, though it does not add much about `expectedProjectId` or `_unused`.

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: it lists the saved versions of the schema, with the important ordering constraint MOST RECENT FIRST. It also distinguishes the tool's purpose as finding a version number to restore, which separates it from restore_version and get_version without ambiguity.

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 clearly gives the primary use case: finding the version number to restore, and explains that `query` is the way to find a named restore point across the whole history. It does not explicitly name sibling alternatives such as get_version or diff_versions, so it is strong but not fully exhaustive on when to choose this tool over those.

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.