Skip to main content
Glama

Screener / Scan & Rank Symbols

post_screener
Read-only

Find, rank, and compare symbols across the whole universe in ONE call. Use this whenever the user does NOT name a single ticker but asks which / what / find / scan / screen / rank / top / most / highest / lowest across stocks (e.g. 'which names have the most negative gamma', 'rank tickers by VRP', 'highest IV stocks right now', 'most pinned symbols today', 'cheap IV with positive gamma'). Prefer this over calling per-symbol tools in a loop. Cross-sectional screen/rank by GEX, VRP, 0DTE dominance, IV/term structure, skew, dealer risk, and strategy scores, with filters, sort, select, and custom formulas. Growth = top 10 symbols; Alpha = ~250 symbols + formulas.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesJSON body. ALL keys optional; an empty {} returns your whole universe with default columns. Shape: {"filters":<node>,"sort":[{"field":"<f>","direction":"desc|asc"}],"select":["symbol","<f>"],"limit":50} filters <node> is either a LEAF {"field":"<f>","operator":"<op>","value":<v>} or a GROUP {"op":"and|or","conditions":[<node>,...]} (nest up to 3 deep, max 20 leaves). operators: eq, neq, gt, gte, lt, lte, between (value=[lo,hi]), in (value=[...]), is_null, is_not_null. common fields: regime (positive_gamma|negative_gamma|unknown), net_gex, net_dex, gamma_flip, gamma_flip_status, call_wall, put_wall, max_pain, zero_dte_magnet, zero_dte_pct_of_total, atm_iv, rv_20d, vrp_20d, skew_25d, term_state, pc_ratio_oi, price. Alpha-only fields: vrp_z_score, vrp_percentile, harvest_score, dealer_flow_risk, iron_condor_score, short_strangle_score, calendar_spread_score (plus `formulas` and `offset`). Examples: - most negative gamma: {"sort":[{"field":"net_gex","direction":"asc"}],"select":["symbol","net_gex","regime","price"],"limit":10} - richest VRP in positive gamma: {"filters":{"op":"and","conditions":[{"field":"regime","operator":"eq","value":"positive_gamma"},{"field":"vrp_20d","operator":"gte","value":2.5}]},"sort":[{"field":"vrp_20d","direction":"desc"}],"limit":15} - highest IV names: {"sort":[{"field":"atm_iv","direction":"desc"}],"select":["symbol","atm_iv","rv_20d","vrp_20d"],"limit":20}
apiKeyNoFlashAlpha API key. Omit when calling via /mcp-oauth (OAuth flow); required on /mcp.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"JSON body. ALL keys optional; an empty {} returns your whole universe with default columns.\nShape: {\"filters\":<node>,\"sort\":[{\"field\":\"<f>\",\"direction\":\"desc|asc\"}],\"select\":[\"symbol\",\"<f>\"],\"limit\":50}\nfilters <node> is either a LEAF {\"field\":\"<f>\",\"operator\":\"<op>\",\"value\":<v>} or a GROUP {\"op\":\"and|or\",\"conditions\":[<node>,...]} (nest up to 3 deep, max 20 leaves).\noperators: eq, neq, gt, gte, lt, lte, between (value=[lo,hi]), in (value=[...]), is_null, is_not_null.\ncommon fields: regime (positive_gamma|negative_gamma), net_gex, net_dex, gamma_flip, call_wall, put_wall, max_pain, zero_dte_magnet, zero_dte_pct_of_total, atm_iv, rv_20d, vrp_20d, skew_25d, term_state, pc_ratio_oi, price. Alpha-only fields: vrp_z_score, vrp_percentile, harvest_score, dealer_flow_risk, iron_condor_score, short_strangle_score, calendar_spread_score (plus `formulas` and `offset`).\nExamples:\n- most negative gamma: {\"sort\":[{\"field\":\"net_gex\",\"direction\":\"asc\"}],\"select\":[\"symbol\",\"net_gex\",\"regime\",\"price\"],\"limit\":10}\n- richest VRP in positive gamma: {\"filters\":{\"op\":\"and\",\"conditions\":[{\"field\":\"regime\",\"operator\":\"eq\",\"value\":\"positive_gamma\"},{\"field\":\"vrp_20d\",\"operator\":\"gte\",\"value\":2.5}]},\"sort\":[{\"field\":\"vrp_20d\",\"direction\":\"desc\"}],\"limit\":15}\n- highest IV names: {\"sort\":[{\"field\":\"atm_iv\",\"direction\":\"desc\"}],\"select\":[\"symbol\",\"atm_iv\",\"rv_20d\",\"vrp_20d\"],\"limit\":20}"New value: +"JSON body. ALL keys optional; an empty {} returns your whole universe with default columns.\nShape: {\"filters\":<node>,\"sort\":[{\"field\":\"<f>\",\"direction\":\"desc|asc\"}],\"select\":[\"symbol\",\"<f>\"],\"limit\":50}\nfilters <node> is either a LEAF {\"field\":\"<f>\",\"operator\":\"<op>\",\"value\":<v>} or a GROUP {\"op\":\"and|or\",\"conditions\":[<node>,...]} (nest up to 3 deep, max 20 leaves).\noperators: eq, neq, gt, gte, lt, lte, between (value=[lo,hi]), in (value=[...]), is_null, is_not_null.\ncommon fields: regime (positive_gamma|negative_gamma|unknown), net_gex, net_dex, gamma_flip, gamma_flip_status, call_wall, put_wall, max_pain, zero_dte_magnet, zero_dte_pct_of_total, atm_iv, rv_20d, vrp_20d, skew_25d, term_state, pc_ratio_oi, price. Alpha-only fields: vrp_z_score, vrp_percentile, harvest_score, dealer_flow_risk, iron_condor_score, short_strangle_score, calendar_spread_score (plus `formulas` and `offset`).\nExamples:\n- most negative gamma: {\"sort\":[{\"field\":\"net_gex\",\"direction\":\"asc\"}],\"select\":[\"symbol\",\"net_gex\",\"regime\",\"price\"],\"limit\":10}\n- richest VRP in positive gamma: {\"filters\":{\"op\":\"and\",\"conditions\":[{\"field\":\"regime\",\"operator\":\"eq\",\"value\":\"positive_gamma\"},{\"field\":\"vrp_20d\",\"operator\":\"gte\",\"value\":2.5}]},\"sort\":[{\"field\":\"vrp_20d\",\"direction\":\"desc\"}],\"limit\":15}\n- highest IV names: {\"sort\":[{\"field\":\"atm_iv\",\"direction\":\"desc\"}],\"select\":[\"symbol\",\"atm_iv\",\"rv_20d\",\"vrp_20d\"],\"limit\":20}"
  2. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"JSON query, e.g. {\"filters\":[...],\"sort\":[...],\"select\":[...],\"limit\":50}. See docs/screener.md for available fields and operators."New value: +"JSON body. ALL keys optional; an empty {} returns your whole universe with default columns.\nShape: {\"filters\":<node>,\"sort\":[{\"field\":\"<f>\",\"direction\":\"desc|asc\"}],\"select\":[\"symbol\",\"<f>\"],\"limit\":50}\nfilters <node> is either a LEAF {\"field\":\"<f>\",\"operator\":\"<op>\",\"value\":<v>} or a GROUP {\"op\":\"and|or\",\"conditions\":[<node>,...]} (nest up to 3 deep, max 20 leaves).\noperators: eq, neq, gt, gte, lt, lte, between (value=[lo,hi]), in (value=[...]), is_null, is_not_null.\ncommon fields: regime (positive_gamma|negative_gamma), net_gex, net_dex, gamma_flip, call_wall, put_wall, max_pain, zero_dte_magnet, zero_dte_pct_of_total, atm_iv, rv_20d, vrp_20d, skew_25d, term_state, pc_ratio_oi, price. Alpha-only fields: vrp_z_score, vrp_percentile, harvest_score, dealer_flow_risk, iron_condor_score, short_strangle_score, calendar_spread_score (plus `formulas` and `offset`).\nExamples:\n- most negative gamma: {\"sort\":[{\"field\":\"net_gex\",\"direction\":\"asc\"}],\"select\":[\"symbol\",\"net_gex\",\"regime\",\"price\"],\"limit\":10}\n- richest VRP in positive gamma: {\"filters\":{\"op\":\"and\",\"conditions\":[{\"field\":\"regime\",\"operator\":\"eq\",\"value\":\"positive_gamma\"},{\"field\":\"vrp_20d\",\"operator\":\"gte\",\"value\":2.5}]},\"sort\":[{\"field\":\"vrp_20d\",\"direction\":\"desc\"}],\"limit\":15}\n- highest IV names: {\"sort\":[{\"field\":\"atm_iv\",\"direction\":\"desc\"}],\"select\":[\"symbol\",\"atm_iv\",\"rv_20d\",\"vrp_20d\"],\"limit\":20}"
  3. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already carry readOnlyHint=true, so the description only needs to add non-obvious behavior. It does: universe-wide one-call semantics and tier caps ('Growth = top 10 symbols; Alpha = ~250 symbols + formulas') plus the filter/sort/select capability surface. No output-schema mention of the response format is a modest gap, but the read-only safety profile is fully covered.

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?

