MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

I
Indian Option MCP

๐Ÿ‡ฎ๐Ÿ‡ณ MCP Server for Indian Options โ€” Real-time option chains, Greeks, 34+ strategies, OI analysis, IV smile, Max Pain. Works with Claude Desktop. Replaces Sensibull.

Created 5/29/2026
Updated about 17 hours ago
Repository documentation and setup instructions

Indian Option MCP

Indian Option MCP Server

Real-time Indian options analytics, strategy building & market intelligence โ€” right inside Claude Desktop.

TypeScript Node.js MCP License NSE Strategies Tools No external deps

A Sensibull-replacement that lives inside your AI assistant. Ask Claude to build iron condors, calculate Greeks, scan for unusual OI activity, and more โ€” all with live NSE data.


โœจ Why Indian Option MCP?

| Pain Point | Old Way | With This MCP | |:---|:---|:---| | Checking option chains | Open Sensibull/NSE website, scroll, compare | "Show me NIFTY option chain" | | Building strategies | Manually pick strikes, calculate P&L | "Build an iron condor on BANKNIFTY" | | Greeks analysis | Open Black-Scholes calculator, enter values | "What are the Greeks for NIFTY 24000 CE?" | | Finding support/resistance from OI | Stare at OI columns, do mental math | "Where is the highest OI in NIFTY?" | | Position sizing | Spreadsheet + guesswork | "Size a position for โ‚น5L capital, 2% risk" |


๐Ÿš€ Features

๐Ÿ“Š Option Chain Tools

| Tool | Description | |:-----|:------------| | get_option_chain | Full option chain with strikes, LTP, OI, IV, volume, bid/ask for calls & puts | | get_expiry_dates | All available expiry dates for any F&O symbol | | get_spot_price | Current spot/underlying price of any stock or index |

๐Ÿ”ข Greeks & Pricing

| Tool | Description | |:-----|:------------| | calculate_greeks | All Greeks โ€” Delta, Gamma, Theta, Vega, Rho โ€” via Black-Scholes | | calculate_iv | Implied Volatility from market price (Newton-Raphson method) | | calculate_option_price | Theoretical option price using Black-Scholes model | | what_if_greeks | Scenario analysis โ€” how Greeks change under hypothetical conditions |

๐Ÿ—๏ธ Strategy Builder โ€” 34 Pre-Built Strategies

| Tool | Description | |:-----|:------------| | build_strategy | Build any of 34 strategies with real market prices, payoff & breakevens | | custom_strategy | Build custom multi-leg strategies with specific strikes | | suggest_strategy | Get strategy suggestions based on outlook & risk preference | | list_strategies | Browse all available strategies by category | | calculate_payoff | Payoff/P&L table at expiry across price scenarios |

๐Ÿ“ˆ Open Interest Analysis

| Tool | Description | |:-----|:------------| | calculate_max_pain | Max Pain strike โ€” where option buyers lose the most | | get_pcr | Put-Call Ratio (OI, Volume, and Change based) with interpretation | | highest_oi_strikes | OI-based support & resistance levels | | oi_change_analysis | Change in OI patterns โ€” emerging support/resistance |

๐Ÿ“‰ IV Analytics

| Tool | Description | |:-----|:------------| | iv_smile | IV Smile curve + IV Skew across strikes | | expected_move | Expected price range by expiry (1ฯƒ, 1.645ฯƒ, 1.96ฯƒ) |

๐ŸŒ Market Data

| Tool | Description | |:-----|:------------| | market_overview | NIFTY & BANKNIFTY snapshot โ€” spot, ATM IV, PCR, lot size | | market_status | Is the NSE market currently open or closed? | | lot_size | Lot size for any F&O instrument | | next_expiry | Next weekly/monthly expiry date |

๐Ÿ›ก๏ธ Risk Management

| Tool | Description | |:-----|:------------| | estimate_margin | SPAN + Exposure margin estimate for option strategies | | probability_of_profit | POP calculation using log-normal distribution | | position_sizing | Optimal lot count based on capital & risk tolerance |

๐Ÿ” Scanners

| Tool | Description | |:-----|:------------| | scan_high_oi | Find strikes with highest institutional OI buildup | | unusual_activity | Detect abnormally high volume/OI ratio |

๐Ÿ’ฌ MCP Prompts

| Prompt | Description | |:-------|:------------| | strategy_advisor | Full strategy recommendation workflow โ€” chains, PCR, max pain, expected move, build & size | | market_analysis | Comprehensive analysis โ€” OI, PCR, IV smile, max pain, expected move synthesized |


โšก Quick Start

Prerequisites

  • Node.js 20+ โ€” node --version
  • Claude Desktop with MCP support

Install & Build

# Clone the repository
git clone https://github.com/devag7/Indian-Option-MCP.git
cd Indian-Option-MCP

# Install dependencies
npm install

# Build
npm run build

Configure Claude Desktop

Add this to your Claude Desktop config file:

