Skip to content
Docs

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
On this page

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.

Was this page helpful?

Something wrong or missing on this page? Email [email protected]