Skip to main content
Glama

analyst_top_tokens

Read-onlyIdempotent

Top predicted tokens per analyst — win-rate aggregates over last 90 days (MCP-compatible) — Returns the top 5 tokens (by win rate) attributed to a single analyst over the last 90 days. Only tokens with ≥ 3 resolved (win/loss) signals are included — this ensures the win-rate figures are statistically meaningful and not based on a single lucky trade. Use ?analystId= with one of: chain_hawk (ChainHawk, BTC & macro on-chain), whale_watch (WhaleWatch, multi-chain whale moves), alpha_scout (AlphaScout, emerging tokens), defi_pulse (DeFiPulse, DeFi/stables/bridges), quant_edge (QuantEdge, signal risk/convergence), rate_hawk (RateHawk, funding rates & derivatives), flow_tracer (FlowTracer, stablecoin & capital flows), unlock_guard (UnlockGuard, token unlock risk), sentiment_edge (SentimentEdge, social sentiment extremes), narrative_pulse (NarrativePulse, sector rotation & narratives). Each token entry returns: token (symbol string), total (all signals in window including pending), resolved (signals with a win/loss ou

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
analystIdNoAnalyst slug. Valid values: chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge, rate_hawk, flow_tracer, unlock_guard, sentiment_edge, narrative_pulse.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hintNoGuidance string returned when analystId was omitted; null otherwise.
tokensNoTop 5 tokens by win rate for this analyst (last 90 days, min 3 resolved signals each). Empty when no qualifying tokens exist or analystId was omitted.
analystIdNoEchoed analyst slug, e.g. chain_hawk. Null when analystId param was omitted.
updatedAtNo
attributionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "analystId": {
      +      "description": "Echoed analyst slug, e.g. chain_hawk. Null when analystId param was omitted.",
      +      "nullable": true,
      +      "type": "string"
      +    },
      +    "attribution": {
      +      "$ref": "#/components/schemas/Attribution"
      +    },
      +    "hint": {
      +      "description": "Guidance string returned when analystId was omitted; null otherwise.",
      +      "nullable": true,
      +      "type": "string"
      +    },
      +    "tokens": {
      +      "description": "Top 5 tokens by win rate for this analyst (last 90 days, min 3 resolved signals each). Empty when no qualifying tokens exist or analystId was omitted.",
      +      "items": {
      +        "properties": {
      +          "resolved": {
      +            "description": "Number of signals with a win or loss outcome determined.",
      +            "type": "integer"
      +          },
      +          "token": {
      +            "description": "Token symbol, e.g. BTC, ETH, SOL.",
      +            "type": "string"
      +          },
      +          "total": {
      +            "description": "Total signals in the last 90 days (including pending/unresolved).",
      +            "type": "integer"
      +          },
      +          "winRate": {
      +            "description": "Win rate as an integer percentage (0–100). Null when resolved=0.",
      +            "nullable": true,
      +            "type": "integer"
      +          },
      +          "wins": {
      +            "description": "Number of winning resolved signals.",
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "updatedAt": {
      +      "format": "date-time",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A3.6/5.0
Behavior4/5

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

Beyond the readOnly/idempotent/non-destructive annotations, the description adds meaningful behavioral detail: only tokens with ≥3 resolved signals are included, the window is 90 days, and entries include total and resolved signal counts. This clarifies the filtering logic an agent can expect, although it does not address behavior when analystId is omitted.

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 core behavior is front-loaded and the ordering is logical, but the description is padded with a long analyst list that largely duplicates the schema enum and a redundant opening phrase. The sentence describing return fields is truncated mid-phrase ('win/loss ou'), making the structure feel incomplete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Annotations and output schema carry much of the burden, and the description covers the main filtering behavior. However, the tool declares analystId as not required while the description says it is for 'a single analyst,' leaving a notable gap: what happens if analystId is omitted? This ambiguity prevents the definition from being fully self-sufficient.

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 schema already fully documents the enum and requiredness, so the baseline is 3. The description adds extra semantic value by pairing each analyst slug with a human-readable label and domain focus, which helps an agent choose the right analystId. The '?analystId=' phrasing is slightly inconsistent with the MCP input schema, but the intent is clear.

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 a specific function: returning the top 5 tokens by win rate attributed to a single analyst over the last 90 days, with a statistical significance filter. It is specific enough to convey the resource and action, but it does not explicitly distinguish itself from sibling tools like analysts_top or analyst_daily_summary.

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?

The description provides useful context such as the 90-day window, the 3-signal minimum, and the allowed analystId values with domain descriptions. However, it does not state when to prefer this tool over its siblings or when not to use it, leaving the routing decision largely implicit.

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.

Resources