Skip to main content
Glama

Backtesting Arena

Get Arena Pulse Today

arena_get_pulse
Read-only

How hot is the Bitcoin market today? Daily 0-100 heat score for the Bitcoin market, aggregated from 8 components (BTC-Cycle, F&G, Altcoin-Season, Bullmarket-Ampel, Funding-Rate, Hash-Ribbons, Mayer-Multiple, MVRV-Z). Returns score, band label, color, 7d/30d delta, verdict, components breakdown, plus score_percentile ranking today’s score against its own history (e.g. 42 = 44th percentile — how hot/cold vs history, not just the raw number). score_semantics says which value you hold: the daily snapshot frozen once a day by the cron, or — before that cron has run for today — a live preliminary that still moves and whose percentile/deltas compare against frozen snapshots. band_driver names the number the band follows. Pass fields="full" for drivers[]: each component with value, weight, contribution (they add up to the score) and percentile_rank against its own history. [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_pulse"
  }
}

Input Schema

NameRequiredDescriptionDefault
fieldsNoOmit for the default response. 'full' adds `drivers[]` — each component with value, weight, contribution (the contributions add up to the headline score), percentile_rank against its own stored history (expanding, with basis and n) — plus drivers_note with the exact arithmetic.

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. 'full' adds `drivers[]` — each component with value, weight, contribution (the contributions add up to the headline score), percentile_rank against its own stored history (expanding, with basis and n) — plus drivers_note with the exact arithmetic.",
      +  "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.6/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, so the description carries real weight and delivers: it discloses that the score is a cron-frozen daily snapshot versus a still-moving live preliminary before the cron runs, and warns that percentile/deltas behave differently in that state. That is exactly the kind of temporal/semantic caveat annotations cannot express. It falls short of 5 because it says nothing about freshness timing, caching, or auth beyond the '[Free tier]' tag.

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?

Front-loaded with the framing question and the headline definition, then layers interpretation notes in a sensible order. It is dense and jargon-heavy ('score_semantics', 'band_driver', expanding/basis/n) but nearly every clause carries information an agent needs to read the response correctly; only the eight-component enumeration is arguably padding given the drivers[] path.

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 must document returns, and it does comprehensively: score, band label, color, 7d/30d delta, verdict, components breakdown, score_percentile with a worked example, score_semantics, band_driver, and the optional drivers[]. Combined with the freeze-vs-live caveat, an agent can call and interpret this correctly without further context.

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 documents that 'full' adds drivers[] with value, weight, contribution and percentile_rank plus drivers_note. The description largely restates that, adding only the clarifying parenthetical 'they add up to the score'. Baseline 3 is appropriate where the schema does the heavy lifting.

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?

States a specific resource and scope: a daily 0-100 heat score for the Bitcoin market aggregated from eight named components. An agent can tell this is a composite overview rather than any single-component sibling like arena_get_fear_greed, though the description never explicitly frames it as the aggregate-vs-individual alternative.

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?

Explains what the output contains and how to interpret score_semantics/band_driver, but gives no when-to-use guidance and never routes the agent away from (or toward) the eight component tools it aggregates. The only actionable instruction is the implicit 'pass fields="full"', which is a parameter note rather than a usage rule.

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.