Skip to main content
Glama

BotSpot: AI Trading, Backtests and Bots

Switch conversation to a specific strategy revision

set_strategy_revision
DestructiveIdempotent

Updates the active conversation to use a specific revision of the already-active strategy. Pass revisionId, or pass version with the user-facing version number (for example version=641) when the user asks to restore or pull up an exact historical version. If the user asks to work on a different owned strategy, call switch_active_strategy instead. For same-rules/copy-recent-changes tasks, do not use this to switch away from the source before reading the source strategy code; keep explicit source and target ids and read both saved codes before any edit. If the open/current strategy is the source, use the exact Strategy context ids from the Agent request for that attached source; do not fuzzy-search for another source by name.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "set_strategy_revision"
  }
}

Input Schema

NameRequiredDescriptionDefault
versionNoUser-facing version number to restore (for example 641). Prefer this when the user names a historical version; the server resolves it to the owned revisionId.
revisionIdNoExact AiStrategyRevision.id to activate. Omit when restoring by user-facing version number and pass version instead.
strategyIdNo
aiStrategyIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already declare destructiveHint=true and idempotentHint=true, so the description is not required to restate safety. It still adds context beyond the annotations by explaining that the server resolves a user-facing version into an owned revisionId and by warning the agent to read the source strategy code before switching. The gap is that it never explains why the call is destructive, for example whether unsaved edits or the current open revision are discarded.

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

Conciseness3/5

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

The description is front-loaded well, with the scope constraint in the first sentence and the alternative sibling in the third. However, the final two sentences read as long procedural workflow instructions about copy-recent-changes tasks and Strategy context ids. They are tangential to what this tool does and dilute the call guidance.

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 a destructive, open-world mutation with no output schema and zero required parameters, an agent still needs to know what changes on success and what is lost. The description covers selection logic well but says nothing about returned state or side effects on the current conversation.

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 coverage is 50%. The description does add meaning for version versus revisionId, explaining that version is a user-facing number that the server resolves. The two remaining UUID parameters, strategyId and aiStrategyId, are undocumented in both the schema and the description, and the description does not compensate for that gap.

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 gives a specific verb and resource: 'Updates the active conversation to use a specific revision of the already-active strategy.' It explicitly scopes itself to the already-active strategy, which separates it from switch_active_strategy by name rather than leaving the agent to infer.

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?

It covers when to use each parameter ('Pass revisionId, or pass version ... when the user asks to restore'), names the sibling for a different strategy, and excludes a misuse case ('do not use this to switch away from the source before reading the source strategy code'). It also tells the agent not to fuzzy-search for a source by name, which is an explicit negative rule.

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.