Skip to main content
Glama

Backtesting Arena

Get Macro Regime Snapshot

arena_get_macro_regime
Read-only

What is the macro backdrop doing? Daily Macro Regime snapshot from 18 components in 6 tiers (Liquidity 30%, Financial Conditions 20%, Risk Appetite 15%, Crypto Liquidity 10%, Business Cycle 15%, Inflation/Real Rates 10%). FRED-sourced. Returns composite_score (0-100), regime_label (risk_off/neutral/risk_on_leaning/risk_on), cycle_phase_label (contraction/early_expansion/mid_expansion/late_expansion), matrix_quadrant (sweet_spot/late_cycle_warning/crisis/recovery), tier_scores (6 sub-scores), components (flat key/value of all 18), plus stale_components_detail dating each stale input (last_good_date + age_days + discontinued flag for series the upstream has retired for good) so freshness is quantified, not a vague caveat. Two component keys mean something narrower than their name suggests, so read them carefully: vix_score is the derived 0-100 score (a value of 71 means VIX around 18.6), NOT the VIX index level — the raw Cboe level is not redistributed over this channel; and broad_dollar_index is FRED DTWEXBGS (Broad USD Index, Jan 2006 = 100), NOT the ICE DXY, so readings near 120 are normal. fed_funds_rate is FRED FEDFUNDS, the monthly AVERAGE effective rate (lags; not the daily DFF, not the target range); global_m2_yoy is NOT M2 but the YoY change of G3 central-bank balance sheets (Fed+ECB+BoJ in USD) — it can fall while US M2 hits a record. component_notes carries these definitions in the payload. The former names vix and dxy were removed on 2026-09-01 after their announced deprecation window; consumer_confidence_value went with them (OECD retired the series, frozen since 2024-01-01, never weighted in the composite). provenance says how many of the 18 weighted components formed today’s composite (grade full/partial/thin; null for rows written before 2026-10-13, when coverage was not recorded); missing components drop out and the tier renormalizes, a tier with no input at all scores a stand-in 50 and is named in degraded.empty_tiers. Pass fields="full" for the named missing components, sources and per-tier provenance. move_index and fed_funds_cuts_priced are always null and never weighted — slots without a source, not outages. [Free tier]

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

Input Schema

NameRequiredDescriptionDefault
fieldsNoOmit for the default response, which carries `provenance` in short form (grade full/partial/thin, sources_used, sources_expected). 'full' adds the long form: sources_missing (named), sources (licence attribution names), grade_reason, as_of — plus per-part provenance where the composite has parts. A `thin` grade (under half the expected inputs) is never a basis for a verdict or a ranking.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Changed3 schema fields changed
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / fields
      Added value: +{
      +  "description": "Omit for the default response, which carries `provenance` in short form (grade full/partial/thin, sources_used, sources_expected). 'full' adds the long form: sources_missing (named), sources (licence attribution names), grade_reason, as_of — plus per-part provenance where the composite has parts. A `thin` grade (under half the expected inputs) is never a basis for a verdict or a ranking.",
      +  "enum": [
      +    "full"
      +  ],
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • removedInput schema / properties / context
      Removed value: -{
      -  "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\"",
      -  "type": "string"
      -}
    • removedInput schema / required
      Removed value: -[
      -  "context"
      -]
  4. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses substantial behavioral context: FRED sourcing, freshness handling via stale_components_detail, renorming of missing components, degraded.empty_tiers behavior, always-null unweighted slots, and how provenance grades work. It also warns about misread component keys and deprecated fields, which materially improves correct interpretation.

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 information-dense and front-loads the core purpose, but it is a long, unstructured paragraph that mixes output semantics, historical deprecation notes, and caveats. Most sentences are useful because there is no output schema, but the wall-of-text format could be better organized for scanning.

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?

With no output schema, the description carries the full burden of explaining the response and does so comprehensively: it defines the composite, labels, tiers, components, stale fields, provenance, degraded cases, and null slots. It also covers the one parameter and important data-source caveats, leaving little critical context missing for a read-only snapshot tool.

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 description coverage is 100%, so the single fields parameter is already fully documented. The description reinforces the meaning by saying fields="full" exposes named missing components, sources, and per-tier provenance, but this is largely redundant with the schema rather than adding new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that this returns a daily macro regime snapshot built from 18 components across 6 tiers, and it enumerates the main outputs such as composite_score, regime_label, and tier_scores. It does not explicitly contrast itself with sibling tools like arena_get_cycle or arena_get_indicator_snapshot, so it is clear but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the opening question about the macro backdrop and by notes such as using fields="full" for named missing components and not treating a thin grade as a basis for verdicts or rankings. However, it never says when to choose this over alternative macro or indicator tools, so the guidance remains implicit rather than explicit.

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.