# india-stock-mcp

**Category:** 💰 Finance & Fintech  
**Repository:** https://github.com/Akhilgovind02/india-stock-mcp  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/india-stock-mcp

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

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

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

## Documentation & README

# india-stock-mcp

[![CI](https://github.com/Akhilgovind02/india-stock-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Akhilgovind02/india-stock-mcp/actions/workflows/ci.yml)
[![npm](https://img.shields.io/npm/v/india-stock-mcp)](https://www.npmjs.com/package/india-stock-mcp)

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)

| Tool | What it does |
|---|---|
| `get_quote` | Live price, volume, 52-week range for NSE/BSE stocks and indices |
| `get_historical` | OHLCV history — daily / weekly / monthly |
| `search_symbol` | Find stock symbols by company name |
| `get_fundamentals` | P/E, EPS, ROE, margins, debt, growth rates |
| `compare_stocks` | 2–5 stocks side by side |
| `get_index` | Any NSE index (P/E, P/B, advances/declines) + SENSEX |
| `get_market_status` | Is the market open? Session info per segment |
| `get_gainers_losers` | Top NIFTY 50 movers ranked by % change |
| `get_corporate_actions` | Dividends, splits, bonuses — per stock or market-wide |
| `get_options_chain` | F&O chain around ATM: LTP, OI, OI change, IV, volume |
| `get_ipo_list` | Current / upcoming / recently listed IPOs |
| `search_funds` | Search 15,000+ Indian mutual fund schemes |
| `get_fund_nav` | NAV history for a scheme |
| `get_fund_details` | Fund house, category, current NAV |
| `compare_funds` | 2–4 funds: NAV + % return over any period |
| `portfolio_summary` | Holdings → current value, P&L, allocation breakdown |

## Requirements

- Node.js 22+

## Setup

### Via npm (recommended)

No clone, no build:

**Claude Code**
```bash
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\`):

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

### From source

```bash
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

```bash
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

| Source | Used for | Notes |
|---|---|---|
| Yahoo Finance (`yahoo-finance2`) | Quotes, history, fundamentals, search | Primary source, may be delayed a few minutes |
| NSE India (`nse-bse-api`) | Market status, indices, corporate actions, IPOs, option chains | Some NSE endpoints (quote, autocomplete) are no longer publicly accessible — the server falls back to Yahoo automatically |
| [mfapi.in](https://www.mfapi.in) | Mutual fund NAV and search | Free, occasionally flaky — requests retry once |
| [mfdata.in](https://mfdata.in) | Fund ratings / expense ratio | Often 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](LICENSE)

