Skip to main content
Glama

Leeway Financial Data

general_screener

general_screener
Read-only

Screen stocks by listing fields, Highlights, keyfigures (incl. aliases like pe/roe/market_cap), and/or market signals. At least one of filters, signals, or preset is required. Supports preset=quality with explicit thresholds; pagination up to limit 1000. See OpenAPI filters/signals/preset params for the full field catalog.

Input Schema

NameRequiredDescriptionDefault
sortNoSort by a numeric result field using field.asc or field.desc. market_capitalization is in the listing currency. MarketCapitalizationUSD is in USD, converted from the listing currency at the latest available FX rate. Sorting by MarketCapitalizationUSD requires a filter on MarketCapitalizationUSD or market_cap_usd.. Example: market_capitalization.desc
limitNoNumber of results to return. Default 50, min 1, max 1000.. Example: 50
offsetNoPagination offset. Default 0, max 999.. Example: 0
presetNoNamed filter preset. Currently: quality (ReturnOnEquityTTM>0.15, ReturnOnAssetsTTM>0.1, OperatingMarginTTM>0.15, debt_to_equity<0.5, current_ratio>1.5, interest_coverage>5, earnings_growth_5y_cagr>0.05, sales_growth_5y_cagr>0.05, free_cashflow>0, MarketCapitalizationUSD>10000000000, PERatio<30). Matching filter fields in filters override the preset thresholds. Max limit 1000.. Example: quality
filtersNoJSON array of [field, op, value]. Listing fields: adjusted_close, avgvol_1d, avgvol_200d, code, dividend_yield, earnings_share, exchange, industry, market_capitalization, name, refund_1d_p, refund_5d_p, sector. Highlights: BookValue, DilutedEpsTTM, DividendShare, DividendYield, EBITDA, EPSEstimateCurrentQuarter, EPSEstimateCurrentYear, EPSEstimateNextQuarter, EPSEstimateNextYear, EarningsShare, GrossProfitTTM, MarketCapitalization, MarketCapitalizationMln, MostRecentQuarter, OperatingMarginTTM, PEGRatio, PERatio, ProfitMargin, QuarterlyEarningsGrowthYOY, QuarterlyRevenueGrowthYOY, ReturnOnAssetsTTM, ReturnOnEquityTTM, RevenuePerShareTTM, RevenueTTM, WallStreetTargetPrice. Keyfigures: EBITDA_margin, EBITDA_margin_rolling_quarters, EBIT_margin, EBIT_margin_rolling_quarters, EPSEstimateCurrentQuarter, EPSEstimateCurrentYear, EPSEstimateNextQuarter, EPSEstimateNextYear, ForwardPE, PEGRatio, PercentInsiders, PercentInstitutions, ShortPercentFloat, analyst_rating, analyst_upside, cashflow_growth, cashflow_growth_rolling_quarters, cashflow_margin, cashflow_margin_rolling_quarters, current_ratio, current_ratio_rolling_quarters, debt_to_equity, debt_to_equity_rolling_quarters, dynamic_debt, dynamic_debt_rolling_quarters, earnings_growth, earnings_growth_5y_cagr, earnings_growth_rolling_quarters, equity_ratio, equity_ratio_rolling_quarters, estimate_eps_growth_1y, estimate_eps_growth_2y, free_cashflow, free_cashflow_rolling_quarters, free_cashflow_yield, free_cashflow_yield_rolling_quarters, gross_margin, gross_margin_rolling_quarters, interest_coverage, interest_coverage_rolling_quarters, leverage, leverage_rolling_quarters, liquidity, liquidity_rolling_quarters, net_income_margin, net_income_margin_rolling_quarters, r_and_d_investment_sales, r_and_d_investment_sales_rolling_quarters, return_on_assets, return_on_assets_rolling_quarters, return_on_equity, return_on_equity_rolling_quarters, return_on_liabilities, return_on_liabilities_rolling_quarters, sales_growth, sales_growth_3y_cagr, sales_growth_5y_cagr, sales_growth_rolling_quarters, stock_buybacks, stock_buybacks_rolling_quarters, wallstreet_estimate_upside. Derived: MarketCapitalizationUSD is USD-normalized from local-currency Highlights.MarketCapitalization using the latest available FX rate. Aliases: ebit_margin→EBIT_margin, market_cap→MarketCapitalization, market_cap_usd→MarketCapitalizationUSD, operating_margin→OperatingMarginTTM, pe→PERatio, pe_ratio→PERatio, roa→ReturnOnAssetsTTM, roe→ReturnOnEquityTTM. String ops: =, match. Numeric ops: =, >, <, >=, <=.. Example: [["exchange","=","XETRA"],["pe","<",15]]
signalsNoComma-separated market signals: 200d_new_hi (price at a new 200-day high); 200d_new_lo (price at a new 200-day low); 50d_new_hi (price at a new 50-day high); 50d_new_lo (price at a new 50-day low); bookvalue_neg (price below book value); bookvalue_pos (price above book value); wallstreet_hi (price above Wall Street target); wallstreet_lo (price below Wall Street target).. Example: 200d_new_hi

