Skip to main content
Glama

get_etf_screener

Read-onlyIdempotent

Filters ETFs by asset class, category, and focus.

Args:
    assetClass: Alternatives, AssetAllocation, Commodities, Currency, Equity, FixedIncome.
                Its parameter description lists the category and focus values each
                class answers.
    category: e.g. SizeAndStyle (Equity's broad-market funds), Sector,
              CorporateBroadBased.
    focus: e.g. TotalMarket, LargeCap, InformationTechnology, HighYield.
           Use this for a sector question ('tech ETFs' -> InformationTechnology);
           the screener has no `sector` filter.
           For a factor or region fund (momentum, growth, emerging markets), look
           up the ETFs you know for it by ticker with get_assets_data.
    limit: Rows to return (default 20, max 100).

Returns: `count` (all ETFs matching the filters) and `data` rows: ticker, name,
         price, smartScore, analystConsensus, priceTarget, upsidePct,
         dividendYieldPct, expenseRatioPct, aum, currency, assetClass, segment,
         category, focus, index, brand, holdingsCount, isCurrencyHedged and
         isUcitsCompliant (true/false), and isLeveraged/isInverse/isActivelyManaged
         when true.

Input Schema

NameRequiredDescriptionDefault
focusNoFocus filter, e.g. 'LargeCap', 'InformationTechnology', 'HighYield'. This is the screener's SECTOR filter — there is no separate sector parameter.
limitNoRows to return (default: 20, max: 100).
categoryNoCategory filter, e.g. 'SizeAndStyle', 'Sector', 'CorporateBroadBased' (the values per assetClass are listed under assetClass)
assetClassNoAsset class filter. Each class with the category and focus values it answers, spelled exactly as listed (a category or focus taken from another assetClass matches no ETF): Equity: category SizeAndStyle, Sector, HighDividendYield; focus TotalMarket, LargeCap, MidCap, SmallCap, MicroCap, ExtendedMarket, InformationTechnology, Financials, Industrials, HealthCare, ConsumerDiscretionary, Energy, RealEstate, CommunicationServices, Materials, ConsumerStaples, Utilities, Theme, HighDividendYield; broad-market funds (S&P 500, total market) are category SizeAndStyle, focus LargeCap or TotalMarket FixedIncome: category BroadMarketBroadBased, CorporateBroadBased, GovernmentLocalAuthorityMunicipal, GovernmentTreasury, GovernmentInflationLinked, CorporateBankLoans, CorporatePreferred, BroadMarketAssetBacked, GovernmentBroadBased, GovernmentMortgageBacked, GovernmentNonNativeCurrency, CorporateConvertible, CorporateAssetBacked, GovernmentAgency; focus InvestmentGrade, BroadCredit, HighYield Commodities: category PreciousMetals, BroadMarket, Energy, Agriculture, IndustrialMetals; focus BroadMarket, Gold, Silver, CrudeOil, NaturalGas, Copper, Platinum, CarbonCredits, Palladium, Wheat, Corn, Gasoline, Sugar, Soybeans Currency: category Pair, Basket; no focus filter; spot crypto funds (bitcoin, ether) are assetClass Currency Alternatives: category HedgeFundStrategies, TacticalTools; focus GlobalMacro, LongShort, Volatility, Spreads; buffer, defined-outcome and option-income funds have no filter value: screen assetClass=Alternatives alone AssetAllocation: category AssetAllocation; focus TargetOutcome, TargetRisk, TargetDate Factor and region funds (momentum, growth, value, quality, low volatility, emerging markets, Asia, Europe) have no screener value: look up the ETFs you know for them by ticker with get_assets_data (MTUM, SPMO for momentum; VWO, IEMG for emerging markets).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / assetClass / description
      Previous value: -"Asset class filter, e.g. 'Equity', 'FixedIncome', 'Commodities'"New value: +"Asset class filter. Each class with the category and focus values it answers, spelled exactly as listed (a category or focus taken from another assetClass matches no ETF):\nEquity: category SizeAndStyle, Sector, HighDividendYield; focus TotalMarket, LargeCap, MidCap, SmallCap, MicroCap, ExtendedMarket, InformationTechnology, Financials, Industrials, HealthCare, ConsumerDiscretionary, Energy, RealEstate, CommunicationServices, Materials, ConsumerStaples, Utilities, Theme, HighDividendYield; broad-market funds (S&P 500, total market) are category SizeAndStyle, focus LargeCap or TotalMarket\nFixedIncome: category BroadMarketBroadBased, CorporateBroadBased, GovernmentLocalAuthorityMunicipal, GovernmentTreasury, GovernmentInflationLinked, CorporateBankLoans, CorporatePreferred, BroadMarketAssetBacked, GovernmentBroadBased, GovernmentMortgageBacked, GovernmentNonNativeCurrency, CorporateConvertible, CorporateAssetBacked, GovernmentAgency; focus InvestmentGrade, BroadCredit, HighYield\nCommodities: category PreciousMetals, BroadMarket, Energy, Agriculture, IndustrialMetals; focus BroadMarket, Gold, Silver, CrudeOil, NaturalGas, Copper, Platinum, CarbonCredits, Palladium, Wheat, Corn, Gasoline, Sugar, Soybeans\nCurrency: category Pair, Basket; no focus filter; spot crypto funds (bitcoin, ether) are assetClass Currency\nAlternatives: category HedgeFundStrategies, TacticalTools; focus GlobalMacro, LongShort, Volatility, Spreads; buffer, defined-outcome and option-income funds have no filter value: screen assetClass=Alternatives alone\nAssetAllocation: category AssetAllocation; focus TargetOutcome, TargetRisk, TargetDate\nFactor and region funds (momentum, growth, value, quality, low volatility, emerging markets, Asia, Europe) have no screener value: look up the ETFs you know for them by ticker with get_assets_data (MTUM, SPMO for momentum; VWO, IEMG for emerging markets)."
    • changedInput schema / properties / category / description
      Previous value: -"Category filter, e.g. 'Sector', 'BroadMarket', 'HighDividendYield'"New value: +"Category filter, e.g. 'SizeAndStyle', 'Sector', 'CorporateBroadBased' (the values per assetClass are listed under assetClass)"
  2. Changed2 schema fields changed
    • changedInput schema / properties / focus / description
      Previous value: -"Focus filter, e.g. 'LargeCap', 'InformationTechnology', 'HighYield'"New value: +"Focus filter, e.g. 'LargeCap', 'InformationTechnology', 'HighYield'. This is the screener's SECTOR filter — there is no separate sector parameter."
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 0,
      +  "description": "Rows to return (default: 20, max: 100).",
      +  "title": "Limit",
      +  "type": "integer"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "get_etf_screenerOutput",
      -  "type": "object"
      -}New value: +null
  4. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld, so the safety profile is covered; the description adds the meaningful extras — the absence of a sector filter, the empty-result failure mode for mismatched filter values, and the limit default/max. It stops short of describing pagination or ordering behavior, so it is strong rather than exhaustive.

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 single-sentence purpose followed by cleanly separated Args and Returns blocks. Some of the Args text restates the schema's assetClass enumeration in condensed form, which is mild redundancy, but the Returns field list earns its space because no output schema exists.

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 no output schema, the description carries the full return contract — `count` plus the exact row fields including conditional flags like isLeveraged/isActivelyManaged 'when true'. Combined with defaults, limits, and the fallback path for uncovered factors/regions, an agent has everything needed to call it correctly and interpret the result.

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?

Schema coverage is 100% and the assetClass field description is already extremely detailed, so much of the Args section duplicates structured data. It still adds interpretive value by recasting `focus` as the de-facto sector filter and giving worked examples ('tech ETFs' -> InformationTechnology) that clarify intent rather than just enumerating values.

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 and resource ('Filters ETFs') and enumerates the three facets it screens on, which distinguishes it from the single-ticker siblings like get_etf_analysis and get_etf_holdings. It also explicitly routes factor/region queries away to get_assets_data, so an agent can pick the right tool without opening a schema.

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 ('tech ETFs' -> focus=InformationTechnology), an explicit when-not (the screener has no `sector` filter), and a named alternative with concrete ticker examples ('momentum -> MTUM/SPMO via get_assets_data'). The assetClass section further warns that values taken from the wrong class match no ETF, which prevents a costly misuse.

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