Screening
Filter the whole market on fundamentals and technicals. The DocStoX MCP tools in this group, what each returns and the parameters it takes.
Updated 1 October 2026
You do not call these tools yourself. Ask your question in plain English and your AI picks the right one.
screen_stocksPro
Screen stocks
Custom stock screener with fundamental, technical, market, ownership and corporate-action filters.
min_peoptional- Minimum trailing P/E ratio (price / EPS), e.g. 5.
max_peoptional- Maximum trailing P/E ratio, e.g. 20.
min_pboptional- Minimum price-to-book ratio, e.g. 0.5.
max_pboptional- Maximum price-to-book ratio, e.g. 3.
min_roeoptional- Minimum return on equity, percent (15 = 15%).
min_roceoptional- Minimum return on capital employed, percent (20 = 20%).
min_roaoptional- Minimum return on assets, percent (5 = 5%).
min_roicoptional- Minimum return on invested capital, percent.
min_net_marginoptional- Minimum net profit margin, percent.
min_ebitda_marginoptional- Minimum EBITDA margin, percent.
max_altman_zoptional- Maximum Altman Z (distress screening).
max_debt_equityoptional- Maximum debt-to-equity ratio as a multiple (0.5 = debt is half of equity).
max_net_debt_ebitdaoptional- Maximum net debt / EBITDA as a multiple, e.g. 2.
min_interest_coverageoptional- Minimum interest coverage (EBIT / interest) as a multiple, e.g. 3.
min_free_cash_flowoptional- Minimum latest annual free cash flow in ₹ crore; 0 keeps only FCF-positive companies.
min_rsioptional- Minimum 14-day RSI (0-100), e.g. 50.
max_rsioptional- Maximum 14-day RSI (0-100), e.g. 70.
sectoroptional- Sector name, e.g. 'Information Technology'. Case-insensitive.
market_cap_catoptional- Size band. A trailing ' Cap' is stripped before the query, so either spelling works.
min_revenue_yoy_pctoptional- Minimum revenue growth vs the same period a year earlier, percent (15 = 15%).
min_pat_yoy_pctoptional- Minimum net-profit (PAT) growth year on year, percent.
min_piotroskioptional- Minimum Piotroski F-score (0-9); 7+ is strong.
min_altman_zoptional- Minimum Altman Z-score; above ~3 is the 'safe' zone, below 1.8 distress.
max_promoter_pledgedoptional- BROKEN: reads mv_screener_snapshot.promoter_pledged_pct, which is ~0% populated in this DB, so any value here matches almost nothing. Use screen_advanced with the own_pledged_pct metric instead, which reads the source table.
min_promoter_pctoptional- Minimum promoter holding %. Also sparse here; screen_advanced own_promoter_pct reads the source table.
supertrend_bullishoptional- true = Supertrend indicator in an uptrend; false = downtrend.
near_52w_lowoptional- Within 5% of the 52-week low.
new_52w_highoptional- Printed a new 52-week high.
volume_breakoutoptional- Volume broke out versus its own average.
golden_crossoptional- true = 50-day SMA crossed above the 200-day SMA in the latest session.
above_sma200optional- true = price above its 200-day simple moving average.
min_delivery_pctoptional- Minimum delivery percentage of traded volume (0-100), e.g. 50.
min_listing_age_monthsoptional- Minimum months since listing. Defaults to 3 (thin history breaks technical screens); pass 0 to include new listings.
has_upcoming_corporate_actionoptional- true = an ex-date (dividend, bonus, split, rights, buyback) falls within catalyst_window_days.
catalyst_window_daysoptional- Days ahead to look for an ex-date when has_upcoming_corporate_action=True.
sort_byoptional- Column to rank by.
sort_diroptional- DESC = largest first, ASC = smallest first.
limitoptional- Max rows to return (1-100).
screen_advancedPro
Screen advanced
THE stock-discovery primitive: compile an investment THESIS into a screen.
filtersoptional- Filter tree. A leaf is {"metric": <id>, "op": ">=|<=|>|<|==|!=", "value": <number|bool|text>}. Combine with {"all":[...]} (AND), {"any":[...]} (OR) and {"not": <node>}; nesting is allowed. A plain list is treated as AND. Metric ids come from list_screener_metrics().
sort_byoptional- Ranking. A metric name, or a list for multi-key ranking: [{"metric":"pat_yoy_pct","dir":"DESC"},{"metric":"pe_ratio","dir":"ASC"}]. An unknown key is REJECTED, never silently defaulted.
sort_diroptional- Direction for a plain-string sort_by: DESC = largest first, ASC = smallest first.
limitoptional- Max rows to return (1-100).
exclude_etfsoptional- Drop ETFs/fund units, which otherwise top any cheapness ranking (a Kotak ETF shows P/B 0.08).
min_listing_age_monthsoptional- Exclude recent listings; thin history breaks technical and multi-year screens. 0 to include them.
min_liquidityoptional- Require market cap >=100cr and 30d avg volume >=5,000 shares. Without it, ranking by a quality or growth metric surfaces untradeable shells whose ratios are noise.
list_screener_metricsPro
List screener metrics
Discover every metric screen_stocks can filter and sort on.
categoryoptional- Metric family, e.g. growth | valuation | quality | balance_sheet. Omit for all.
filterable_onlyoptional- Legacy flag: every metric listed is filterable, so this is a no-op kept for compatibility.
min_coverage_pctoptional- Drop metrics covering less of the universe than this.
searchoptional- Substring match on metric id or description.
Related
Was this page helpful?
Something wrong or missing on this page? Email [email protected]