Output Schema

NameRequiredDescriptionDefault
dataNo
totalNo
presetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / filters
      Added value: +{
      +  "description": "JSON array of [field, op, value]. Listing fields: adjusted_close, avgvol_1d, avgvol_200d, code, dividend_yield, earnings_share, exchange, industry, market_capitalization, name, refund_1d_p, refund_5d_p, sector. Highlights: BookValue, DilutedEpsTTM, DividendShare, DividendYield, EBITDA, EPSEstimateCurrentQuarter, EPSEstimateCurrentYear, EPSEstimateNextQuarter, EPSEstimateNextYear, EarningsShare, GrossProfitTTM, MarketCapitalization, MarketCapitalizationMln, MostRecentQuarter, OperatingMarginTTM, PEGRatio, PERatio, ProfitMargin, QuarterlyEarningsGrowthYOY, QuarterlyRevenueGrowthYOY, ReturnOnAssetsTTM, ReturnOnEquityTTM, RevenuePerShareTTM, RevenueTTM, WallStreetTargetPrice. Keyfigures: EBITDA_margin, EBITDA_margin_rolling_quarters, EBIT_margin, EBIT_margin_rolling_quarters, EPSEstimateCurrentQuarter, EPSEstimateCurrentYear, EPSEstimateNextQuarter, EPSEstimateNextYear, ForwardPE, PEGRatio, PercentInsiders, PercentInstitutions, ShortPercentFloat, analyst_rating, analyst_upside, cashflow_growth, cashflow_growth_rolling_quarters, cashflow_margin, cashflow_margin_rolling_quarters, current_ratio, current_ratio_rolling_quarters, debt_to_equity, debt_to_equity_rolling_quarters, dynamic_debt, dynamic_debt_rolling_quarters, earnings_growth, earnings_growth_5y_cagr, earnings_growth_rolling_quarters, equity_ratio, equity_ratio_rolling_quarters, estimate_eps_growth_1y, estimate_eps_growth_2y, free_cashflow, free_cashflow_rolling_quarters, free_cashflow_yield, free_cashflow_yield_rolling_quarters, gross_margin, gross_margin_rolling_quarters, interest_coverage, interest_coverage_rolling_quarters, leverage, leverage_rolling_quarters, liquidity, liquidity_rolling_quarters, net_income_margin, net_income_margin_rolling_quarters, r_and_d_investment_sales, r_and_d_investment_sales_rolling_quarters, return_on_assets, return_on_assets_rolling_quarters, return_on_equity, return_on_equity_rolling_quarters, return_on_liabilities, return_on_liabilities_rolling_quarters, sales_growth, sales_growth_3y_cagr, sales_growth_5y_cagr, sales_growth_rolling_quarters, stock_buybacks, stock_buybacks_rolling_quarters, wallstreet_estimate_upside. Derived: MarketCapitalizationUSD is USD-normalized from local-currency Highlights.MarketCapitalization using the latest available FX rate. Aliases: ebit_margin→EBIT_margin, market_cap→MarketCapitalization, market_cap_usd→MarketCapitalizationUSD, operating_margin→OperatingMarginTTM, pe→PERatio, pe_ratio→PERatio, roa→ReturnOnAssetsTTM, roe→ReturnOnEquityTTM. String ops: =, match. Numeric ops: =, >, <, >=, <=.. Example: [[\"exchange\",\"=\",\"XETRA\"],[\"pe\",\"<\",15]]",
      +  "type": "string"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "Number of results to return. Default 50, min 1, max 1000.. Example: 50",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "description": "Pagination offset. Default 0, max 999.. Example: 0",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • addedInput schema / properties / preset
      Added value: +{
      +  "description": "Named filter preset. Currently: quality (ReturnOnEquityTTM>0.15, ReturnOnAssetsTTM>0.1, OperatingMarginTTM>0.15, debt_to_equity<0.5, current_ratio>1.5, interest_coverage>5, earnings_growth_5y_cagr>0.05, sales_growth_5y_cagr>0.05, free_cashflow>0, MarketCapitalizationUSD>10000000000, PERatio<30). Matching filter fields in filters override the preset thresholds. Max limit 1000.. Example: quality",
      +  "type": "string"
      +}
    • addedInput schema / properties / signals
      Added value: +{
      +  "description": "Comma-separated market signals: 200d_new_hi (price at a new 200-day high); 200d_new_lo (price at a new 200-day low); 50d_new_hi (price at a new 50-day high); 50d_new_lo (price at a new 50-day low); bookvalue_neg (price below book value); bookvalue_pos (price above book value); wallstreet_hi (price above Wall Street target); wallstreet_lo (price below Wall Street target).. Example: 200d_new_hi",
      +  "type": "string"
      +}
    • addedInput schema / properties / sort
      Added value: +{
      +  "description": "Sort by a numeric result field using field.asc or field.desc. market_capitalization is in the listing currency. MarketCapitalizationUSD is in USD, converted from the listing currency at the latest available FX rate. Sorting by MarketCapitalizationUSD requires a filter on MarketCapitalizationUSD or market_cap_usd.. Example: market_capitalization.desc",
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered; the description adds genuinely useful behavior beyond that: the required-parameter constraint, the limit ceiling of 1000, and that preset thresholds are overridable by matching filter fields. It does not describe result ordering defaults or how aliases resolve at query time.

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 purpose, then the required-input rule, then capability details; four sentences with little padding. The final 'See OpenAPI filters/signals/preset params' sentence is somewhat redundant given the schema is fully documented, but it is short.

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 six-parameter, no-required-field screening tool with a full schema and an output schema, the description covers the essential operational facts: what is screened, the required-input constraint, preset support, and pagination cap. Return-value shape is rightly left to the output schema.

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 schema already enumerates the full field catalog, aliases, operators, and the exact quality preset thresholds. The description largely restates this (aliases, preset thresholds, limit 1000) and then defers back to the schema for the catalog, so it adds little meaning beyond the structured data — baseline 3.

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 verb ('Screen stocks') and the dimensions being screened on (listing fields, Highlights, keyfigures, market signals), which is clearly distinct from single-entity siblings like fundamentals or market_cap. It stops short of naming an alternative tool or explicitly contrasting its multi-stock filtering role against the sibling data-fetch tools.

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

Usage Guidelines4/5

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

Provides a hard usage rule — 'At least one of filters, signals, or preset is required' — which prevents an empty call and is exactly the kind of precondition an agent needs. It also points to preset=quality as a supported entry path, but gives no when-not guidance or comparison to alternative screening/data tools.

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