Skip to main content
Glama

BotSpot: AI Trading, Backtests and Bots

Start a strategy parameter experiment

start_parameter_experiment
Destructive

Start 2-10 parameter variants against the same saved revision, same date window, and same current BotSpot Auto routing policy. BotSpot creates or resolves one immutable strategy parameter set per variant and starts the runs in parallel with bounded concurrency through the normal backtest entitlement and runtime path. Use this when the user asks to compare parameter values; do not edit strategy code between variants. Read the saved strategy first and use the exact parameter key from the saved strategy code, including its casing; never rename, uppercase, or infer a different environment-variable-style key. The result returns an experiment id, exact revision id, parameter-set ids, routing-policy snapshot, every successfully started backtest id, and any start failures. This tool does not return an externalWaitId: do not invent one or call record_external_wait_in_plan for the experiment id; monitor each returned backtest id with backtest_status or one complete list_backtests read. After starting, wait for every returned backtest id to reach a terminal state, report failures or missing artifacts, and compare the complete set on the same window. Do not blindly recommend the highest in-sample return; include drawdown, risk-adjusted metrics, trade count, parameters, and observed data provenance, then recommend out-of-sample or walk-forward validation. This always uses the conversation data provider; no dataProvider or raw botConfig input is accepted.

Input Schema

NameRequiredDescriptionDefault
budgetNoStarting cash for the backtest (in the quote currency, typically USD). Sets BACKTESTING_BUDGET in the backtest environment.
endDateYes
variantsYes
startDateYes
revisionIdNo
envVarSetIdsNoSaved BotSpot environment variable IDs to inject into the backtest runner. The MCP server never reads or exposes the saved values; BotSpot issues a short-lived runtime secret for the backtest.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations only supply destructiveHint=true, and the description adds substantial real behavior: immutable per-variant parameter sets, bounded-concurrency parallel starts, normal backtest entitlement path, and an explicit enumeration of what is returned and what is NOT returned (no externalWaitId). It does not, however, disclose cost/entitlement consumption or rate limits for launching up to 10 parallel backtests, which is the main remaining behavioral risk given destructiveHint=true. No contradiction with annotations.

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?

Dense but front-loaded: purpose, when-to-use, key-casing rule, return payload, monitoring, then analysis guidance. Nearly every sentence is actionable; the closing recommendation advice (drawdown, out-of-sample validation) is somewhat tangential to invoking the tool but still steers correct follow-up use.

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, and the description fully carries that burden by enumerating the returned fields (experiment id, revision id, parameter-set ids, routing-policy snapshot, backtest ids, start failures) and by stating what is not returned. For a 6-param mutation tool with partial schema coverage, nothing critical to correct invocation is missing.

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 only 33%, and the description compensates for exactly the most error-prone parameter: the variants.parameters map (use the exact saved key and casing, never rename or invent an env-var-style key). It also rules out dataProvider/botConfig input. But revisionId, envVarSetIds, budget, and the date format receive no added meaning, leaving several undocumented params.

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?

Names a specific verb (start), resource (parameter experiment / 2-10 variants), and exact scope: same saved revision, same date window, same routing policy. The parallel-variant framing distinguishes it clearly from start_backtest in the sibling list without the agent needing to open either schema.

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?

Gives an explicit trigger ('when the user asks to compare parameter values'), an explicit exclusion ('do not edit strategy code between variants'), a prerequisite ('read the saved strategy first'), and routing to the correct monitoring path (backtest_status or one list_backtests read) plus a prohibition on record_external_wait_in_plan.

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.