Skip to main content
Glama
Stochastly

Stochastly MCP

by Stochastly

compose_graph

Read-onlyIdempotent

Validate a strategy graph plan, count parameter configurations, and produce a run specification for debugging before backtesting; nothing is executed or read.

Instructions

Requires the Stochastly desktop app: this tool runs inside the app, which is not installed on this machine. Install it from https://stochastly.com/pricing, open it and activate a licence.

Check a strategy graph plan and turn it into a run specification, counting how many parameter configurations it would test. Nothing is executed and no data is read.

Use it to build and debug a plan before backtest_graph, which takes the same arguments. Returns ok, configs, runnable, strategy, filters, gates and the full spec; an invalid plan returns ok false with the exact field at fault. A plan carrying custom Python is reported in custom_code_nodes with runnable_over_mcp, since backtest_graph refuses it unless the user allowed custom code. Strategy and filter params are single-value locks; omit one to sweep its catalogue values. Gates take a threshold, op "ge" or "le", and window "oos", "is", "oos2", "sealed", "full" or "wfa". Cost nodes charge the run; lectures are informational. Needs Stochastly open with an Atelier or Portfolio licence.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tfNoBar timeframe, for example "1h".1h
planYesStrategy graph. Keys: strategy {key, params, code}, filters [{key, params, code, mode}], gates [{key, threshold, params, op, window}], lectures [{key, params}], execution {..}, data {is_pct, oos1_pct, purge_bars, embargo_bars, wfa_is_len, wfa_oos_len}, cost, cost_nodes [{name, params}], propfirm, propfirm_ev. Node keys are "family/name" from node_catalog.
symbolsNoSymbols to trade; omit for the default universe.
directionNoTrade direction: "L" (long only), "S" (short only) or "LS" (both); long, short, both and similar spellings are accepted.LS

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.6/5.0
Behavior5/5

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

Adds substantial detail beyond the readOnly/idempotent/non-destructive annotations: 'Nothing is executed and no data is read,' invalid plans return ok false with the exact offending field, custom-Python plans are flagged via custom_code_nodes/runnable_over_mcp, and it discloses the required app state and license tier (Atelier or Portfolio). This is rich behavioral context.

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?

Content is front-loaded with the core purpose and the backtest_graph routing. The leading app-install paragraph is somewhat noisy and includes a pricing URL, but the remaining sentences are dense and each earns its place.

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?

Given no output schema, the description documents the return shape (ok, configs, runnable, strategy, filters, gates, spec), failure behavior, and prerequisites. For a nested-object plan tool this covers everything an agent needs to invoke it 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?

With 100% schema coverage the baseline is 3, but the description adds real semantics beyond the schema: params act as single-value locks (omit one to sweep its catalogue values), gates require a threshold with op 'ge'/'le' and specific window values, and cost vs lecture nodes are distinguished. This meaningfully clarifies how to shape the plan.

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 precise verb and resource: it validates/'checks a strategy graph plan and turns it into a run specification, counting how many parameter configurations it would test.' It also explicitly distinguishes itself from backtest_graph, so an agent can tell the two apart without opening the schema.

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 clear sequencing guidance: 'Use it to build and debug a plan before backtest_graph, which takes the same arguments,' and notes backtest_graph's custom-code restriction. It lacks an explicit when-not-to-use condition, but the routing context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.