Skip to main content
Glama

Signal outcomes ledger

flag_outcomes
Read-onlyIdempotent

Recently fired signal-ledger flags with fire-time price and later price outcomes, logged live and never backfilled. Descriptive market data only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinNoFilter to one coin, for example BTC. A pair like ETH/USD works too, the quote leg is dropped. One symbol, not a list. Omit for every coin.
pairNoAlias for coin.
typeNoFilter to one signal type. One of: whale-spike, funding-extreme, squeeze-flip, liq-cascade, flow-divergence, major-pctile, major-block, deriv-record. The underscore spellings used by alert rules (for example funding_extreme, or spike for whale-spike) are accepted too. Anything else is refused by name rather than answered as every signal. Omit for all types.
hoursNoHow far back to look, in hours. Defaults to 48. Capped at 168 keyless and 720 on a developer plan; asking for more returns the cap, and the payload says so in `capped`. The all_time block is unaffected by this window.
limitNoMax rows returned. Capped at 25 keyless and 500 on a developer plan; asking for more returns the cap, and the payload says so in `capped`.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinNoThe coin filter applied, or null for all coins.
noteNoOne line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
typeNoThe signal type filter applied, or null for all types.
countNoHow many rows this reply carries.
hoursNoThe window actually read, in hours.
cappedNoPresent only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
signalsNoThe signals that fired in the window, each with its type, coin, fire time, price at fire time and later price outcomes where they have been scored.
all_timeNoPermanent counters from the archive, independent of the window asked for: fired, scored_h24, since, through and by_type.
availableNoFalse when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a guess.
aggregatesNobyType: how many fired per signal type inside the window.
depth_noteNoHow far back the data behind this answer reaches.
access_noteNoWhat this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
valid_typesNoThe signal types that do exist, returned alongside unknown_type.
unknown_typeNoSet when the type asked for is not one this record keeps. Nothing was filtered and nothing was searched.
total_in_windowNoHow many signals fired in the whole window, before the row cap.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds valuable behavioral context: data is 'logged live and never backfilled' and 'recently fired', indicating historical depth limitations and non-retroactive backfill. This goes beyond annotations without contradicting them.

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 a single, efficient two-sentence definition with no filler. It front-loads the core purpose and adds a clarifying constraint ('descriptive market data only') without redundancy.

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?

Given the rich annotations, complete schemas for all parameters, and an output schema, the description covers the essential behavioral points (live logging, no backfill, descriptive nature). It does not explain return formatting, but the output schema handles that. No critical information is missing for an agent to call the tool correctly.

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 all five parameters (coin, pair, type, hours, limit) are thoroughly documented in the schema, including allowed values and caps. The description adds no parameter-level meaning beyond the schema, meeting the baseline 3 for high coverage.

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 the resource ('signal-ledger flags'), the content (fire-time price and later outcomes), and scope (recently fired). It conveys that the data is descriptive, not actionable. However, it does not explicitly differentiate from sibling tools or name alternatives, so it lacks the sibling differentiation that would merit a 5.

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?

No guidance is given on when to use this tool versus the many sibling market-data tools. The description does not mention alternatives, prerequisites, or exclusion criteria. It only states what data is returned, leaving the agent to infer usage context.

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
Disambiguation3/5

Many tools share the same broad purpose domains, such as market_digest vs market_overview vs market_snapshot and whale_context vs whale_profile vs whale_flow, making selection genuinely ambiguous for an agent. The long descriptions help separate them, but the sheer number of overlapping 'one-call' market and whale views still invites misselection, and whale_tape is a direct duplicate alias.

Naming Consistency4/5

Names are consistently snake_case and mostly follow a clear domain-prefix pattern: market_*, whale_*, hl_*, defi_*. Minor deviations like liquidations vs market_liquidations, liq_zones, my_access, and the deprecated whale_tape keep it from a perfect score, but the overall convention is predictable and readable.

Tool Count2/5

With 30 tools, the server exceeds the reasonable upper bound and feels heavy even for a broad data domain. Many tools could be consolidated—for instance, several one-call market summary tools and multiple whale-flow variants—without losing capability.

Completeness4/5

The tool set covers an impressively wide range of whale and market data: news, liquidations, funding, DEX activity, Hyperliquid wallets, market scans, history, and plan access. There are minor gaps such as no general price/OHLC history or per-wallet trade history beyond swaps and fills, but agents can work around these using the existing surface.

Resources