IOC
Indian Oil Corporation Ltd
- P/E
- 4.24
Key Fundamentals
LargecapPetroleum ProductsEnergyPrice-based figures as of · EPS basis: Consolidated · TTM
- ROCE
- 18.70%
- Debt to Equity
- 0.60
- EPS (TTM)
- ₹33.46
- Book Value
- ₹165.43
- Market Cap
- —
- P/E (TTM)
- 4.24
- P/B
- 0.86
- ROE
- 20.50%
- Dividend Yield
- 5.95%
- EBITDA
- ₹81,225 Cr
- 52W High
- ₹188.96
- 52W Low
- ₹124.92
- Day Range
- ₹137.61 – ₹142.03
- Volume
- 2,03,54,291
Peer Comparison
Energy › Petroleum Products › Refineries & Marketing
| ₹1,311.00 | 21.61 | ₹17,72,763 Cr | 1.88 | 0.46% | 8.91% | 10.30% | ₹11,99,033 Cr | ₹95,625 Cr | |
| ₹142.03 | 4.24 | ₹1,98,121 Cr | 0.86 | 5.95% | 20.50% | 18.70% | ₹9,33,821 Cr | ₹50,040 Cr | |
| ₹304.70 | 8.37 | ₹1,30,025 Cr | 1.30 | 5.89% | 28.80% | 25.60% | ₹5,38,088 Cr | ₹15,803 Cr | |
| ₹366.35 | 46.67 | ₹76,389 Cr | 1.48 | 6.88% | 30.90% | 22.20% | ₹4,71,530 Cr | ₹1,670 Cr | |
| ₹187.13 | 10.44 | ₹32,272 Cr | 1.92 | 1.67% | 14.50% | 18.00% | ₹1,09,564 Cr | ₹3,141 Cr | |
| ₹1,566.90 | 4.09 | ₹23,305 Cr | 1.72 | 1.62% | 31.80% | 34.90% | ₹80,427 Cr | ₹5,702 Cr | |
| ₹60.10 | — | ₹464 Cr | 3.95 | 0.00% | 33.90% | 78.60% | ₹66 Cr | ₹67 Cr | |
| Median 7 companies | ₹304.70 | 9.41 | ₹76,389 Cr | 1.72 | 1.67% | 28.80% | 22.20% | ₹4,71,530 Cr | ₹5,702 Cr |
Comparable companies in the same industry. Market cap, P/E and P/B use the latest price; other metrics are as reported in filings. A dash means the figure is not published for that company.
Tapetide Score
Data-driven rating, 0–100, as of . How it works →
Overall score
Data confidence 100/100
Category scores
- Quality
- 62
- Good
- Returns, margins, earnings quality 22% weight
- Valuation
- 89
- Strong
- Cheap vs sector & own history 24% weight
- Growth
- 68
- Strong
- Sales & profit trajectory 9% weight
- Financial Health
- 25
- Poor
- Solvency, leverage, coverage 9% weight
- Momentum
- 39
- Weak
- Trend strength, vol-adjusted 12% weight
- Ownership
- 52
- Average
- FII/DII/promoter flows 24% weight
The Tapetide Score is data analysis, not investment advice. Tapetide is not a SEBI-registered research analyst or investment adviser.
Key Insights
Strengths
4- Stock is trading at 0.79 times its book value
- Stock is providing a good dividend yield of 6.34%.
- Company is expected to give good quarter
- Company has been maintaining a healthy dividend payout of 32.3%
No weaknesses listed
Technical Indicators
| Group | Signal | Bearish | Neutral | Bullish |
|---|---|---|---|---|
| Overall | Strong Bullish | 6 | 2 | 11 |
| Oscillators | Strong Bearish | 5 | 2 | 2 |
| Moving Averages | Strong Bullish | 1 | 0 | 9 |
Oscillators
Strong Bearish
Overall
Strong Bullish
Moving Averages
Strong Bullish
Key readings
- RSI (14)
- 70.37
- Bearish
- MACD (12,26,9)
- 0.99
- Bullish
- SMA (50)
- 133.60
- Bullish
- SMA (200)
- 145.13
- Bearish
As of
Analyst Rating
18 of 30 analysts rate Buy, 5 Hold, 7 Sell.
As of
Growth Rate
From the financial statements below. 10Y, 5Y, 3Y: compound annual growth to Mar 2026; 1Y: fiscal year to Mar 2026 against Mar 2025; TTM: four quarters to Sep 2026 against Sep 2025.
Revenue
| 10Y | +8.53% |
|---|---|
| 5Y | +16.60% |
| 3Y | −2.32% |
| 1Y | +3.47% |
| TTM | +22.83% |
Net profit
| 10Y | +13.41% |
|---|---|
| 5Y | +14.95% |
| 3Y | +55.11% |
| 1Y | +216.75% |
| TTM | +96.13% |
Operating cash flow
| 10Y | +11.51% |
|---|---|
| 5Y | +8.93% |
| 3Y | +36.95% |
| 1Y | +121.01% |
| TTM | — |
TTM: Reported once a year, so there is no trailing-twelve-month figure.
Operating margin· change in pp
| 10Y | +3.46 pp |
|---|---|
| 5Y | −1.14 pp |
| 3Y | +6.18 pp |
| 1Y | +5.08 pp |
| TTM | +2.30 pp |
Revenue by year
| Mar 2017 | ₹3,55,379 Cr |
|---|---|
| Mar 2018 | ₹4,21,492 Cr |
| Mar 2019 | ₹5,28,158 Cr |
| Mar 2020 | ₹4,83,763 Cr |
| Mar 2021 | ₹3,63,950 Cr |
| Mar 2022 | ₹5,89,336 Cr |
| Mar 2023 | ₹8,41,756 Cr |
| Mar 2024 | ₹7,76,352 Cr |
| Mar 2025 | ₹7,58,106 Cr |
| Mar 2026 | ₹7,84,415 Cr |
Net profit by year
| Mar 2017 | ₹20,385 Cr |
|---|---|
| Mar 2018 | ₹22,626 Cr |
| Mar 2019 | ₹17,274 Cr |
| Mar 2020 | −₹1,876 Cr |
| Mar 2021 | ₹21,762 Cr |
| Mar 2022 | ₹25,727 Cr |
| Mar 2023 | ₹11,704 Cr |
| Mar 2024 | ₹43,161 Cr |
| Mar 2025 | ₹13,789 Cr |
| Mar 2026 | ₹43,677 Cr |
Analyst Forecasts
AI Analysis — Bull vs Bear
Indian Oil Corporation trades at ₹138.67 as of 2026-11-03 with a market cap of ₹1,95,650 crore, a P/E of 4.14x, and a P/B of 0.84x — all well below broader market averages. The stock offers a 6.13% dividend yield and has delivered 94% TTM profit growth, but its share price has declined 22% over the past year and sales have contracted at a 3-year CAGR of –2%.
- Deep value on a book-value basis: the stock trades at a P/B of 0.84x, meaning the market prices it below its net asset value per share.
- Exceptionally low earnings multiple at a TTM P/E of 4.14x, implying the market is pricing in very modest forward expectations despite strong recent profits.
- Attractive income proposition with a dividend yield of 6.13% and a consistent payout ratio of 32.3%, well above typical large-cap yields.
- TTM profit growth of 94% signals a sharp earnings recovery, with EPS reaching ₹33.46 on a trailing basis.
- Healthy return ratios with ROE at 19.37% and ROCE at 20.70% as of the latest period, indicating efficient capital deployment for a state-owned refiner.
- 10-year compounded profit growth of 14% demonstrates the company's ability to grow earnings through multiple commodity and policy cycles.
- Manageable leverage with a debt-to-equity ratio of 0.60x, reasonable for a capital-intensive downstream oil and gas operation.
- TTM sales growth of 23% shows a rebound in top-line momentum after a period of contraction, supporting the earnings recovery narrative.
- The stock has fallen 22% over the past one year and trades 26.6% below its 52-week high of ₹188.96, reflecting sustained negative sentiment.
- 3-year compounded sales CAGR is –2%, indicating the top line has struggled to grow on a medium-term basis despite a recent TTM rebound.
- As a government-controlled downstream company, IOC's fuel pricing is subject to political intervention, which can compress refining and marketing margins without warning.
- Long-term stock CAGR of just 2% over 10 years shows the market has historically rewarded shareholders poorly relative to broader indices, despite decent profit growth.
- Earnings are highly cyclical — the 94% TTM profit surge follows volatile swings, and the very low P/E of 4.14x likely reflects the market's view that peak-cycle earnings are not sustainable.
- India's long-term energy transition toward EVs, natural gas, and renewables poses a structural headwind for a company whose core business is petroleum refining and fuel retailing.
- Despite a 32.3% dividend payout ratio, the payout is ultimately contingent on government fiscal needs; dividends from PSU oil companies can fluctuate with policy priorities rather than pure business performance.
- Global crude oil price volatility directly impacts input costs and inventory gains or losses, making quarterly earnings difficult to predict — a risk underscored by the gap between 3-year sales CAGR of –2% and 3-year profit CAGR of 62%.
This is AI-generated analysis, not financial advice. Do your own due diligence.
AI News Digest
TL;DR: IOC delivered a blowout Q2 FY27 with ₹22,503 crore profit driven by strong GRMs at $18.52/bbl and ₹7,243 crore in government LPG compensation, but the latter introduces significant earnings lumpiness. A massive ₹1.04 trillion capex pipeline and imminent refinery commissioning support long-term capacity growth, though H1 capex execution at 37% needs acceleration. Key risks include gasoline demand peaking by 2035, Middle East supply disruptions pushing up freight costs, and dependence on government compensation timing. The near-term trend is positive on refining margins, but sustainability beyond the current geopolitical-driven margin cycle remains the central question.
- Gasoline demand peak by 2035 Oct 28
IOC chairman forecast gasoline demand will peak by 2035 due to EV adoption and ethanol blending, calling motor spirit under pressure from all sides.
- Middle East supply disruptions Oct 21
IOC plans to slightly reduce 2027/28 Middle Eastern crude contracts from ~47% of imports as the Iran conflict enters its eighth month, with freight rates doubling to ~$9/barrel from $3-4 in the June quarter.
- LPG compensation-driven earnings volatility Oct 30
₹7,243 crore of Q2 FY27 profit came from government LPG under-recovery compensation rather than operations; without it, profit would have been ~₹17,000 crore vs the headline ₹22,503 crore. Timing uncertainty caused a Q1 loss followed by a Q2 surge.
- Q2 FY27 profit surges 175% Oct 30
Consolidated net profit hit ₹22,503 crore in Q2 FY27, up 174.7% YoY from ₹8,191 crore and reversing a ₹1,141 crore Q1 loss. IOC alone accounted for ~72% of combined profit of the three major PSU refiners.
- GRM jumps to $18.52/bbl Oct 30
Gross refining margin (net of SAED) rose to $18.52/bbl in Q2 from $15.59 in Q1, a ~19% QoQ improvement, aided by high-sulphur crude utilization rising to 54.6% from 48.9%.
- Major projects nearing commissioning Nov 1
The ₹13,805 crore PX-PTA complex at Paradip and ₹3,220 crore Mundra-Panipat pipeline are mechanically complete. Three refinery expansions (Panipat ₹38,231 cr, Gujarat ₹18,936 cr, Barauni ₹18,113 cr) expected to commission by end of next month.
- Two executive directors retire Nov 1
Shri Subrat Kar (ED Planning & Economic Studies) and Dr. Alex C Pulikottil (ED Petrochemical & Catalyst) superannuated on October 31, 2026.
- Evaluating small modular reactors Oct 28
IOC chairman noted the company is evaluating technologies including small modular reactors for operations, with final decisions dependent on commercial viability.
- VLGC tender paused on costs Oct 21
IOC paused a July tender to buy stakes in at least two very large gas carriers after vessel costs nearly doubled to ~$150 million for a 10-year-old ship.
Quarterly Results
₹ Cr| Particulars | Sep 2023 | Dec 2023 | Mar 2024 | Jun 2024 | Sep 2024 | Dec 2024 | Mar 2025 | Jun 2025 | Sep 2025 | Dec 2025 | Mar 2026 | Jun 2026 | Sep 2026 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sales | 1,79,246 | 1,99,906 | 1,98,650 | 1,93,845 | 1,74,976 | 1,94,014 | 1,95,270 | 1,92,341 | 1,78,628 | 2,05,157 | 2,08,289 | 2,66,407 | 2,53,967 |
| Expenses | 1,56,075 | 1,83,172 | 1,86,675 | 1,83,923 | 1,71,509 | 1,86,442 | 1,80,241 | 1,79,073 | 1,62,383 | 1,82,412 | 1,83,485 | 2,62,345 | 2,20,169 |
| Operating Profit | 23,171 | 16,733 | 11,975 | 9,921 | 3,467 | 7,573 | 15,029 | 13,267 | 16,245 | 22,745 | 24,804 | 4,062 | 33,797 |
| OPM % | 13% | 8% | 6% | 5% | 2% | 3.9% | 8% | 7% | 9% | 11% | 12% | 1.5% | 13% |
| Other Income | 829 | 1,916 | 1,686 | 1,102 | 2,556 | 1,936 | 1,519 | 1,732 | 1,356 | 1,627 | 2,424 | 1,143 | 1,322 |
| Interest | 1,977 | 1,958 | 2,147 | 2,080 | 2,546 | 2,458 | 2,178 | 2,070 | 2,270 | 2,088 | 1,880 | 1,730 | 2,499 |
| Depreciation | 3,610 | 4,686 | 4,094 | 4,103 | 4,065 | 4,284 | 4,325 | 4,179 | 4,227 | 4,457 | 5,557 | 4,408 | 4,430 |
| PBT | 18,413 | 12,005 | 7,420 | 4,841 | −589 | 2,766 | 10,045 | 8,750 | 11,104 | 17,827 | 19,791 | −933 | 28,191 |
| Tax % | 26% | 23% | 26% | 23% | −24% | 22% | 17% | 22% | 26% | 24% | 23% | 22% | 20% |
| Net Profit | 13,713 | 9,225 | 5,488 | 3,723 | −449 | 2,147 | 8,368 | 6,808 | 8,191 | 13,502 | 15,176 | −1,141 | 22,503 |
| EPS (₹) | 9.29 | 6.39 | 3.65 | 2.5 | −0.12 | 1.5 | 5.75 | 4.83 | 5.54 | 9.21 | 10.24 | −1.15 | 15.16 |
Profit & Loss
₹ Cr| Particulars | Mar 2015 | Mar 2016 | Mar 2017 | Mar 2018 | Mar 2019 | Mar 2020 | Mar 2021 | Mar 2022 | Mar 2023 | Mar 2024 | Mar 2025 | Mar 2026 | TTM |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sales | 4,49,507 | 3,46,045 | 3,55,379 | 4,21,492 | 5,28,158 | 4,83,763 | 3,63,950 | 5,89,336 | 8,41,756 | 7,76,352 | 7,58,106 | 7,84,415 | 9,33,821 |
| Expenses | 4,38,932 | 3,24,007 | 3,21,230 | 3,79,834 | 4,92,896 | 4,67,710 | 3,24,021 | 5,42,717 | 8,11,073 | 7,00,702 | 7,22,066 | 7,07,308 | 8,48,412 |
| Operating Profit | 10,575 | 22,038 | 34,149 | 41,658 | 35,262 | 16,053 | 39,929 | 46,619 | 30,683 | 75,650 | 36,040 | 77,108 | 85,409 |
| OPM % | 2.4% | 6% | 10% | 10% | 7% | 3.3% | 11% | 8% | 3.6% | 10% | 4.8% | 10% | 9% |
| Other Income | 5,860 | 5,219 | 4,356 | 4,331 | 4,097 | −7,165 | 4,696 | 4,318 | 5,124 | 5,384 | 7,112 | 7,139 | 6,516 |
| Interest | 4,201 | 3,487 | 3,743 | 3,875 | 4,925 | 5,792 | 2,933 | 4,301 | 7,588 | 7,881 | 9,311 | 8,354 | 8,197 |
| Depreciation | 5,219 | 5,698 | 6,806 | 7,664 | 8,506 | 10,273 | 10,941 | 12,348 | 13,181 | 15,866 | 16,777 | 18,420 | 18,852 |
| PBT | 7,014 | 18,072 | 27,956 | 34,450 | 25,927 | −7,177 | 30,751 | 34,289 | 15,038 | 57,288 | 17,063 | 57,472 | 64,876 |
| Tax % | 31% | 31% | 27% | 34% | 33% | −74% | 29% | 25% | 22% | 25% | 19% | 24% | — |
| Net Profit | 4,872 | 12,413 | 20,385 | 22,626 | 17,274 | −1,876 | 21,762 | 25,727 | 11,704 | 43,161 | 13,789 | 43,677 | 50,040 |
| EPS (₹) | 3.37 | 8.25 | 13.63 | 15.23 | 12.31 | −0.63 | 15.32 | 17.78 | 6.93 | 29.55 | 9.63 | 29.81 | 33.46 |
| Div. Payout % | 33% | 28% | 45% | 90% | 49% | Not meaningful for this period: the ratio divides by a base close to zero, so it is left blank rather than shown as a very large number. | 51% | 46% | 42% | 40% | 30% | 27% | — |
Balance Sheet
₹ Cr| Particulars | Mar 2015 | Mar 2016 | Mar 2017 | Mar 2018 | Mar 2019 | Mar 2020 | Mar 2021 | Mar 2022 | Mar 2023 | Mar 2024 | Mar 2025 | Mar 2026 | Sep 2026 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Equity Capital | 2,428 | 2,370 | 4,739 | 9,479 | 9,181 | 9,181 | 9,181 | 9,181 | 13,772 | 13,772 | 13,772 | 13,772 | 13,772 |
| Reserves | 66,404 | 87,610 | 97,357 | 1,04,395 | 1,03,288 | 86,217 | 1,02,657 | 1,24,354 | 1,25,949 | 1,69,645 | 1,72,716 | 2,05,746 | 2,19,486 |
| Borrowings | 64,893 | 58,552 | 63,271 | 65,650 | 96,765 | 1,29,790 | 1,16,649 | 1,32,020 | 1,48,977 | 1,32,628 | 1,52,271 | 1,31,822 | 1,39,960 |
| Other Liabilities | 1,00,158 | 83,184 | 1,08,352 | 1,16,336 | 1,26,128 | 1,04,773 | 1,26,658 | 1,45,327 | 1,53,298 | 1,66,639 | 1,68,796 | 1,78,012 | 2,03,943 |
| Total Liabilities | 2,33,883 | 2,31,715 | 2,73,719 | 2,95,860 | 3,35,363 | 3,29,962 | 3,55,145 | 4,10,882 | 4,41,995 | 4,82,683 | 5,07,554 | 5,29,352 | 5,77,161 |
| Fixed Assets | 76,781 | 1,00,033 | 1,15,958 | 1,24,053 | 1,32,494 | 1,47,022 | 1,57,085 | 1,60,514 | 1,80,048 | 1,95,998 | 2,01,142 | 2,08,569 | 2,14,886 |
| CWIP | 40,378 | 26,219 | 16,778 | 19,130 | 28,281 | 32,845 | 36,291 | 47,469 | 51,133 | 61,032 | 77,921 | 86,049 | 83,436 |
| Investments | 16,069 | 31,185 | 43,687 | 44,806 | 44,112 | 35,571 | 44,717 | 52,352 | 52,190 | 65,542 | 67,218 | 73,298 | 68,729 |
| Other Assets | 1,00,655 | 74,278 | 97,295 | 1,07,871 | 1,30,476 | 1,14,524 | 1,17,053 | 1,50,546 | 1,58,624 | 1,60,111 | 1,61,272 | 1,61,436 | 2,10,110 |
| Total Assets | 2,33,883 | 2,31,715 | 2,73,719 | 2,95,860 | 3,35,363 | 3,29,962 | 3,55,145 | 4,10,882 | 4,41,995 | 4,82,683 | 5,07,554 | 5,29,352 | 5,77,161 |
Cash Flow
₹ Cr| Particulars | Mar 2015 | Mar 2016 | Mar 2017 | Mar 2018 | Mar 2019 | Mar 2020 | Mar 2021 | Mar 2022 | Mar 2023 | Mar 2024 | Mar 2025 | Mar 2026 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Operating | 46,092 | 25,624 | 28,216 | 29,115 | 12,747 | 7,146 | 49,650 | 24,570 | 29,644 | 71,146 | 34,452 | 76,142 |
| Investing | −10,215 | −13,610 | −17,684 | −17,119 | −22,569 | −29,101 | −22,935 | −21,178 | −28,030 | −31,512 | −31,641 | −22,274 |
| Financing | −38,283 | −11,890 | −10,937 | −12,007 | 10,436 | 22,456 | −27,369 | −2,997 | −1,794 | −39,385 | −3,421 | −52,672 |
| Net Cash Flow | −2,406 | 124 | −405 | −11 | 614 | 502 | −653 | 395 | −180 | 250 | −610 | 1,197 |
| Free Cash Flow | 33,680 | 9,576 | 14,388 | 11,086 | −12,748 | −24,277 | 27,904 | 1,533 | −2,524 | 34,453 | 83 | 48,881 |
| CFO/EBITDA | 458 | 130 | 103 | 87 | 52 | 58 | 135 | 69 | 101 | 110 | 104 | 114 |
Ratios
| Particulars | Mar 2015 | Mar 2016 | Mar 2017 | Mar 2018 | Mar 2019 | Mar 2020 | Mar 2021 | Mar 2022 | Mar 2023 | Mar 2024 | Mar 2025 | Mar 2026 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Debtor Days | 6 | 8 | 9 | 9 | 11 | 10 | 14 | 12 | 7 | 6 | 9 | 7 |
| Inventory Days | 46 | 54 | 87 | 77 | 64 | 59 | 111 | 84 | 59 | 70 | 63 | 68 |
| Days Payable | 29 | 31 | 41 | 40 | 34 | 24 | 49 | 37 | 27 | 34 | 34 | 33 |
| Cash Conversion Cycle | 23 | 31 | 55 | 46 | 41 | 45 | 76 | 59 | 40 | 42 | 39 | 41 |
| Working Capital Days | −12 | −20 | −45 | −37 | −28 | −46 | −58 | −34 | −26 | −33 | −41 | −30 |
| ROCE % | 6% | 14% | 20% | 22% | 16% | 5% | 15% | 16% | 8% | 21% | 7% | 19% |
Insights
BetaAI-extracted from concalls & annual reports · figures as reported, with sources
Log in to view IOC insights
68 extracted metrics across FY11–FY27.
Documents
- Concall · Oct 2026Recording
- Q1 FY27 concall · Aug 2026Transcript PPT
- Q4 FY26 concall · May 2026Transcript PPT Recording
- Concall · Feb 2026PPT
- Q2 FY26 concall · Oct 2025Transcript PPT Recording
- 8 Oct 2026
- 23 Sep 2026
- 20 Aug 2026
- 29 Jun 2026
- 19 Jun 2026
- General announcements 30 Oct 2026
- General announcements 27 Oct 2026
- General announcements 26 Oct 2026
Frequently Asked Questions about IOC
What does Indian Oil Corporation Ltd do?
Where is Indian Oil Corporation Ltd (IOC) listed?
Which sector does Indian Oil Corporation Ltd belong to?
What is the PE ratio of Indian Oil Corporation Ltd?
What is the 52-week high and low of Indian Oil Corporation Ltd?
Does Indian Oil Corporation Ltd pay dividends?
What is the Return on Equity (ROE) of Indian Oil Corporation Ltd?
Company Information
Indian Oil Corporation Ltd is a Maharatna Company controlled by GOI that has business interests straddling the entire hydrocarbon value chain - from Refining, Pipeline transportation and marketing of Petroleum products to R&D, Exploration & production, marketing of natural gas and petrochemicals. It has the leadership position in the Oil refining & petroleum marketing sector of India.
For AI agents and developers
Reading this as an AI agent, LLM or automated pipeline? Every page on Tapetide is also published as clean Markdown — no navigation, no scripts, just the data. Fetch https://tapetide.com/stocks/IOC.md for Indian Oil Corporation Ltd: dated key facts, then this page's sections in order: latest price, key fundamentals, peer comparison, the Tapetide Score, technical indicators, analyst ratings, growth rates, analyst forecasts, the AI analysis and news digest (labelled as AI-generated), financial statements, shareholding pattern, documents and the FAQ.
Append .md to any Tapetide URL for
the same treatment. A full index of what we publish is at /llms.txt and /llms-full.txt. For
live, structured queries instead of documents, use our Indian stock market MCP server.