๐Ÿ“ Config file locations

| OS | Path | |:---|:-----| | macOS | ~/Library/Application Support/Claude/claude_desktop_config.json | | Windows | %APPDATA%\Claude\claude_desktop_config.json | | Linux | ~/.config/Claude/claude_desktop_config.json |

{
  "mcpServers": {
    "indian-options": {
      "command": "node",
      "args": ["/absolute/path/to/Indian-Option-MCP/dist/index.js"],
      "env": {
        "DATA_PROVIDER": "nse"
      }
    }
  }
}

That's it. Restart Claude Desktop and start asking about Indian options! ๐ŸŽ‰


๐Ÿ’ฌ Example Conversations

Once configured, just talk naturally to Claude:

You: Show me the NIFTY option chain for the nearest expiry

You: Build an iron condor on BANKNIFTY with 3 strikes OTM

You: What's the max pain for NIFTY? Where is OI-based support?

You: I'm bullish on RELIANCE. Suggest a strategy with low risk.

You: Calculate Greeks for NIFTY 24500 CE, 10 days to expiry, 14% IV

You: Show the expected move for NIFTY at 95% confidence

You: Size a short straddle on BANKNIFTY for โ‚น10L capital, max 2% risk

๐Ÿ—๏ธ Strategy Library

All 34 pre-built strategies, ready to deploy with live market prices:

๐Ÿ“ˆ Bullish

| Strategy | Legs | |:---------|:----:| | long_call | 1 | | bull_call_spread | 2 | | bull_put_spread | 2 | | put_credit_spread | 2 | | synthetic_long | 2 | | covered_call | 2 | | collar | 3 | | strap | 2 | | jade_lizard | 3 |

๐Ÿ“‰ Bearish

| Strategy | Legs | |:---------|:----:| | long_put | 1 | | bear_put_spread | 2 | | bear_call_spread | 2 | | put_debit_spread | 2 | | call_credit_spread | 2 | | synthetic_short | 2 | | protective_put | 2 | | strip | 2 |

โš–๏ธ Neutral

| Strategy | Legs | |:---------|:----:| | short_straddle | 2 | | short_strangle | 2 | | iron_condor | 4 | | iron_butterfly | 4 | | butterfly | 3 | | calendar_spread | 2 | | double_diagonal | 4 |

๐ŸŒŠ Volatility

| Strategy | Legs | |:---------|:----:| | long_straddle | 2 | | long_strangle | 2 | | back_spread_call | 2 | | back_spread_put | 2 | | ratio_call_spread | 2 | | ratio_put_spread | 2 | | short_call | 1 | | short_put | 1 | | broken_wing_butterfly | 3 | | christmas_tree | 3 |

๐Ÿ’ก Tip: Use list_strategies to browse by category, or suggest_strategy to get recommendations based on your market view.


๐Ÿ”Œ Data Providers

| Provider | API Key | Features | Speed | |:---------|:-------:|:---------|:-----:| | NSE India (default) | โŒ Not needed | Full option chains, OI, IV, volume, spot prices | โšก Fast | | Zerodha Kite (optional) | โœ… Required | Full option chains, tick-level data, order book depth | โšกโšก Faster |

NSE (Default โ€” Zero Config)

Works out of the box. The server fetches data directly from NSE India's public endpoints.

# No configuration needed โ€” just build and run
DATA_PROVIDER=nse  # this is the default

Zerodha Kite (Optional)

For traders with a Zerodha account who want faster data and deeper order book:

DATA_PROVIDER=zerodha
KITE_API_KEY=your_api_key
KITE_API_SECRET=your_api_secret
KITE_ACCESS_TOKEN=your_access_token  # refreshed daily

Get credentials from developers.kite.trade


โš™๏ธ Environment Variables

Copy .env.example to .env and configure as needed:

cp .env.example .env

| Variable | Default | Description | |:---------|:--------|:------------| | DATA_PROVIDER | nse | Data source โ€” nse (free) or zerodha (needs API key) | | KITE_API_KEY | โ€” | Zerodha Kite API key (only if zerodha) | | KITE_API_SECRET | โ€” | Zerodha Kite API secret (only if zerodha) | | KITE_ACCESS_TOKEN | โ€” | Zerodha session token, refreshed daily (only if zerodha) | | CACHE_TTL_SECONDS | 5 | Real-time data cache lifetime in seconds | | INSTRUMENT_CACHE_TTL_HOURS | 12 | Instrument master cache lifetime in hours | | RISK_FREE_RATE | 0.07 | Annual risk-free rate for Black-Scholes (7% = Indian 10Y bond) | | LOG_LEVEL | info | Logging verbosity โ€” debug, info, warn, error |


๐Ÿ›๏ธ Architecture

