Screen Dividends
screen_dividendsπ° THE income screener β "which stocks pay a high / reliable / growing DIVIDEND?" Ranks the DIVIDEND-PAYING
universe (all payers, not just news-covered) and hands you the raw pieces to tell a real income name from a YIELD
TRAP (don't trust a headline yield).
π΄ A multi-metric ask that also needs P/E / financial-health (dividend AND low P/E AND healthy) belongs in
screen_unified (a fundamental leg + dividend_min_streak_years/dividend_min_cagr gate). THIS tool is the
dividend specialist (no P/E filter) but it both INCLUDES (gics) and EXCLUDES (exclude_gics) a sector.
Scope (country/gics) is OPTIONAL β omit both for a fast whole-market rank.
π΄ no_cut_streak_yrs is a bounded RELIABILITY signal, capped at 10 (clean across the tracked decade incl. 2020/
2022 stress) β NOT the dividend's full age; never state a multi-decade "aristocrat/king" streak, say "clean 10y+".
Each row's dividend block decomposes the yield: yield_pct (forward/sustainable β quote this), yield_trailing_pct
(>> yield_pct β a special inflated it), payout_ratio (>1 = unsustainable), ttm_div_yoy_pct, no_cut_streak_yrs,
last_cut_year, cagr_5y_pct, plus week52_high/low + pe_ratio/pb_ratio/eps + a news block. π΄ Never rank on
yield alone: high yield + recent last_cut_year + negative yoy + high payout + bad news = TRAP; high yield from a
price drop + intact/growing dividend + long streak = possible VALUE. Read the payload's _guide. limit default 15 (max 50).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "screen_dividends"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gics | No | A GICS sector/industry β a CODE PREFIX (sector `25` / group `2550` / industry `255010` / sub `25501010`, CSV for several) OR plain English ('banks', 'semiconductors', 'biotech'); the server resolves it. π΄ ENGLISH (translate the concept first: ΰΈΰΈΰΈ²ΰΈΰΈ²ΰΈ£β'banks'). So 'European banks' = gics='banks' + country=EU codes. | |
| limit | No | Max rows (default 20, hard cap 50). Keep SMALL + narrow the scope; page/refine rather than dump β heavily-covered assets have hundreds of articles. | |
| country | No | Market filter β CSV of ISO-2 codes (e.g. `US` or `CN,TW,HK`). π If the question names a NATIONALITY or REGION ('European','Thai','Chinese','ASEAN'), put it HERE β never leave it inside a concept/`q`/`gics` field. Enumerate a region into its member ISO-2s yourself (EuropeβGB,DE,FR,IT,ES,NL,CH,SE; ASEANβTH,SG,MY,ID,PH,VN). | |
| min_cagr | No | Min 5-year dividend CAGR, %. | |
| order_by | No | `yield` (default) | `streak` | `cagr`. | |
| max_yield | No | Max yield % β guards against trap-tier yields. | |
| min_yield | No | Min dividend yield in PERCENT (3 = 3%). | |
| max_payout | No | Max payout ratio β 'high yield but payout NOT stretched'. Fraction (0.7) or percent (70). | |
| exclude_gics | No | OPTIONAL β EXCLUDE a sector/industry from the screen (GICS code prefix e.g. '4010', OR plain English 'banks' β the server resolves the name). 'high-yield stocks but NOT banks' = exclude_gics='banks'. A stock with no GICS classification is KEPT. | |
| min_streak_years | No | Min no-cut streak years (0β10; caps at 10 = clean across the whole tracked decade). HIGHER = more reliable. A low bar lets a name that CUT recently through β it may have only rebuilt a short streak since its `last_cut_year`, so a short streak β 'stable'. The stronger the 'safe / stable / hold-for-years' intent, the closer to the cap you should set it. | |
| max_market_cap_usd | No | Max market cap, USD. | |
| min_market_cap_usd | No | Min market cap, USD. |