Skip to main content
Glama

crashtestyourstrategy

Find similar regime via behavioural descriptors

find_similar_regime
Read-onlyIdempotent

USE WHEN you want the synthetic regimes closest to a profile or to a descriptor target. Nearest-neighbour search over the regime catalogue. Give EITHER reference_profile_hint (that bundle's median descriptors become the target) OR descriptor_target (partial {descriptor: value}; only given dimensions count). asset_filter restricts to one asset. Returns top_n matches with similarity (0..1), z-score distance and per-descriptor signed deltas that show WHY it matched. Valid hints and descriptor names: get_started.

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": "find_similar_regime"
  }
}

Input Schema

NameRequiredDescriptionDefault
top_nNoNumber of nearest regimes to return, 1 to 32 (default 5).
top_deltasNoPer match, return only the k descriptors that differ most from the target (default 5; 0 = all 18). The response states deltas_shown / deltas_total.
asset_filterNoRestrict matches to one catalogue asset: SPY, QQQ, GOLD, BTC, ETH, WTI (aliases GLD for GOLD, BTC-USD for BTC); an unknown asset is rejected. VIX is also accepted, but it has historical anchors only and no synthetic regimes, so it returns no matches.
descriptor_targetNoPartial target spec {descriptor_name: value}; only the provided dimensions contribute to the distance. Definitions: ontology://regime-descriptors.
reference_profile_hintNoUse this catalogue bundle's median descriptors as the search target (mutually exclusive with descriptor_target).

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / asset_filter / description
      Previous value: -"Restrict matches to one catalogue asset: SPY, QQQ, GOLD, BTC, ETH, WTI (aliases GLD for GOLD, BTC-USD for BTC); an unknown asset is rejected."New value: +"Restrict matches to one catalogue asset: SPY, QQQ, GOLD, BTC, ETH, WTI (aliases GLD for GOLD, BTC-USD for BTC); an unknown asset is rejected. VIX is also accepted, but it has historical anchors only and no synthetic regimes, so it returns no matches."
  2. Changed4 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / asset_filter / description
      Previous value: -"Restrict matches to one asset (e.g. 'SPY', 'BTC')."New value: +"Restrict matches to one catalogue asset: SPY, QQQ, GOLD, BTC, ETH, WTI (aliases GLD for GOLD, BTC-USD for BTC); an unknown asset is rejected."
    • addedInput schema / properties / top_deltas
      Added value: +{
      +  "default": 5,
      +  "description": "Per match, return only the k descriptors that differ most from the target (default 5; 0 = all 18). The response states deltas_shown / deltas_total.",
      +  "title": "Top Deltas",
      +  "type": "integer"
      +}
    • changedInput schema / properties / top_n / description
      Previous value: -"Number of nearest regimes to return."New value: +"Number of nearest regimes to return, 1 to 32 (default 5)."
  3. Changed4 schema fields changed
    • addedInput schema / properties / asset_filter / description
      Added value: +"Restrict matches to one asset (e.g. 'SPY', 'BTC')."
    • addedInput schema / properties / descriptor_target / description
      Added value: +"Partial target spec {descriptor_name: value}; only the provided dimensions contribute to the distance. Definitions: ontology://regime-descriptors."
    • addedInput schema / properties / reference_profile_hint / description
      Added value: +"Use this catalogue bundle's median descriptors as the search target (mutually exclusive with descriptor_target)."
    • addedInput schema / properties / top_n / description
      Added value: +"Number of nearest regimes to return."
  4. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered; the description adds real behavioural context about the return shape (similarity 0..1, z-score distance, signed per-descriptor deltas explaining why a match occurred). One gap: all five parameters are optional, yet the description never says what happens when neither reference_profile_hint nor descriptor_target is supplied.

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?

Front-loaded with the usage trigger, then the mechanism, then the argument contract, then the return contract, then a pointer for valid values. Every sentence carries distinct information and nothing from the schema's per-parameter text is duplicated.

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?

An output schema exists, so the description did not need to enumerate return values, yet it briefly characterises them usefully. With zero required parameters, it should still state the default behaviour when no target is given; that omission is the one completeness gap for a well-covered tool.

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 100%, so the baseline is 3, but the description adds meaning the schema does not: the two target parameters are mutually exclusive, and a partial descriptor_target means only the supplied dimensions contribute to the distance. That clarifies invocation strategy rather than restating field text.

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 and resource: 'Nearest-neighbour search over the regime catalogue' for 'synthetic regimes closest to a profile or descriptor target'. This is clearly distinct from siblings like describe_regime or get_regime_data, so an agent can pick it 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?

Opens with an explicit 'USE WHEN' trigger and resolves the main selection decision inside the tool: give EITHER reference_profile_hint OR descriptor_target. It also points to get_started for valid hints and descriptor names. It stops short of naming a competing sibling for related-but-different intents (e.g. describing a single regime), so no explicit when-not guidance.

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.