KEY TAKEAWAYS
- One call,
get_peer_comparison, returns close to twenty ratios per company, plus the peer median for the main ones. - Return and margin ratios are fractions (0.4511 is 45.11 percent). Multiples are plain numbers. Check the unit before you filter.
- ROCE, interest coverage and EV/EBITDA are null for banks, NBFCs and insurers by design.
Where does each ratio come from?
The tools below read a cache of filed results, end-of-day prices and shareholding data. Nothing is a forecast. Each row says which call to use.
| Ratio | Tool and field | Unit as returned | Banks, NBFCs, insurers |
|---|---|---|---|
| P/E | get_peer_comparison: pe. screen_stocks: pe. History: get_valuation_history | Multiple | Populated |
| P/B | get_peer_comparison: pb. History: get_valuation_history | Multiple | Populated |
| ROE | get_peer_comparison: roe. screen_stocks: roe | Fraction | Populated |
| ROCE | get_peer_comparison: roce. screen_stocks: roce | Fraction | Null (general companies only) |
| Debt to equity | get_peer_comparison: debt_to_equity. screen_stocks: debt_to_equity | Multiple | Null in the HDFC Bank check |
| Interest coverage | get_peer_comparison: interest_coverage. get_financials: interest_coverage_history | Multiple | Null |
| EV/EBITDA | get_peer_comparison: ev_to_ebitda. History: get_valuation_history | Multiple | Null |
| EBITDA and net margin | get_financials: ratios. get_peer_comparison: ebitda_margin, net_margin | Fraction | EBITDA margin null, net margin populated |
| Revenue and profit growth | get_financials: growth (annual year-on-year, 3 and 5 year CAGR) | Fraction | Not checked for a bank |
get_peer_comparison also returns market cap, price, revenue and net income on a trailing twelve month basis, ROA, EV, EV/EBIT, earnings yield, price to cash flow, price to free cash flow, FCF yield and book value per share. get_financials returns the filed statements, margins, a growth block, interest coverage history and a book value history with a P/B figure for each year end.
What does a real answer look like?
This is the Infosys (INFY) row from a peer comparison on 29 October 2026. ROCE is 0.4511, which is 45.11 percent. P/E is 14.8388 and debt to equity is 0.0. The values were cached on 28 October 2026 at 14:45 UTC. Market cap is in rupees, so 4,551,003,800,000 is ₹4,55,100 crore (divided by 10 million).
{
"nse_symbol": "INFY",
"company_type": "general",
"market_cap": 4551003800000.0,
"price": 1123.15,
"pe": 14.8388,
"pb": 4.5934,
"roe": 0.3259,
"roce": 0.4511,
"debt_to_equity": 0.0,
"interest_coverage": 96.9385,
"ev_to_ebitda": 9.0228,
"net_margin": 0.1591,
"ebitda_margin": 0.2468,
"cached_at": "2026-10-28T14:45:02+00:00"
}Trimmed from the live response: one row of four, some fields removed, no value changed.
Is there a historical P/E for an Indian stock?
Yes. get_valuation_history returns P/E, price to sales, P/B, book value per share, market cap, EV, EV/EBITDA, EV/EBIT and earnings yield. You set the span (1 to 1,825 days) and the spacing (daily, weekly or monthly). Each point uses only the results that were public by that day's close. A filing counts from its own session if filed before the 15:30 IST close, and from the next session otherwise.
For Infosys, three weekly points show how this works. The P/E on 16 October is 15.6644 against the June quarter. By 28 October the Q2 FY27 result, filed on 23 October, is the basis and the P/E is 14.8388. The tool lists each filing it used in a financial_bases block.
{ "date": "2026-10-09", "close": 1023.4, "pe": 13.8055, "pb": 4.4616, "ev_to_ebitda": 8.3919, "financial_period_end": "2026-06-30" }
{ "date": "2026-10-16", "close": 1161.2, "pe": 15.6644, "pb": 5.0624, "ev_to_ebitda": 9.5859, "financial_period_end": "2026-06-30" }
{ "date": "2026-10-28", "close": 1123.15, "pe": 14.8388, "pb": 4.5934, "ev_to_ebitda": 9.0134, "financial_period_end": "2026-09-30" }Trimmed from the live response: 3 of 5 points shown and some fields removed, no value changed.
How do units work?
Unit slips return nothing
roce > 22 asks for a ROCE above 2,200 percent and matches no company. State the dialect and the unit in your prompt.Which ratios are null for banks, NBFCs and insurers?
Some ratios have no valid meaning for a financial company. The server returns null for them and does not estimate. In a live peer comparison for HDFC Bank on 29 October 2026, the bank's row returned null for ROCE, debt to equity, interest coverage, EV, EV/EBITDA, EV/EBIT, earnings yield, Piotroski F-score and Altman Z-score. It returned values for P/E (13.1712), P/B (1.7509), ROE (0.1457), ROA, net margin, price to cash flow and book value per share. The tool's own list of general-only ratios also covers EBITDA margin, operating margin, ROCE averages and a few working-capital ratios.
How many ratios are there?
The screener's ratio reference listed 112 ratios on 29 October 2026, 104 of them usable in a screen condition. The page reads the live registry and shows the definition, unit and DalalOS id for each. A ratio that is not yet computable is named in an error. It is never dropped without notice.
What are the limits?
How do I ask for it?
EXAMPLE PROMPTS
- Show Infosys’s P/E, P/B, ROE, ROCE, debt to equity and EV/EBITDA from DalalOS, with the date the data was cached.
- Give me the weekly P/E of TCS for the last 90 days. Say which quarter’s results each point uses.
- List five large NSE companies with ROCE of at least 0.2 and debt to equity at most 0.5. Show the units you used.
- Compare HDFC Bank’s P/E, P/B and ROE with its peers. Say which ratios are null for banks and why.
To set it up, connect your AI, or follow the guide for Claude or ChatGPT, Cursor and other clients. The server is at https://mcp.dalalos.in/mcp. The public repo is DalalOS-Indian-Stock-Research on GitHub.
How we checked
On 29 October 2026 we called get_peer_comparison for Infosys and HDFC Bank, get_valuation_history and get_financials for Infosys, and screen_stocks. The ratio count comes from the live ratio reference page on the same date. The unit rules, the list of general-only ratios and the note on 5 year averages come from the screen_stocks and screen_by_query tool descriptions, and we did not test each of them. Figures change as companies file and caches refresh. This is research data, not investment advice, and DalalOS does not rank or rate stocks. Found an error? Email hello@dalalos.in.
FAQ
Common questions
- Which MCP server has Indian stock ratios like P/E, ROCE and debt to equity?
- DalalOS does. get_peer_comparison returns P/E, P/B, ROE, ROCE, debt to equity, interest coverage and EV/EBITDA for a company and its peers. screen_stocks and screen_by_query filter the whole universe on the same ratios. get_valuation_history returns P/E and other multiples over time. DalalOS publishes this page, so read the units and limits sections before you rely on it.
- Is there an MCP server for historical P/E of an Indian stock?
- Yes. get_valuation_history returns point-in-time P/E, P/B, price to sales, EV/EBITDA and earnings yield for 1 to 1,825 days, at daily, weekly or monthly spacing. Each point uses only the filings that were public on that trading day.
- How many ratios does DalalOS define?
- On 29 October 2026 the ratio reference page listed 112 ratios, 104 of them usable in a screen condition. The page reads the live registry, so the count can change.
- Are ratios returned as percent or as fractions?
- Return and margin ratios come back as fractions. A ROCE of 0.4511 means 45.11 percent. Multiples such as P/E and debt to equity come back as plain numbers. Shareholding fields are percentages. The screener has its own unit rules, described below.
- Why is ROCE null for a bank?
- ROCE, interest coverage, EBITDA margin, EV and EV/EBITDA are defined for general companies only. Banks, NBFCs and insurers return null for them. P/E, P/B, ROE and ROA still populate for banks.
- Are the ratios live?
- No. They are computed from filed results and end-of-day prices, then cached. The screener snapshot we read was computed on 28 October 2026 at 16:16 UTC. Each response carries cached_at.
- Is this investment advice?
- No. DalalOS returns filed figures and ratios from fixed formulas. It gives no buy or sell calls, target prices or ratings. Nothing on this page is investment advice.
Connect your AI to Indian stock market data
Add DalalOS as a connector and sign in once. Free to start with no card and no waitlist; paid plans from ₹199 a month when you need more.
KEEP EXPLORING