Skip to main content
Glama

Backtesting Arena

Get Macro Regime Snapshot

arena_get_macro_regime

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. 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). [Free tier]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 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"
      -]
  2. First observed

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations provided, the description fully carries the burden of behavioral disclosure, and it does so excellently. It discloses data sourcing (FRED), the derived nature of `vix_score` (not the raw VIX level) and `broad_dollar_index` (DTWEXBGS, not DXY), including specific caveats like normal readings near 120. It also details freshness quantifications (stale_components_detail) and includes a deprecation history, which is far beyond the minimum.

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?

The description is long but well-structured: it starts with the purpose, then enumerates output fields, and dedicates specific attention to two potentially misleading keys. Every sentence adds value—there is no filler. The length is justified by the complexity of the output and the caveats, and important warnings are explicitly flagged ('read them carefully').

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 there is no output schema, the description takes on the responsibility of explaining all return values, which it does in detail: composite_score, regime_label, cycle_phase_label, matrix_quadrant, tier_scores, components, and stale_components_detail. It also covers edge cases (deprecated keys, discontinued series) and provides concrete examples (vix_score value mapping). The '[Free tier]' note adds practical context. Nothing an agent needs to correctly interpret the response is missing.

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?

The tool has zero parameters, so the baseline per the rubric is 4. The description adds no parameter-related detail (there is nothing to add) but does not need to. It focuses instead on output semantics, which is appropriate. The schema coverage is 100% for parameters (none), so no discrepancy exists.

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?

The description opens with a clear question ('What is the macro backdrop doing?') and immediately states it is a 'Daily Macro Regime snapshot' built from a defined set of components and tiers. The verb (get) and resource (macro regime) are explicit, and the detailed composition (18 components, 6 tiers with percentages) clearly differentiates it from sibling tools like arena_get_btc_macro_correlations or arena_get_cycle, even without naming them.

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

Usage Guidelines2/5

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

The description thoroughly explains what the tool returns but provides no explicit guidance on when to use it versus alternatives. It does not state conditions like 'use when you need a broad macro overview' or contrast it with other read-only indicators. The absence of any when/when-not or alternative naming leaves the agent to infer usage from the content.

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.

TDQS

A3.6/5.0
Disambiguation2/5

Many tools cover overlapping market indicators (e.g., cycle state, pulse, bullmarket ampel, volatility phases) and several share similar get_*_history patterns, which could cause an agent to select the wrong one. However, each tool has detailed descriptions with explicit references to related tools to reduce ambiguity.

Naming Consistency3/5

Tool names generally follow a verb_noun pattern (arena_get_*, arena_list_*, arena_run_*, arena_subscribe_*), but there are inconsistencies such as 'validate_strategy' (no arena_ prefix), 'arena_status' (not a clear verb_noun), and variations like 'arena_run_grid_backtest' vs 'arena_run_backtest'.

Tool Count2/5

With 84 tools, the server is heavily over-scoped for a typical MCP server, likely causing navigation and selection overhead. While the domain (crypto backtesting and analytics) is broad, 84 tools exceed reasonable coherence and impose a high cognitive load.

Completeness4/5

The tool surface covers a wide range of analytics (market indicators, backtesting, validation, alerts, subscriptions, reports) with few obvious dead ends. Minor gaps exist like lack of direct portfolio management or strategy editing, but core workflows are well covered.