Skip to main content
Glama

QuantApe Markets

get_smart_list_metrics

Read-only

QuantApe's own per-symbol analytics for a stock screen — last earnings reaction and the drift since it, next earnings date with how much of that report is already priced in (expectations score) and the options-implied move, and recent technical signals (paged, max 200 per call). It returns no live quotes, market cap or valuation ratios; use a quote API for those. Descriptive, not a recommendation. Free within your daily allowance (anonymous 5/day by IP, signed-in users 10/day, power users 50/day); beyond that $0.05 per call via x402 (USDC).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoSymbols per page, 1-200 (default 200).
offsetNoZero-based offset into the screen for paging.
list_idYesScreen id from list_smart_lists (e.g. day_gainers, golden_cross, ai_beneficiaries).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rowsYes
as_ofYesReserved; currently always null
limitYes
totalYesSymbols across all pages.
offsetYes
list_idYes
has_moreYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changed
    • removedOutput schema / properties / rows / items / properties / beta
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / current_price
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / dividend_yield
      Removed value: -{
      -  "description": "% points (7.04 = +7.04%)",
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / rows / items / properties / earnings_reaction_date / description
      Previous value: -"Session of the last earnings reaction, YYYY-MM-DD"New value: +"Session of the last earnings reaction, YYYY-MM-DD — the anchor for earnings_reaction_percent and since_earnings_percent"
    • changedOutput schema / properties / rows / items / properties / earnings_reaction_percent / description
      Previous value: -"Largest single-session move around the last report; % points (7.04 = +7.04%)"New value: +"Largest single-session move around the last report, measured on earnings_reaction_date; % points (7.04 = +7.04%)"
    • changedOutput schema / properties / rows / items / properties / expectations_bar_score / description
      Previous value: -"0-100, how much of an earnings move is priced in (descriptive, not directional)"New value: +"0-100, how much of an earnings move is priced in ahead of next_earnings_date (descriptive, not directional)"
    • removedOutput schema / properties / rows / items / properties / fifty_day_average
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / fifty_two_week_high
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / fifty_two_week_low
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / forward_pe
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / rows / items / properties / implied_move_pct / description
      Previous value: -"Options-implied earnings move, 1 sigma; % points (7.04 = +7.04%)"New value: +"Options-implied earnings move for next_earnings_date, 1 sigma; % points (7.04 = +7.04%)"
    • removedOutput schema / properties / rows / items / properties / market_cap
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / rows / items / properties / next_earnings_date / description
      Previous value: -"ISO 8601 UTC"New value: +"ISO 8601 UTC — the event expectations_bar_score and implied_move_pct are measured for"
    • removedOutput schema / properties / rows / items / properties / peg_ratio
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / price_change_1m
      Removed value: -{
      -  "description": "% points (7.04 = +7.04%)",
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / price_change_3m
      Removed value: -{
      -  "description": "% points (7.04 = +7.04%)",
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / price_change_7d
      Removed value: -{
      -  "description": "% points (7.04 = +7.04%)",
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / regular_market_change_percent
      Removed value: -{
      -  "description": "Today's regular-session move; % points (7.04 = +7.04%)",
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / short_percent_of_float
      Removed value: -{
      -  "description": "FRACTION of float (0.107 = 10.7%)",
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / rows / items / properties / since_earnings_percent / description
      Previous value: -"Close after the last report to the latest quote; % points (7.04 = +7.04%)"New value: +"Close after the last report to the latest stored quote (refreshed on a priority queue, so it can lag a session); % points (7.04 = +7.04%)"
    • changedOutput schema / properties / rows / items / properties / technical_signals / description
      Previous value: -"Recent signals, typically {date, type, name, strength, price}"New value: +"Recent signals with their own date each, typically {date, type, name, strength, price}"
    • removedOutput schema / properties / rows / items / properties / trailing_pe
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / rows / items / properties / two_hundred_day_average
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "as_of": {
      +      "description": "Reserved; currently always null",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "has_more": {
      +      "type": "boolean"
      +    },
      +    "limit": {
      +      "type": "number"
      +    },
      +    "list_id": {
      +      "type": "string"
      +    },
      +    "offset": {
      +      "type": "number"
      +    },
      +    "rows": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "beta": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "companyName": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "current_price": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "dividend_yield": {
      +            "description": "% points (7.04 = +7.04%)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "earnings_reaction_date": {
      +            "description": "Session of the last earnings reaction, YYYY-MM-DD",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "earnings_reaction_percent": {
      +            "description": "Largest single-session move around the last report; % points (7.04 = +7.04%)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "expectations_bar_score": {
      +            "description": "0-100, how much of an earnings move is priced in (descriptive, not directional)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "fifty_day_average": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "fifty_two_week_high": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "fifty_two_week_low": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "forward_pe": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "implied_move_pct": {
      +            "description": "Options-implied earnings move, 1 sigma; % points (7.04 = +7.04%)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "industry": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "market_cap": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "next_earnings_date": {
      +            "description": "ISO 8601 UTC",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "peg_ratio": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "price_change_1m": {
      +            "description": "% points (7.04 = +7.04%)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "price_change_3m": {
      +            "description": "% points (7.04 = +7.04%)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "price_change_7d": {
      +            "description": "% points (7.04 = +7.04%)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "regular_market_change_percent": {
      +            "description": "Today's regular-session move; % points (7.04 = +7.04%)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "short_percent_of_float": {
      +            "description": "FRACTION of float (0.107 = 10.7%)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "since_earnings_percent": {
      +            "description": "Close after the last report to the latest quote; % points (7.04 = +7.04%)",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "symbol": {
      +            "type": "string"
      +          },
      +          "technical_signals": {
      +            "anyOf": [
      +              {
      +                "items": {},
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Recent signals, typically {date, type, name, strength, price}"
      +          },
      +          "trailing_pe": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "two_hundred_day_average": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "symbol"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "description": "Symbols across all pages.",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "list_id",
      +    "as_of",
      +    "total",
      +    "limit",
      +    "offset",
      +    "has_more",
      +    "rows"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.7/5.0
Behavior5/5

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

While readOnlyHint=true already indicates a read-only operation, the description adds valuable behavioral context: pagination capped at 200 per call, per-tier daily allowances with overage payment ($0.05 per call via x402 USDC), and the guarantee that it returns no live quotes. These traits are not inferable from annotations alone.

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?

Four sentences, each delivering distinct value: what the tool returns, what it excludes and what to use instead, a disclaimer, and the pricing model. The core capability is front-loaded and no sentence is redundant or filler.

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 an output schema present, the description doesn't need to explain return values. It fully covers the data scope, paging behavior, pricing, exclusions, and alternatives, providing all the context an agent needs to decide whether and how to invoke the tool.

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?

The schema covers 100% of the parameters with explicit descriptions, so the description carries little additional burden. It reinforces paging semantics by saying 'paged, max 200 per call' and points to list_smart_lists as the source for list_id, but these are largely restatements of the schema rather than new meaning.

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?

States a specific verb ('returns') plus a specific resource ('per-symbol analytics for a stock screen') and enumerates the exact data points: earnings reaction, drift, next earnings date, expectations score, options-implied move, and technical signals. It also explicitly excludes live quotes, market cap, and valuation ratios, distinguishing it from quote APIs and sibling tools.

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

Usage Guidelines5/5

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

Explicitly states when not to use this tool ('returns no live quotes, market cap or valuation ratios') and directs the agent to 'a quote API' as the alternative. It also adds a usage caveat ('Descriptive, not a recommendation') and clarifies paging limits, giving clear boundaries for invocation.

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