Nse Bse Indian Stock Market Data MCP
Indian stock market MCP server for NSE & BSE — 48 tools (55 with aliases) for about 8,000 stocks: live quotes, financials, technicals, 326-ratio screener, FII/DII flows, option chains & IV, filings, IPOs & portfolio. Remote (OAuth) or npx. Works with Claude, ChatGPT, Cursor, VS Code, Codex & Gemini CLI
Nse Bse Indian Stock Market Data MCP is an open-source mcp server by Tapetide-hq, written mainly in TypeScript, with 145 GitHub stars and the MIT license. Its code was last updated Oct 28, 2026.
Scan summary: scanned Nov 5, 2026 at commit 946d7b8. Seen able to read environment and secrets, connect to the internet. Scan policy
946d7b8 · Nov 5, 2026Findings (2)
- highHigh. Something risky that needs a close look before you install.network issueDetails are available to the maintainer after claiming this listing.
- lowLow. Minor, or common in normal tools. Shown for information.Reads environment variables not listed in the manifestMCP_URL, TAPETIDE_MCP_URL, TAPETIDE_DEBUG
Network activity
Tools exposed (55)
search_stocksSearch ~8,000 Indian stocks by name, symbol, BSE code, or ISIN. Also matches common/brand names and post-rename aliases (e.g. 'Zomato'→ETERNAL, 'Infosys'→INFY). Listed companies rank first, then by match (exact symbol/code > prefix > word > contains), larger companies first within each; queries of 4
get_company_profileGet detailed company overview — sector, about, pros/cons, fundamentals (PE, PB, market cap, ROE, ROCE, debt/equity), growth metrics, and current quote. Default response is ~3KB. Use the 'include' param to add optional sections via parallel API calls: - "technicals": RSI, SMA, EMA, MACD, Bollinger B
get_stock_eventsGet stock events — news, corporate actions, or company filings. Types: - "news": Sentiment-tagged news (positive/negative/neutral), category, source URL - "corporate_actions": Dividends, splits, bonuses, AGMs, rights issues with ex-date and LTP - "filings": Results, presentations, concall transcrip
get_stock_ownershipGet ownership data for a stock — yearly dividend totals and mutual fund holdings. `dividends` is one row per year: {Year, Div (dividend per share in ₹ for that year), yield (%), exch}. There is NO ex-date and NO interim/final split here; for dated individual dividends use get_stock_events with type
get_stock_quoteLatest stock quote: LTP, change, change %, volume, market cap, PE, 52-week high/low. price_basis is live (traded today or in the last session), last_trade (an older session's price) or null (unknown). last_trade_date is the session the price traded in. NSE prices can lag the exchange by up to ~15 mi
get_batch_quotesQuotes for up to 20 stocks in one call, each with price_basis and last_trade_date as in get_stock_quote. NSE prices can lag the exchange by up to ~15 minutes.
get_price_historyGet OHLCV price history as row-per-day format — date, open, high, low, close, volume, delivery %. Supports configurable lookback days and daily/weekly aggregation. Default 365 days (max 2000). Use this for price analysis, trend detection, and technical calculations. IMPORTANT: `days` is CAPPED at 20
get_financialsGet financial statements for one company. Sections: `quarterly` (quarterly P&L, ~13 quarters), `profit_loss` (annual P&L), `balance_sheet`, `cash_flow`, `ratios` (all annual). Pass `section` for one statement with every period we hold; omit it to get all sections trimmed to the latest 5 periods each
get_shareholdingGet shareholding pattern — promoter, FII, DII, public holdings over time. Track institutional buying/selling trends quarter over quarter. Useful for understanding ownership changes. CAUTION: a move of more than 5 points in any bucket in a single quarter may be a filing reclassification rather than t
get_forecastsGet analyst forecasts — EPS, revenue, EBITDA, net income, ROA, ROE, and price estimates. Both quarterly and annual periods with actuals vs estimates comparison, and each estimate's analyst range in `bands` (low/high). EPS actuals are restated for splits and bonuses; `meta.eps_adjustments` lists what
get_market_pulseGet today's market snapshot — FII/DII net flows (buy/sell/net in crores), Nifty 50 valuations (PE/PB/DY), and the India VIX volatility gauge. This is the quick daily-overview tool. For the technical signal scanner (52-week highs/lows, RSI extremes, MACD, volume spikes) use get_market_data with datas
get_fii_dii_detailGet detailed FII/DII institutional flow data: - Daily cash market flows for last 30 trading days (buy/sell/net in crores) - F&O participant positioning (FII/DII/Pro/Client long/short OI) - Weekly, monthly, yearly aggregates - Buy/sell streaks and 5d/30d/1yr cumulative net flows - Optional: cumulativ
get_fii_dii_flowsAlias for get_fii_dii_detail. Get detailed FII/DII institutional flow data — daily cash market flows, F&O positioning, weekly/monthly/yearly aggregates, buy/sell streaks.
get_fpi_sectorsGet FPI (Foreign Portfolio Investor) sector-wise investment data. Returns AUM share per sector, fortnight change, 1-year cumulative flow, and sparkline data. Sorted three ways: by AUM, by fortnight change, and by 1Y flow. Useful for understanding which sectors foreign investors are buying/selling.
get_market_newsGet latest market-wide news across all categories. Returns sentiment-tagged articles (positive/negative/neutral) with category, source URL, and related stock symbols. Categories include: companies, global, markets, ipo, government-policy-and-regulation, debt-markets, equity-markets, investment-idea
get_market_dataGet one of today's market-wide data feeds. Pass `dataset` to choose: - deals — bulk & block deals for the last 7 days (symbol, name, client, buy/sell, qty, price, value), newest and largest first. - fno_ban — F&O ban list: stocks at or above 80% of MWPL, with mwpl_pct and status (in_ban from the exc
market_valuationsGet index valuation metrics (PE, PB, Dividend Yield) over time. Default: Nifty 50, weekly data, 5 years. Useful for assessing whether the market is overvalued or undervalued relative to historical averages. index_code accepts EITHER a slug (recommended, like market_heatmap) or a raw numeric code:
market_heatmapGet a stock heatmap for an index — all constituent stocks with market cap, PE, PB, price changes (1d/1w/1m/3m/6m/1y/5y), volume, and sector. Available indices: see the index parameter (Nifty broad, size and sector indices plus Sensex).
screen_stocksScreen Indian stocks by fundamental criteria using 325 financial ratios (valuation, profitability, growth, balance sheet, cash flow, shareholding, with 3Y/5Y/10Y history). For technical screens (RSI, MACD, moving averages), use screen_stocks_technical instead. QUERY SYNTAX: {Ratio Name} {operator}
screen_stocks_technicalScreen Indian stocks by technical indicators (RSI, MACD, moving averages, crossovers, volume, momentum) on real-time data. For fundamental screening (PE, ROCE, Sales, Growth), use screen_stocks instead. Each filter is { left: field, operation, right: number | field }. Operations: "greater", "less",
get_screener_ratiosSearch or list available financial ratios for the screen_stocks tool. Pass a keyword to search (e.g., 'cash flow', 'debt', 'promoter') or omit for the full catalog of 325 ratios. Returns the exact ratio names that screen_stocks queries accept.
get_trending_stocksGet trending stock summary — top gainers, losers, and high-volume stocks from Nifty 500. Quick snapshot of market movers today.
get_options_analyticsGet derivatives analytics for a stock — implied volatility (ATM IV, IV rank, IV percentile), realized volatility, put-call ratio (OI and volume), max pain strike, 25-delta skew, and call/put open interest, broken down per expiry. Use for options strategy, volatility analysis, and gauging derivatives
get_stock_dealsGet large-trade history for a stock — bulk deals, block deals, insider (designated-person) trades, and SAST (substantial acquisition) disclosures, with the counterparty name, buy/sell side, quantity, price, and value. Answers 'who has been buying or selling X?'. Optionally filter by deal type. `pric
get_promoter_pledgePromoter share-pledge history for a stock: % of promoter holding pledged over recent quarters, plus recent pledge creation/release events. High or rising pledges are a governance red flag. NOTE: pct_total_shares_pledged is ALL pledged shares (any holder) as % of demat shares, not promoter-only; see
get_credit_ratingsGet credit-rating actions for a company — agency, rating, action (upgrade/downgrade/reaffirm), and outlook over time. A rating change is a forward-looking signal on credit/solvency risk. Use for risk assessment and debt-investor research.
get_earnings_call_summaryGet AI-generated investor digests of a company's recent earnings (concall) transcripts and investor presentations — a structured summary plus key highlights, risks, management guidance, and headline metrics, grounded in the company's own filings. Use for qualitative fundamental research beyond the n
get_india_vixGet the India VIX — the market's expected near-term volatility (the 'fear gauge'). Returns the latest value, daily change, and recent history. Rising VIX = rising fear/uncertainty; falling VIX = calm. Use for market-timing and risk context.
list_company_documentsIndex of a company's filings parsed to text (concall transcripts, annual reports, presentations, IPO documents): doc_id, type, period, date, num_pages, flags, and per-document links (raw PDF, full Markdown, summary Markdown). No prose. The doc_id is the input get_document_summary and read_document t
get_document_summaryInvestor digest of ONE parsed filing: summary, highlights, risks, guidance, key metrics, plus links to the PDF and full Markdown. Pass doc_id from list_company_documents, or doc_type for the newest of that type. For the text itself use read_document or download links.markdown_url.
read_documentMarkdown text of a parsed filing by doc_id and page range, with <!-- page N --> markers to cite. Max 12 pages / 24000 chars per call (max_chars up to 60000); the result states pages_returned, next_pages, and links to the full Markdown and PDF. Annual reports run 100-400 pages: read the sections you
get_tapetide_scoreGet the Tapetide Score for ONE stock: a deterministic, non-LLM 0-100 composite from the latest complete scoring run, with the six pillar sub-scores and their weights, the percentile within that run (base: `percentile_universe`), confidence, coverage, and `governance` caps and red flags. There is no
screen_tapetide_scoresList and rank stocks by the Tapetide Score, filtered by size bucket, band, score window, sector, minimum data-confidence and symbol/name search. Rows come back in the server's final order with score, band, pillars, sector, size, market cap and a next-page cursor. USE THIS for 'which large caps score
get_option_chainGet the INDEX OPTION CHAIN with implied volatility, Greeks, bid/ask and open interest by strike. Use for any option-chain, IV, Greeks, open-interest, PCR or max-pain question — 'show me the NIFTY option chain', 'what is the ATM IV', 'where is max pain', 'put-call ratio', 'OI by strike'. Covers NIFTY
get_option_iv_historyGet the HISTORICAL option-analytics time series for an underlying — ATM implied volatility, IV rank, IV percentile, realised vol, put-call ratio (OI and volume), max pain and 25-delta skew, one point per session. Use for 'is IV high right now', 'IV rank of RELIANCE', 'has volatility been rising', or
get_index_performanceRank NSE indices by RETURN over recent completed weeks or months, using official NSE index closing levels. Returns per-period % plus cumulative % for each index, sorted best-to-worst. Covers ~140 indices: all sectoral (IT, Bank, Auto, Pharma, FMCG, Metal, Realty, Energy, Oil & Gas, PSU Bank, Private
get_index_historyGet the historical LEVEL series (OHLC + PE/PB/dividend yield) for a single NSE INDEX — Nifty 50, Nifty Bank, Nifty IT, Nifty Oil & Gas, India VIX, and ~140 more. Official NSE index data. Use for 'what did Nifty IT close at on <date>', 'Nifty Bank level history', 'India VIX over the last month', or i
get_adjustment_factorsGet the split/bonus adjustment-factor timeline for a stock, so a raw (unadjusted) price series can be reconstructed from the adjusted one. Returns per-event factor and cumulative factor with ex-dates, plus the reconstruction formula in meta. USE THIS when a price move looks impossibly large and you
get_observation_statusFor every CALENDAR day in a lookback window, get why a price is or is not present: `traded`, `weekend`, `holiday`, `pre_listing`, `delisted`, or `no_print`. USE THIS when a price series has gaps and the user needs to know whether a missing day was a market holiday, a suspension, a pre-listing date,
get_index_membership_asofWas a stock a constituent of an index on a specific historical date? Returns a FOUR-STATE answer, never a bare yes/no: `present` (proven in range), `uncertain` (inside an unobserved bracket around a join/leave — plausible but NOT proven), `absent` (proven not a member, within coverage), or `out_of_c
resolve_identifier_asofResolve a historical symbol or ISIN to the company that held it ON a given date. USE THIS when working with old data whose ticker may since have been renamed, reused, or reassigned — e.g. a 2018 holdings file, an old research note, or a backtest that must not treat one company as two securities (or
get_identifiers_asofThe REVERSE of resolve_identifier_asof: given a company's `symbol` and a date, return which symbol and ISIN that company held at that time. USE THIS to label historical output correctly — e.g. reporting a 2019 backtest position under the ticker it actually traded as then, rather than its current nam
read_meReturns the complete guide to this server — all tools organised by category, the SEBI disclaimer requirement, and usage patterns for common research tasks.
scan_moversAlias for get_trending_stocks. Top gainers, losers, and most-active stocks today.
get_live_quoteAlias for get_stock_quote (same fields, incl. price_basis and last_trade_date). NSE prices can lag the exchange by up to ~15 minutes. Example: {"symbol":"RELIANCE"}.
get_stock_newsAlias for get_stock_events with type:"news". Sentiment-tagged news for one stock. Example: {"symbol":"TCS"}.
get_corporate_actionsAlias for get_stock_events with type:"corporate_actions". Dividends, splits, bonuses, AGMs for one stock. Example: {"symbol":"ITC"}.
run_preset_screenNot a standalone tool. For ready-made movers use get_trending_stocks; for custom fundamental screens use screen_stocks; for technical screens use screen_stocks_technical.
get_user_portfolioGet the authenticated user's current stock portfolio with live prices. Returns each holding's symbol, company name, quantity, average buy price, current market price, P&L (absolute + %), invested value, portfolio weight %, sector, industry, market cap, PE ratio, dividend yield, and company classific
add_portfolio_stocksAdd one or more stocks to the user's portfolio, merging duplicates by weighted-average price. Accepts a single add, a bulk list, or holdings the user pasted from a broker CSV/table (parse it into the holdings array yourself). Example: "Add RELIANCE 10 shares at ₹1,350" → holdings:[{symbol:"RELIANCE"
update_portfolio_stockUpdate the quantity and/or average price of an existing stock in the user's portfolio. Use cases: • User says "I bought 10 more RELIANCE at ₹1,400" → you must calculate the new total qty and weighted avg price, then call this tool • User says "Change my TCS quantity to 50" → direct update • User sa
remove_portfolio_stocksRemove one or more stocks from the user's portfolio entirely. Use cases: • User says "Remove INFY from my portfolio" → single delete • User says "Remove all IT stocks" → you identify the symbols from get_user_portfolio, then delete them • User says "Clear my portfolio" → remove all symbols IMPORTA
get_watchlistGet the user's stock watchlist — the stocks they are following, newest first. Returns symbol, company name, sector, industry and the live quote (price, change, change %, previous close; null when unpriced) for each stock, plus a gainers/losers/unchanged tally of the whole list in `movers`. Paged: up
add_to_watchlistAdd one or more stocks to the user's watchlist. Idempotent — adding a stock that's already followed is a no-op. Use cases: • User says "Watch RELIANCE" → single add • User says "Add all Nifty IT stocks to my watchlist" → you look up the symbols, then add them • User says "Track TCS, INFY, WIPRO" →
remove_from_watchlistRemove one or more stocks from the user's watchlist. Use cases: • User says "Stop watching INFY" → single remove • User says "Clear my watchlist" → remove all (get watchlist first, paging with next_offset until has_more is false, then remove all symbols)
Automated result for the commit shown. See our scan policy. View the scan log
Maintainers can claim the listing to rescan, or dispute a result.
Nse Bse Indian Stock Market Data MCP alternatives
View more →Similar mcp servers in Finance & Trading, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Nse Bse Indian Stock Market Data MCP (this page) Tapetide-hq | 145 | MIT | Oct 28, 2026 | Scanned, no flagged issues |
| QuantDinger OpenByteInc | 13k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| FinanceToolkit JerBouma | 5.5k | MIT | Nov 1, 2026 | Scanned, no flagged issues |
| Tradingview MCP atilaahmettaner | 5.2k | MIT | Oct 29, 2026 | Scanned, no flagged issues |
| Aktools akfamily | 1.5k | MIT | Nov 1, 2026 | Scanned, no flagged issues |
| Tradememory Protocol mnemox-ai | 1.4k | MIT | Oct 23, 2026 | Scanned, no flagged issues |