The description is front-loaded with the main purpose and usage trigger, then condenses capability and tier notes at the end. It is moderately long but every sentence adds value; only minor redundancy exists where it lists capabilities already detailed in the schema.

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?

For a complex 2-param tool, the description plus annotations and a 100%-covered schema form a complete picture. The description adds the key missing context (when to prefer it, universe scope, result-size caps). With no output schema, a brief note on the response shape would push this higher, but returns are reasonably inferable from the select field.

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% and the query param description is exceptionally thorough (JSON shape, operators, field list, multiple worked examples, empty-{} default), so the schema carries the load. The description contributes only marginal extra semantics (universe scope, tier caps that bear on the limit/select fields), which keeps it at the baseline 3.

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 states a specific verb and resource ('Find, rank, and compare symbols across the whole universe in ONE call') and sharply distinguishes the tool from the per-symbol siblings by scoping it to whole-universe, cross-sectional queries. It even names the triggering user intents, which makes it unambiguous against the many get_* single-ticker 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?

Gives explicit when-to-use criteria ('whenever the user does NOT name a single ticker but asks which/what/find/scan/screen/rank/top/most/highest/lowest'), concrete example phrasings, and an explicit routing preference ('Prefer this over calling per-symbol tools in a loop'). Nothing is left to inference.

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