Skip to main content
Glama

BotSpot: AI Trading, Backtests and Bots

List bounded revisions (versions) for a strategy

list_revisions
Read-only

Returns a bounded page of available revisions for a strategy with full revisionIds and version numbers. The default returns the newest 20 revisions and is capped at 50 per call so revision history never overwhelms the model context. When the user names an exact historical version such as "version 641" or "original 641", pass version= to retrieve that revision in one call instead of paging with limit/offset. Use limit/offset only when browsing unknown older history without a named version number. Use this to discover which versions exist before calling set_strategy_revision for the already-active strategy, or before calling switch_active_strategy for a different owned strategy. When a user explicitly names a strategy that differs from the open page/context, says 'the one entitled X', says 'apply this to X also', or says 'do not change Y', resolve that named strategy with list_strategies, then list revisions for the named target; do not silently use the active page revision. After this returns, pass the named target's revisionId into get_file/patch_file/replace_file. Never reuse the open page revision id for a different named strategy. For first-build strategy work, call create_strategy first; list_revisions cannot open files for a workspace that does not exist yet. Each revision has a version number (1, 2, 3...) that users refer to, and a revisionId (UUID) that you need for same-strategy version switching. The isCurrent flag indicates which revision is currently active in the conversation.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of newest revisions to return in this bounded page. Defaults to 20 and is capped at 50. Ignored when version is set. Full revisionIds are always preserved.
offsetNoZero-based page offset for older revisions. Use only when the first bounded page is not enough. Ignored when version is set.
versionNoExact user-facing version number to retrieve (for example 641). Prefer this over limit/offset when the user names a specific historical version so the agent does not page through hundreds of newest revisions.
strategyIdNo
aiStrategyIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

With readOnlyHint=true already covering safety, the description still adds substantial behavior: default 20 newest revisions, hard cap of 50 with the stated rationale (protecting model context), newest-first ordering, and the meaning of the isCurrent flag. It does not cover auth/permission needs or what happens with an out-of-range version number, which keeps it just 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.

Conciseness4/5

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

Front-loaded with scope, then pagination strategy, then workflow routing, which is the right order. It runs long with some redundancy — the 'never reuse the open page revision id' warning is restated across adjacent sentences — but nearly every sentence carries operational information.

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?

No output schema exists, so the description has to describe returns, and it does: version number, revisionId UUID, and isCurrent, plus the distinction between user-facing version numbers and machine revisionIds. The one gap is the strategyId/aiStrategyId parameter distinction, which stays undocumented for a tool that accepts both.

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 only 60%, and the description compensates for the important half: version-vs-limit/offset precedence and the 'ignored when version is set' interaction are spelled out clearly. However, strategyId and aiStrategyId carry no description in either schema or prose, and their relationship to the 'named target strategy' guidance is only implied.

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 opening sentence names a specific verb and resource ('Returns a bounded page of available revisions for a strategy') and immediately pins the two identifying fields (revisionIds and version numbers). It also distinguishes itself from siblings by naming set_strategy_revision, switch_active_strategy, create_strategy, and get_file as the tools this one feeds rather than replaces.

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

Usage Guidelines5/5

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

Explicit routing: use version=<n> when the user names an exact historical version, use limit/offset only for browsing unknown older history, call list_strategies first when a named strategy differs from the open page, and call create_strategy first for first-build work. Each alternative is paired with the condition that selects it, plus an explicit prohibition against reusing the open page revision id.

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.