Skip to main content
Glama

BotSpot: AI Trading, Backtests and Bots

Set strategy asset and data requirements

set_strategy_requirements
DestructiveIdempotent

Explicitly overrides the automatically analyzed assetClasses and dataRequirements metadata for this owned strategy revision only. Use this when the user asks for an override or the saved-code analysis needs a deliberate correction. Future revisions are analyzed fresh and do not inherit this override. This updates revision database metadata only; it does not edit strategy files.

Input Schema

NameRequiredDescriptionDefault
revisionIdYesAiStrategyRevision.id to update
strategyIdNoStrategy.id for ownership resolution
aiStrategyIdNoAiStrategy.id for ownership resolution
assetClassesYesAsset classes the strategy actually trades.
dataRequirementsYesAsset classes whose market data the strategy reads.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

With destructiveHint=true and idempotentHint=true already declared, the description adds valuable scope: revision-only, not inherited by future revisions, and files are untouched. It could go further on reversibility or how to clear an override, but it discloses the key side effects beyond annotations.

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?

Four short sentences, each earning its place: what it does, when to use it, persistence scope, and explicit non-effects. Front-loaded with the core action.

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?

For a metadata-mutating tool with full schema coverage and annotations, the description covers scope, persistence, and non-effects well. Missing only edge details like behavior on invalid revisionId or ownership failure, which is minor.

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 100% and each parameter has a description (assetClasses = traded, dataRequirements = read). The description reinforces that these are overrides of auto-analyzed metadata, adding some framing, but no format or constraint detail beyond the schema.

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?

States a specific verb ('explicitly overrides') and precise resource ('automatically analyzed assetClasses and dataRequirements metadata for this owned strategy revision only'). This clearly distinguishes it from siblings like set_strategy_revision (content) and set_data_provider (provider config).

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?

Gives explicit triggering conditions: 'Use this when the user asks for an override or the saved-code analysis needs a deliberate correction,' implying the default is automatic analysis. It does not name a competing sibling to use instead, but the when-to-use signal is clear.

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.