indian-option-mcp/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ index.ts                    # Entry point โ€” stdio transport
โ”‚   โ”œโ”€โ”€ server.ts                   # MCP server โ€” all 35+ tools registered here
โ”‚   โ”œโ”€โ”€ config.ts                   # Zod-validated env configuration
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ data/
โ”‚   โ”‚   โ”œโ”€โ”€ providers/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ base.provider.ts    # Abstract data provider interface
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ nse.provider.ts     # NSE India scraper (default)
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ zerodha.provider.ts # Kite Connect API client
โ”‚   โ”‚   โ”œโ”€โ”€ provider-factory.ts     # Provider factory pattern
โ”‚   โ”‚   โ”œโ”€โ”€ cache/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ memory-cache.ts     # TTL-based in-memory cache
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ instrument-cache.ts # Long-lived instrument master cache
โ”‚   โ”‚   โ”œโ”€โ”€ constants/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ lot-sizes.ts        # F&O lot sizes (NIFTY=75, BANKNIFTY=30, etc.)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ expiry-calendar.ts  # Expiry date calculations
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ indices.ts          # Index metadata & strike intervals
โ”‚   โ”‚   โ””โ”€โ”€ models/
โ”‚   โ”‚       โ”œโ”€โ”€ option-chain.ts     # Option chain data models
โ”‚   โ”‚       โ”œโ”€โ”€ instrument.ts       # Instrument definitions
โ”‚   โ”‚       โ”œโ”€โ”€ quote.ts            # Quote/tick models
โ”‚   โ”‚       โ”œโ”€โ”€ strategy.ts         # Strategy type definitions
โ”‚   โ”‚       โ””โ”€โ”€ index.ts            # Model barrel exports
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ engine/
โ”‚   โ”‚   โ”œโ”€โ”€ black-scholes.ts        # Option pricing & Greeks (ฮ”, ฮ“, ฮ˜, ฮฝ, ฯ)
โ”‚   โ”‚   โ”œโ”€โ”€ implied-volatility.ts   # IV solver (Newton-Raphson)
โ”‚   โ”‚   โ”œโ”€โ”€ iv-surface.ts           # IV Smile, Skew, Rank, Percentile, HV
โ”‚   โ”‚   โ”œโ”€โ”€ strategy-builder.ts     # 34 strategy templates + builder
โ”‚   โ”‚   โ”œโ”€โ”€ payoff.ts               # Payoff/P&L at expiry engine
โ”‚   โ”‚   โ”œโ”€โ”€ max-pain.ts             # Max Pain calculator
โ”‚   โ”‚   โ”œโ”€โ”€ pcr.ts                  # Put-Call Ratio analyzer
โ”‚   โ”‚   โ”œโ”€โ”€ oi-analysis.ts          # OI distribution & activity detection
โ”‚   โ”‚   โ”œโ”€โ”€ margin-calculator.ts    # SPAN margin estimator
โ”‚   โ”‚   โ””โ”€โ”€ risk-metrics.ts         # POP, Kelly, position sizing
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ utils/
โ”‚       โ”œโ”€โ”€ date.ts                 # Market hours, DTE, expiry helpers
โ”‚       โ”œโ”€โ”€ format.ts               # Currency, number, OI formatting
โ”‚       โ”œโ”€โ”€ math.ts                 # Normal CDF, statistical functions
โ”‚       โ””โ”€โ”€ logger.ts               # Stderr-only logger (MCP-safe)
โ”‚
โ”œโ”€โ”€ dist/                           # Compiled output
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tsconfig.json
โ””โ”€โ”€ .env.example

Design Principles

  • Zero external trading dependencies โ€” only @modelcontextprotocol/sdk and zod
  • Provider pattern โ€” swap between NSE and Zerodha with one env variable
  • Pure computation engine โ€” all pricing, Greeks, and analytics are self-contained
  • MCP-safe logging โ€” all output goes to stderr, never stdout (protects stdio transport)
  • Startup validation โ€” Zod schemas validate all config at boot, not at runtime

๐Ÿ› ๏ธ Development

# Watch mode (recompile on save)
npm run dev

# Type-check without emitting
npm run lint

# Run tests
npm test

# Inspect with MCP Inspector
npm run inspect

# Clean build artifacts
npm run clean

๐Ÿค Contributing

Contributions are welcome! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch โ€” git checkout -b feat/my-feature
  3. Commit your changes โ€” git commit -m "feat: add my feature"
  4. Push to your branch โ€” git push origin feat/my-feature
  5. Open a Pull Request

Areas for Contribution

  • ๐Ÿ†• New strategies (e.g., seagull, condor variations)
  • ๐ŸŒ Additional data providers (Upstox, Angel One, etc.)
  • ๐Ÿ“Š Enhanced analytics (IV term structure, correlation analysis)
  • ๐Ÿงช Test coverage for engine modules
  • ๐Ÿ“š Documentation improvements

๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.


Built with โค๏ธ for the Indian options trading community
If this project saved you a Sensibull subscription, consider giving it a โญ

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-indian-option-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "devag7-indian-option-mcp": { "command": "npx", "args": [ "devag7-indian-option-mcp" ] } } }