Odel
india stock mcp

india stock mcp

Local
@akhilgovind025TypeScriptMITUpdated 2mo ago

Indian stock market: NSE/BSE quotes, fundamentals, mutual fund NAV, F&O chains, IPOs. No API keys.

india-stock-mcp

CI npm

MCP server for Indian stock market data — NSE/BSE quotes, historical prices, fundamentals, mutual fund NAV, indices, corporate actions, F&O option chains, IPOs, and portfolio analysis.

Works with any MCP client: Claude Desktop, Claude Code, Cursor, etc. No API keys, no auth, all free data sources.

Tools (16)

ToolWhat it does
get_quoteLive price, volume, 52-week range for NSE/BSE stocks and indices
get_historicalOHLCV history — daily / weekly / monthly
search_symbolFind stock symbols by company name
get_fundamentalsP/E, EPS, ROE, margins, debt, growth rates
compare_stocks2–5 stocks side by side
get_indexAny NSE index (P/E, P/B, advances/declines) + SENSEX
get_market_statusIs the market open? Session info per segment
get_gainers_losersTop NIFTY 50 movers ranked by % change
get_corporate_actionsDividends, splits, bonuses — per stock or market-wide
get_options_chainF&O chain around ATM: LTP, OI, OI change, IV, volume
get_ipo_listCurrent / upcoming / recently listed IPOs
search_fundsSearch 15,000+ Indian mutual fund schemes
get_fund_navNAV history for a scheme
get_fund_detailsFund house, category, current NAV
compare_funds2–4 funds: NAV + % return over any period
portfolio_summaryHoldings → current value, P&L, allocation breakdown

Requirements

  • Node.js 22+

Setup

Via npm (recommended)

No clone, no build:

Claude Code

claude mcp add india-stock -- npx -y india-stock-mcp

Claude Desktop — add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{
  "mcpServers": {
    "india-stock": {
      "command": "npx",
      "args": ["-y", "india-stock-mcp"]
    }
  }
}

From source

git clone https://github.com/Akhilgovind02/india-stock-mcp.git
cd india-stock-mcp
npm install
npm run build
claude mcp add india-stock -- node /absolute/path/to/india-stock-mcp/dist/index.js

Restart Claude Desktop fully, then look for the tools icon in a new chat.

Example prompts

  • "Quote for RELIANCE and how far is it from its 52-week high?"
  • "Compare HDFC Bank vs ICICI Bank vs SBI fundamentals"
  • "Top 5 NIFTY 50 gainers today"
  • "NIFTY option chain — where's the max open interest?"
  • "Compare Parag Parikh Flexi Cap vs Quant Small Cap over 3 years"
  • "Analyze my portfolio: 10 RELIANCE @ 1200, 5 TCS @ 3000"

Development

npm run dev                      # run from TypeScript directly
npx tsx scripts/test-mcp.ts      # end-to-end test of all 16 tools (live data)
npx tsx scripts/test-edge.ts     # 24 edge-case assertions
npm run build                    # compile to dist/

Sample test output

Real output from npx tsx scripts/test-mcp.ts (live data, market hours, June 2026 — trimmed):

TOOLS: get_quote, get_historical, search_symbol, search_funds, get_fund_nav,
get_fundamentals, compare_stocks, get_index, get_market_status, get_gainers_losers,
get_corporate_actions, get_options_chain, get_ipo_list, get_fund_details,
compare_funds, portfolio_summary

PASS get_quote: {"source":"Yahoo Finance","symbol":"RELIANCE.NS","name":"RELIANCE
  INDUSTRIES LTD","price":1266,"changePct":0.23,"volume":6107188,...}
PASS get_index: {"source":"NSE","index":"NIFTY BANK","last":55915,"percentChange":1.34,
  "yearHigh":61764.85,"pe":...}
PASS get_market_status: [{"market":"Capital Market","marketStatus":"Open",...}]
PASS get_gainers_losers: {"type":"gainers","universe":"NIFTY 50","data":[{"symbol":
  "SHRIRAMFIN","changePct":3.17,...}]}
PASS get_corporate_actions: {"symbol":"RELIANCE","actions":[{"subject":"Dividend -
  Rs 5.5 Per Share","exDate":"14-Aug-2025",...}]}
PASS get_options_chain: {"symbol":"NIFTY","underlyingValue":23331,"atmStrike":23350,
  "availableExpiries":["16-Jun-2026",...],"data":[{"strikePrice":...,"CE":{"lastPrice":
  130.95,"openInterest":144769,"impliedVolatility":12.26},...}]}
PASS get_ipo_list: {"type":"current","ipos":[{"companyName":"Utkal Speciality
  Industries India Limited","status":"Active",...}]}
PASS compare_funds: {"comparison":[{"name":"Parag Parikh Flexi Cap Fund - Direct
  Plan - Growth","latestNAV":88.484,...}]}
PASS portfolio_summary: {"summary":{"totalInvested":41000,"totalCurrentValue":38663,
  "totalPnL":-2337,"totalPnLPct":-5.7,...}}

... all 16 tools PASS

Data sources

SourceUsed forNotes
Yahoo Finance (yahoo-finance2)Quotes, history, fundamentals, searchPrimary source, may be delayed a few minutes
NSE India (nse-bse-api)Market status, indices, corporate actions, IPOs, option chainsSome NSE endpoints (quote, autocomplete) are no longer publicly accessible — the server falls back to Yahoo automatically
mfapi.inMutual fund NAV and searchFree, occasionally flaky — requests retry once
mfdata.inFund ratings / expense ratioOften unreachable; falls back to mfapi.in

Known limitations

  • get_gainers_losers ranks a built-in NIFTY 50 constituent list (verified June 2026). NSE reconstitutes the index ~2×/year — update NIFTY50_SYMBOLS in src/index.ts when that happens.
  • Quotes may be delayed (Yahoo free feed); not suitable for live trading decisions.
  • NSE may rate-limit or block heavy usage.

Disclaimer

Data comes from free public sources and may be delayed, incomplete, or wrong. This is not financial advice and not a substitute for a licensed broker or advisor. Do your own research before trading or investing.

License

MIT