Skip to main content
Glama

Backtesting Arena

Signal Context — filters vs. today, in one call

arena_get_signal_context

Should I take this entry? Answers it for one (strategy, pair, interval) in ONE call instead of seven. Aligns what each entry filter historically did to this strategy (arena_get_strategy_filter_effect) with where that filter stands TODAY (bull-market gauge, altcoin-season signal, volatility phase, 200-week trend for BTC): filters[].blocks_this_entry says which filter would sit this entry out, with the measured worst-loss / return deltas next to it. Adds the current signal state (anticipated is always false — before candle close there is no signal), an edge_vs_benchmark block gated by the MEASURED noise floor (a gap below the floor is a measurement artifact, not a finding), a contradictions block (e.g. Pulse risk-off while the macro regime reads risk-on — reported, never resolved), and measured invalidation zones (pivot clusters, 200-week SMA; BTC only). detail: 'headline' (default) returns the statement, three key numbers and only the decisive filters; 'full' adds every variant, the raw pulse/macro/filter-effect blocks. Every source can fail independently — sources_used / sources_unavailable make the basis auditable; the answer never silently narrows. Returns a plain-language statement with its confidence and the reason for that confidence — state it, do not hedge it further; the payload carries its own scope note. Compose further with arena_get_strategy_performance_by_regime (WHEN has this worked) and arena_is_distinguishable. [Free tier]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pairYesPair, e.g. 'BTCUSDT'. Case-insensitive.
detailNo'headline' (default): statement + key numbers + decisive filters. 'full': every measured variant plus the raw source blocks.
intervalNoDefault '1w'. Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking.
strategyYesStrategy key, e.g. 'rsi_sma'. See arena_list_strategies.

Schema Changelog

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

  1. Changed3 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • 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"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "strategy",
      -  "pair",
      -  "context"
      -]New value: +[
      +  "strategy",
      +  "pair"
      +]
  2. Added

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries full behavioral burden and handles it exceptionally. It discloses that 'anticipated is always false' before candle close, that edge_vs_benchmark is gated by the measured noise floor with artifacts flagged, that contradictions are reported but never resolved, that each source can fail independently with auditable sources_used/sources_unavailable, and that the answer never silently narrows. This is comprehensive disclosure beyond what any schema could provide.

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?

The description is long but every sentence earns its place. It front-loads the core question, then logically organizes the response blocks, caveats, error handling, and composition guidance. Dense with actionable information but never verbose or repetitive, making it efficient for an agent to parse.

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?

For a complex tool with no output schema, this description is remarkably complete. It explains the response structure (filters[], edge_vs_benchmark, contradictions, invalidation zones), the detail modes, source auditability, failure independence, and the confidence/reason block. Unusual edge cases like the pre-candle-close signal state and the noise-floor artifact are explicitly covered. Nothing an agent needs to call and interpret the result correctly 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 100% and the schema already provides rich descriptions for all four parameters, including the alignment caveat for multi-day intervals and the detail enum values. The description reinforces these meanings but doesn't add new parameter-level semantics beyond what the schema already documents, so the baseline of 3 is appropriate.

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 the exact question it answers ('Should I take this entry?') and states the precise scope (one strategy/pair/interval in one call instead of seven). It explicitly differentiates from sibling arena_get_strategy_filter_effect by showing how it aligns historical filter effect with current signal state. The purpose is unambiguous and distinctive.

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?

Provides clear context: it's a one-call replacement for a seven-call flow, and it names two companion tools for composition (arena_get_strategy_performance_by_regime and arena_is_distinguishable). However, it doesn't explicitly state when NOT to use this tool or list mutually exclusive alternatives, so it's a slight step below the highest bar.

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.