Skip to main content
Glama
finstack-mcp

finstack-mcp

by finstacklabs

FinStack MCP

95 free tools for Indian + global markets. Works inside Claude, Cursor, and any MCP client.

Open-source market intelligence for Indian equities, global markets, and MCP-native AI workflows. Ask one question like Should I buy Reliance? and get debate, sentiment, smart-money, risk, peer context, and ranking in one stack.

PyPI License: MIT Python 3.10+

pip install finstack-mcp

Or run without installing:

uvx finstack-mcp

Ask Claude things like:

"Give me a full stock brief on Reliance"
-> 6 AI agents debate: FII Desk + Algo Trader + Value Investor + Retail Pulse + Macro Analyst + Options Flow
-> Consensus: BUY/HOLD/SELL with reasoning

"Is someone accumulating HDFC Bank quietly?"
-> Checks OI buildup, block deals, promoter buying, volume spike simultaneously

"What's the social buzz on TCS before results?"
-> StockTwits + Reddit + Economic Times -> 67% bullish | Signal: HOLD

"Will Nifty go up tomorrow?"
-> RSI + FII flow + PCR + VIX + G-Sec + GIFT Nifty -> 63% probability up

"Should I take a NIFTY CE or PE today?"
-> Intraday F&O setup -> BUY_CE / BUY_PE / NO_TRADE with ATM strike zone, confidence, and approval-ready summary

"Give me the 8:15 AM F&O brief"
-> GIFT Nifty + VIX + NIFTY setup + BANKNIFTY setup -> ready-to-forward morning note

"Scan my portfolio for risk"
-> Sector concentration, pledged promoters, FII exposure, XIRR, diversification score

"Is this Telegram stock tip channel a scam?"
-> Accuracy %, avg return %, pump-and-dump probability scored

Demo preview

Stock brief in action

Stock Brief Demo

Agent battle visualization

Agent Battle Demo

Example outputs

Stock Brief Output

FII Flow Output

Related MCP server: NSE-MCP

Launch resources

Why this is different

  • Built for Indian markets first, not as a US-market wrapper with a few NSE tickers added later

  • MCP-native, so it works inside Claude, Cursor, and other agent workflows instead of being just another dashboard

  • Combines data, scoring, debate, and research workflows instead of forcing users to stitch 5 paid tools together

  • Includes tools competitors usually do not offer at all: stock debate, watchlist ranking, stock timeline, Telegram tracker, GST-to-stock context, and budget analyzer


What this replaces

Tool

What you pay

finstack-mcp

Bloomberg Terminal

$31,980 / yr

FREE

Bloomberg ESG + Credit

$24,000 / yr

FREE

Sensibull (Options Greeks)

โ‚น15,600 / yr

FREE

Morningstar (MF flows)

$17,500 / yr

FREE

Zerodha real-time data

โ‚น6,000 / yr

FREE via Angel One

Screener.in Pro

โ‚น4,999 / yr

FREE

Trendlyne Pro

โ‚น4,950 / yr

FREE


Install + connect (2 minutes)

pip install finstack-mcp

Claude Desktop

Add to claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "finstack": {
      "command": "python",
      "args": ["-m", "finstack.server"]
    }
  }
}

Restart Claude Desktop. Done.

Cursor / Windsurf / Cline

{
  "mcpServers": {
    "finstack": {
      "command": "python",
      "args": ["-m", "finstack.server"]
    }
  }
}

Add to your IDE's MCP config file and reload.

uvx (no install needed)

{
  "mcpServers": {
    "finstack": {
      "command": "uvx",
      "args": ["finstack-mcp"]
    }
  }
}

Works with: Claude Desktop ยท Cursor ยท Windsurf ยท Cline ยท Continue.dev ยท Zed ยท Jan.ai ยท LibreChat ยท any MCP client


Remote MCP publishing roadmap

If you want finstack-mcp to move beyond local desktop config and become available through connector ecosystems, keep the local python -m finstack.server setup for developers and add a hosted remote MCP version for public distribution.

What to build for remote HTTP

  • Expose FinStack through a public MCP endpoint over HTTPS, preferably Streamable HTTP or SSE.

  • Add OAuth before opening it to outside users.

  • Keep tool descriptions narrow, clear, and safe.

  • Add rate limiting, monitoring, and a visible support contact.

  • Publish a privacy policy and terms before any official submission.

ChatGPT / OpenAI path

  • Host a remote MCP server that is reachable over HTTPS.

  • Test it first as a custom connector or custom app in ChatGPT.

  • Add connector-friendly read tools such as search and fetch if you want broader compatibility with OpenAI connector flows.

  • Keep FinStack-specific tools like get_stock_brief, get_stock_debate, get_social_sentiment, and analyze_portfolio as domain tools on top.

Claude / Anthropic path

  • First make sure the server works as a custom connector.

  • Then prepare for directory review instead of assuming instant listing.

  • Anthropic reviews third-party MCP servers for safety, security, privacy, and compatibility before directory inclusion.

  • Directory listing is not guaranteed even if the server is technically valid.

Practical submission checklist

  • Public HTTPS MCP endpoint

  • OAuth login flow

  • Stable server uptime

  • Safe tool scope and descriptions

  • Privacy policy

  • Terms of service

  • Support email or issue tracker

  • Clear docs and example prompts

  • No tool behavior that encourages bypassing model safety policies

  • Local stdio MCP: best for developers and power users

  • Hosted remote MCP: best for connectors and wider distribution

  • Separate hosted FinStack web UI: best place for premium visuals like Agent Battle

This keeps MCP as the execution layer and your own frontend as the premium experience.


95 tools across 10 categories

Indian Markets (live data)

  • NSE/BSE real-time quotes, OHLCV history, market status

  • Nifty 50, Bank Nifty, Sensex indices

  • FII/DII institutional flows (daily + historical)

  • Bulk & block deals, circuit breaker scanner, 52W high/low scanner

  • Mutual fund NAV, corporate actions, earnings calendar, IPO calendar

AI Intelligence (unique to finstack-mcp)

  • get_stock_brief โ€” 6 AI agents debate any stock โ†’ BUY/HOLD/SELL consensus

  • get_stock_debate โ€” 3-round sequential agent debate with rebuttals and emergent consensus

  • get_social_sentiment โ€” StockTwits + Reddit + ET RSS โ†’ sentiment signal

  • detect_unusual_activity โ€” OI buildup + block deals + promoter change + volume spike

  • get_nifty_outlook โ€” 6-signal probability model for next session direction

  • get_fno_trade_setup โ€” NIFTY / BANKNIFTY options call: BUY_CE, BUY_PE, or NO_TRADE with ATM strike guidance

  • predict_earnings โ€” beat/miss probability before quarterly results

  • get_fii_retail_divergence โ€” highest-conviction Indian market signal

  • get_morning_fno_brief โ€” daily NIFTY/BANKNIFTY F&O brief with approval-ready setup summary

Research & Ranking

  • scan_watchlist โ€” batch-rank a watchlist so automation can surface top buys and top risks

  • get_stock_signal_score โ€” automation-friendly score with factor impacts, supports, and risks

  • get_stock_timeline โ€” one feed for news, results, insider, bulk deals, sentiment, pledge, and smart money

  • get_sector_peer_context โ€” sector strength plus peer rank / valuation context

  • evaluate_signal_quality โ€” honest proof layer for the price-action core before making accuracy claims

Portfolio & Risk

  • analyze_portfolio โ€” P&L, XIRR, sector concentration, risk flags, diversification score

  • get_mf_overlap โ€” fund overlap % from AMFI public disclosures

  • get_pledge_alert โ€” promoter pledge early warning with QoQ velocity

  • scan_pledge_risks โ€” batch pledge scan across your watchlist

  • predict_circuit โ€” lower circuit risk prediction

  • detect_pump โ€” pump-and-dump pattern detector for small/micro caps

Broker Integrations (zero-delay live data)

  • Angel One SmartAPI โ€” live quotes, Level 2 depth, intraday candles

  • Fyers API v3 โ€” live quotes + candles

  • ICICI Breeze โ€” live quotes + candles

  • Dhan SmartAPI โ€” live quotes + candles

  • Upstox API v2 โ€” live quotes + candles

Options & Greeks

  • Full NSE options chain with PCR, Open Interest, Max Pain

  • Black-Scholes Greeks: Delta, Gamma, Theta, Vega, Rho

  • OI analytics, IV summary, top OI strikes

Market Intelligence

  • India VIX + signal, GIFT Nifty pre-market

  • NSE insider trading (SAST filings), promoter shareholding + pledge %

  • RBI policy rates, India macro (CPI, GDP, CAD)

  • AMFI mutual fund flows, India G-Sec yield curve

  • get_sebi_alerts โ€” SEBI enforcement order tracker (early crash warning)

  • get_morning_brief โ€” 8:15 AM pre-market brief

Never-built-before (India-specific)

  • correlate_gst_to_stocks โ€” GST monthly data as 1-3mo sector leading indicator

  • get_agm_brief โ€” AGM/EGM unusual resolution detector (debt raise, salary hike, pledge approval)

  • get_insider_signal โ€” SEBI SAST insider buy/sell pattern vs forward returns

  • get_telegram_tracker โ€” Dalal Street tip channel accuracy + pump-and-dump scoring

  • analyze_budget_live โ€” paste FM speech โ†’ instant sector/stock signals (Feb 1st)

  • get_budget_impact โ€” historical Union Budget winners + losers by year

Fundamentals

  • Income statement, balance sheet, cash flow (Indian + US)

  • Key ratios: P/E, ROE, margins, debt/equity, growth

  • Company profile, dividend history (10-year), stock comparison

Global + Crypto + Tax

  • US, EU, global equities โ€” quotes + history

  • Crypto: BTC, ETH, SOL, 100+ coins (CoinGecko)

  • Forex: USD/INR, EUR/INR, 50+ pairs

  • SEC filings (10-K, 10-Q, 8-K)

  • LTCG/STCG tax calculator (post-July 2024 Budget rules โ€” nobody else has this)


Accuracy and evaluation

FinStack should be presented as a decision-support engine, not as a guaranteed prediction machine.

  • get_stock_signal_score is a ranking layer for triage, screening, and automation

  • evaluate_signal_quality is an honest proof layer for the price-action core

  • the full live system also uses sentiment, insider activity, pledge risk, macro, and peer context, so one backtest number should not be marketed as "the accuracy of FinStack"

  • safest language for users: signal engine, research assistant, multi-factor ranking, and decision-support


Comparison vs Indian market tools

Feature

finstack-mcp

Screener.in

Tickertape

Sensibull

Trendlyne

TradingView

AI agents debate a stock

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Social sentiment (Reddit + StockTwits)

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Nifty direction probability

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Telegram tip channel tracker

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Budget speech live analyzer

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

GST โ†’ sector stock predictor

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Pump-and-dump detector

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Promoter pledge early warning

โœ…

โŒ

โœ… paid

โŒ

โœ… paid

โŒ

Options Greeks

โœ… free

โŒ

โŒ

โœ… โ‚น1,300/mo

โŒ

โœ… paid

FII/DII flows

โœ… free

โŒ

โœ…

โœ…

โœ… paid

โŒ

Fundamentals (P/E, ROE, etc.)

โœ… free

โœ… free

โœ…

โŒ

โœ…

โœ… paid

Works inside Claude / Cursor

โœ…

โŒ

โŒ

โŒ

โŒ

โŒ

Price

Free

โ‚น4,999/yr

โ‚น2,800/yr

โ‚น15,600/yr

โ‚น4,950/yr

$168/yr


Real-time data (optional)

Without setup: 15-minute delayed data (yfinance โ€” free, no API key). With Angel One: zero delay, Level 2 order book, intraday candles.

pip install finstack-mcp[broker]
ANGEL_API_KEY=your_key
ANGEL_CLIENT_ID=your_client_id
ANGEL_PASSWORD=your_pin
ANGEL_TOTP_SECRET=your_totp_secret

Free account at smartapi.angelbroking.com. Your key stays local in .env โ€” never leaves your machine.

Other brokers: Fyers, ICICI Breeze, Dhan, Upstox also supported.


Data sources

Source

Covers

Key needed

yfinance

NSE/BSE/US equities, crypto, forex, history

None

NSE direct API

FII/DII, options chain, insider trading, corporate actions

None

BSE India API

Credit ratings, ESG/BRSR

None

SEC EDGAR

US filings (10-K, 10-Q, 8-K)

None

CoinGecko

Crypto market data

None

World Bank

India macro: CPI, GDP, CAD

None

AMFI / mfapi.in

Mutual fund NAV, AUM, SIP flows

None

StockTwits

Trader sentiment (pre-tagged bullish/bearish)

None

Reddit (praw)

r/IndiaInvestments + r/DalalStreetTalks

Optional free

Finance Ministry

Monthly GST collection data

None

SEBI public filings

Enforcement orders, insider SAST disclosures

None

Angel One SmartAPI

Real-time NSE, Level 2 depth, intraday

Free account


Troubleshooting

Claude says "finstack not found" after install

  • Restart Claude Desktop fully (quit from system tray, not just close)

  • Config path on Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Verify Python is in PATH: python --version

pip install fails

python -m pip install --upgrade pip
pip install finstack-mcp

Angel One TOTP fails

  • TOTP secret โ‰  password. Find it in Angel One app โ†’ Profile โ†’ Enable TOTP โ†’ secret key

  • Install: pip install finstack-mcp[broker]


Development

git clone https://github.com/finstacklabs/finstack-mcp.git
cd finstack-mcp
pip install -e .[dev]
pytest -q

PRs welcome. Adding a new broker: create src/finstack/data/broker_X.py and register in tools/.



MIT License ยท finstacklabs.github.io

Available Tools

95 tools
amfi_fund_flowsA

AMFI mutual fund industry data: total AUM, SIP flows, scheme count by category.

Morningstar Direct charges $17,500/year for mutual fund flow data. AMFI (Association of Mutual Funds in India) publishes all data free.

Provides:

  • Total industry AUM (approximate)

  • Monthly SIP inflow figures

  • Total folios and investor count

  • Scheme breakdown by category (Equity, Debt, Hybrid, ETF, ELSS, etc.)

  • Links to detailed AMFI data portal

Examples: amfi_fund_flows() โ†’ India mutual fund industry overview and flows

Inputs: no named parameters. Returns: result

analyze_budget_liveA

Real-time budget speech analyzer โ€” use on Feb 1st as FM speaks.

Paste the Finance Minister's speech text (any length, even partial). Returns instant sector + stock impact mapping.

"FM just said โ‚น2L Cr for infrastructure โ†’ BUY L&T, NTPC, IRB Infra"

Detects mentions of: Infrastructure, Defence, Pharma, Renewable Energy, Real Estate, Agriculture, Auto, FMCG, IT/Digital, Steel, Telecom, Tax changes.

Args: text: Budget speech transcript text (paste directly from live broadcast)

Inputs: text (required). Returns: result

analyze_portfolioA

Portfolio X-ray: deep risk + return analysis for your holdings.

Input format โ€” list of holdings: [ {"symbol": "RELIANCE", "qty": 10, "avg_price": 2400, "buy_date": "2024-01-15"}, {"symbol": "TCS", "qty": 5, "avg_price": 3800} ]

Returns:

  • total invested, current value, P&L, P&L %

  • XIRR (if buy_date provided)

  • per-holding breakdown with sector

  • sector concentration % (flags if > 40% in one sector)

  • risk flags: pledged promoters, single stock > 30%, FII reducing

  • diversification score (0โ€“100)

Args: holdings: list of {symbol, qty, avg_price, buy_date (optional)}

Inputs: holdings (required). Returns: result

backtest_strategyA

Backtest a Simple Moving Average (SMA) crossover strategy. [PRO]

Tests: Buy when short SMA crosses above long SMA, sell when it crosses below. Compares strategy return vs buy-and-hold.

Args: symbol: Stock ticker (e.g., RELIANCE, AAPL, TCS) short_window: Short SMA period in days (default: 20) long_window: Long SMA period in days (default: 50) period: Backtest period: 1y, 2y, 5y (default: 2y) initial_capital: Starting capital (default: 100000)

Examples: backtest_strategy("RELIANCE") โ†’ Default 20/50 SMA backtest backtest_strategy("AAPL", 10, 30, "5y") โ†’ Custom 10/30 SMA, 5 years backtest_strategy("TCS", 50, 200, "5y", 500000) โ†’ Golden cross, 5L capital

Inputs: symbol (required), period, long_window, short_window, +1 more. Returns: result

balance_sheetA

Get balance sheet for a company.

Returns total assets, total liabilities, shareholder equity, cash, debt, inventory, receivables, and more.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, MSFT) quarterly: If True, quarterly data. If False (default), annual.

Examples: balance_sheet("HDFCBANK") โ†’ HDFC Bank annual balance sheet balance_sheet("AAPL", quarterly=True) โ†’ Apple quarterly balance sheet

Inputs: symbol (required), quarterly. Returns: result

broker_setup_statusA

Check Angel One SmartAPI integration status and get setup instructions.

Shows whether your Angel One credentials are configured and working. Also explains how to set up if not configured yet.

Your API key stays in your local .env file โ€” never committed to GitHub. The open-source code only reads environment variables, never stores keys.

Examples: broker_setup_status() โ†’ Check if Angel One is connected + setup guide

Inputs: no named parameters. Returns: result

brsr_esgA

BRSR (Business Responsibility & Sustainability Report) ESG data for listed companies.

SEBI mandates BRSR from India's top 1000 listed companies since FY2022-23. Bloomberg and LSEG charge $24,000+/year for ESG scores. SEBI makes BRSR filings publicly available. We surface them free.

Provides:

  • BRSR filing links (PDF) for last 3-5 years

  • BRSR framework: 9 principles covering ESG topics

  • Environment disclosures (GHG, energy, water, waste)

  • Social disclosures (employees, safety, CSR)

  • Governance disclosures (ethics, stakeholder engagement)

  • Direct links to NSE/BSE BRSR portals

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK)

Examples: brsr_esg("TCS") โ†’ TCS BRSR filings and ESG framework coverage brsr_esg("RELIANCE") โ†’ Reliance sustainability disclosures

Inputs: symbol (required). Returns: result

bse_quoteA

Get real-time BSE (Bombay Stock Exchange) quote for an Indian stock.

Returns current price, change, volume, market cap, and key ratios.

Args: symbol: BSE stock symbol (e.g., RELIANCE, TCS, INFY)

Examples: bse_quote("RELIANCE") โ†’ Reliance Industries BSE price bse_quote("TCS") โ†’ TCS BSE price

Inputs: symbol (required). Returns: result

calculate_tax_liabilityA

Calculate Indian LTCG / STCG tax liability for an equity or mutual fund trade.

Applies Indian tax rules (post July 2024 Budget):

  • Listed equity / equity MF STCG (โ‰ค365 days): 20% flat (Section 111A)

  • Listed equity / equity MF LTCG (>365 days): 12.5% above โ‚น1.25L exemption (Section 112A)

  • Debt funds (post Apr 2023): taxed at income slab rate regardless of holding period

  • Capital losses: carried forward for 8 years

Args: buy_price: Purchase price per share/unit in INR buy_date: Date of purchase in DD-MM-YYYY format (e.g. 15-01-2023) sell_price: Selling price per share/unit in INR sell_date: Date of sale in DD-MM-YYYY format (e.g. 20-03-2024) quantity: Number of shares or units asset_type: One of: equity, mutual_fund_equity, mutual_fund_debt, debt_fund symbol: Optional stock/fund symbol for display (e.g. RELIANCE, TCS)

Returns: Formatted tax summary with holding period, gain classification, and tax liability.

Examples: calculate_tax_liability(buy_price=1200, buy_date="01-01-2023", sell_price=1500, sell_date="15-03-2024", quantity=100, symbol="RELIANCE")

Inputs: buy_date (required), quantity (required), buy_price (required), sell_date (required), +3 more. Returns: result

cash_flowA

Get cash flow statement for a company.

Returns operating cash flow, investing cash flow, financing cash flow, free cash flow, capital expenditure, and more.

Args: symbol: Stock ticker (e.g., INFY, SBIN, GOOGL, AMZN) quarterly: If True, quarterly data. If False (default), annual.

Examples: cash_flow("INFY") โ†’ Infosys annual cash flow cash_flow("GOOGL", quarterly=True) โ†’ Google quarterly cash flow

Inputs: symbol (required), quarterly. Returns: result

check_signal_outcomesA

Manually trigger outcome checking for all pending signals.

Normally runs automatically, but you can call this to force-check any signals whose 7-day or 30-day window has elapsed.

Returns how many signals were updated.

Inputs: no named parameters. Returns: result

company_profileA

Get company overview and profile information.

Returns company name, sector, industry, country, number of employees, website, business description, exchange, and market cap.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, MSFT)

Examples: company_profile("RELIANCE") โ†’ What does Reliance Industries do? company_profile("TSLA") โ†’ Tesla company overview company_profile("INFY") โ†’ Infosys company details

Inputs: symbol (required). Returns: result

compare_stocks_toolA

Compare 2-5 stocks side by side.

Shows price, P/E, P/B, ROE, profit margin, revenue growth, debt/equity, dividend yield, beta, sector, and 52-week range for each stock in a comparison table format.

Args: symbols: Comma-separated stock symbols (2-5 stocks). e.g., "RELIANCE,TCS,INFY" or "AAPL,MSFT,GOOGL"

Examples: compare_stocks_tool("RELIANCE,TCS,INFY") โ†’ Compare 3 Indian IT giants compare_stocks_tool("AAPL,MSFT,GOOGL,AMZN") โ†’ Compare US tech compare_stocks_tool("HDFCBANK,ICICIBANK,SBIN,KOTAKBANK") โ†’ Compare banks

Inputs: symbols (required). Returns: result

correlate_gst_to_stocksA

GST collection data โ†’ sector performance predictor.

Monthly GST figures (Finance Ministry, public) are a 1-3 month leading indicator for demand-sensitive sectors.

"GST from auto sector up 24% YoY โ†’ MSIL/Bajaj Auto historically follow in 2-3 months"

Sectors covered: Auto, FMCG, Real Estate, Cement, Steel, IT, Banking, Retail.

Args: sector: Sector name (e.g. "Auto", "FMCG", "Cement"). Use "all" for full cross-sector report.

Inputs: sector. Returns: result

credit_ratingsA

Credit ratings for an Indian listed company from SEBI-mandated exchange filings.

SEBI requires all rated instruments to disclose credit rating changes on NSE/BSE. Bloomberg charges $24,000/year to access this. SEBI makes it public. We surface it free.

Provides:

  • Rating agency (CRISIL, ICRA, CARE, India Ratings)

  • Current rating and rating action (upgraded/downgraded/reaffirmed)

  • Instrument type and rated amount

  • Outlook (stable/positive/negative/watch)

  • Filing date

Args: symbol: NSE stock symbol (e.g., RELIANCE, TATAMOTORS, ADANIENT)

Examples: credit_ratings("RELIANCE") โ†’ Reliance credit ratings from CRISIL/ICRA credit_ratings("ADANIENT") โ†’ Adani credit rating history and current outlook

Inputs: symbol (required). Returns: result

crypto_historicalA

Get historical cryptocurrency price data.

Args: symbol: Crypto ticker (e.g., BTC, ETH, SOL) period: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, max interval: 1m, 5m, 15m, 30m, 1h, 1d, 1wk, 1mo

Examples: crypto_historical("BTC", "1y", "1d") โ†’ Bitcoin 1 year daily crypto_historical("ETH", "3mo", "1wk") โ†’ Ethereum 3 month weekly

Inputs: symbol (required), period, interval. Returns: result

crypto_priceA

Get live cryptocurrency price in USD.

Returns current price, 24h change, market cap, volume, and all-time high.

Args: symbol: Crypto ticker (e.g., BTC, ETH, SOL, XRP, DOGE, ADA, MATIC, DOT)

Examples: crypto_price("BTC") โ†’ Bitcoin live price crypto_price("ETH") โ†’ Ethereum live price crypto_price("SOL") โ†’ Solana live price

Inputs: symbol (required). Returns: result

detect_pumpA

Detect pump-and-dump operator activity in an NSE stock.

Scans for coordinated pump patterns:

  • Volume spike > 3x 20-day average

  • Price surge > 20% in 5 days without news

  • Multiple upper circuit days in last week

  • Micro/small cap (highest vulnerability)

"This microcap hit 3 upper circuits in a week โ€” 9 out of 10 times this reverses violently"

Returns:

  • pump_probability: low / medium / high / critical

  • red_flags: specific signals that fired

  • verdict + recommendation (exit / avoid / cautious)

Args: symbol: NSE symbol (most useful for small/micro caps)

Inputs: symbol (required). Returns: result

detect_unusual_activityA

Detect smart money and unusual activity for any NSE stock.

Scans 4 signals simultaneously: โ€ข Volume anomaly โ€” current volume vs 20-day average (flags 2x+) โ€ข Options OI โ€” strikes with 2x+ average open interest buildup โ€ข Block/bulk deals โ€” institutional buy/sell transactions on NSE โ€ข Promoter change โ€” QoQ shareholding increase (insider buying signal)

Returns an alert level (high/moderate/low/none) with specific findings.

Example output: "Unusual call OI at 3000 strike โ€” someone is positioning for a breakout" "Promoter increased holding by 2.3% QoQ โ€” insider buying signal"

Args: symbol: NSE stock symbol (e.g. RELIANCE, HDFC, TATAMOTORS)

Returns JSON with: - alert_level: high / moderate / low / none - verdict: human-readable summary - alerts: list of specific signals fired - findings: per-category details (volume, OI, deals, promoter)

Inputs: symbol (required). Returns: result

dividend_historyA

Get historical dividend payments for a stock.

Returns past dividend dates and amounts, total dividends paid, average dividend, and latest dividend info.

Args: symbol: Stock ticker (e.g., ITC, COALINDIA, AAPL, MSFT)

Examples: dividend_history("ITC") โ†’ ITC dividend payment history dividend_history("COALINDIA") โ†’ Coal India dividends dividend_history("AAPL") โ†’ Apple dividend history

Inputs: symbol (required). Returns: result

dividend_history_deepA

10-year dividend history with yield calculation and annual summary.

Bloomberg and FactSet charge for deep dividend history. yfinance has it free.

Provides:

  • Full dividend payment history (up to 60 entries)

  • Annual dividend totals per year (last 10 years)

  • Trailing 12-month dividend yield %

  • Total dividends on record

Args: symbol: NSE or global stock symbol (e.g., RELIANCE, TCS, INFY, AAPL)

Examples: dividend_history_deep("TCS") โ†’ TCS 10-year dividend history + yield dividend_history_deep("HDFCBANK") โ†’ HDFC Bank dividend track record

Inputs: symbol (required). Returns: result

earnings_calendarA

Get upcoming earnings dates for a stock.

Shows when a company is expected to report earnings, along with analyst estimates (EPS and revenue).

Args: symbol: Stock ticker (e.g., RELIANCE, AAPL). Required.

Examples: earnings_calendar("RELIANCE") โ†’ When does Reliance report next? earnings_calendar("AAPL") โ†’ Apple earnings date

Inputs: symbol. Returns: result

evaluate_signal_qualityB

Lightweight evaluation / proof layer for the signal engine's price-action core.

Important:

  • this is an honesty tool, not a marketing gimmick

  • it does not claim the full live system has exactly this accuracy

  • it gives a defensible evaluation layer before making accuracy claims

Args: symbol: NSE symbol lookback_months: historical window for checkpoints holding_days: forward return horizon for hit evaluation

Inputs: symbol (required), holding_days, lookback_months. Returns: result

finstack_infoB

Return basic server metadata and useful links.

Inputs: no named parameters. Returns: result

forex_rateA

Get live forex exchange rate between two currencies.

Returns current rate, day's change, high/low, and 52-week range.

Args: from_currency: Source currency code (e.g., USD, EUR, GBP, AED, JPY) to_currency: Target currency code (default: INR)

Examples: forex_rate("USD", "INR") โ†’ US Dollar to Indian Rupee forex_rate("EUR", "INR") โ†’ Euro to Indian Rupee forex_rate("AED", "INR") โ†’ UAE Dirham to Indian Rupee forex_rate("USD", "EUR") โ†’ US Dollar to Euro forex_rate("GBP", "USD") โ†’ British Pound to US Dollar

Inputs: from_currency (required), to_currency. Returns: result

fyers_candlesA

Historical OHLCV candles from Fyers API v3.

interval options: 1m, 3m, 5m, 10m, 15m, 30m, 1h, 2h, 4h, 1d, 1w, 1mo

Args: symbol: NSE symbol (e.g. RELIANCE) interval: Candle interval (default: 1d) days: Number of days of history (default: 30)

Inputs: symbol (required), days, interval. Returns: result

fyers_live_quoteA

Real-time NSE stock quote via Fyers API v3 (zero delay when configured).

Returns LTP, O/H/L/C, volume, change%, 52W high/low.

Setup: pip install fyers-apiv3 FYERS_APP_ID=... FYERS_ACCESS_TOKEN=... FYERS_CLIENT_ID=... Get credentials at https://myapi.fyers.in/

Args: symbol: NSE symbol (e.g. RELIANCE, TCS, INFY)

Inputs: symbol (required). Returns: result

fyers_statusA

Check Fyers API v3 configuration status and setup instructions.

Inputs: no named parameters. Returns: result

get_agm_briefA

AI briefing for upcoming AGM/EGM resolutions from NSE filings.

Flags unusual resolutions:

  • Large debt issuance (โ‚น500Cr+ raise)

  • Management salary hikes

  • Related-party transactions (promoter benefit risk)

  • New subsidiary creation (liability hiding risk)

  • Buyback cancellation (cash crunch signal)

  • Fresh equity (dilution)

  • Auditor resignation (serious red flag)

  • Promoter pledge approval

"This company is passing a resolution to raise โ‚น500Cr debt next week โ€” should you be worried?"

Args: symbol: NSE symbol (e.g. RELIANCE, ZEEL, ADANIENT)

Inputs: symbol (required). Returns: result

get_budget_impactA

Historical Union Budget impact by year.

Returns key announcements, sector winners, sector losers, and market reaction from past Indian Union Budgets.

Available years: 2023, 2024, 2025

Args: year: Budget year as string (e.g. "2025", "2024", "2023")

Inputs: year. Returns: result

get_fii_retail_divergenceA

Detect FII vs retail divergence โ€” the highest-conviction signal in Indian markets.

When FII and retail move in OPPOSITE directions on the same stock:

  • FII buying + retail selling = institutional accumulation (BUY signal)

  • FII selling + retail buying = institutional distribution (SELL signal)

"FIIs bought โ‚น800Cr of HDFC Bank while retail was panic selling โ€” historically this means +18% in 3 months"

Based on public NSE shareholding disclosures (quarterly).

Args: symbol: NSE symbol (e.g. HDFCBANK, RELIANCE, TATAMOTORS)

Returns:

  • divergence_type, signal, confidence

  • interpretation + historical_implication

  • raw shareholding change data (FII, DII, retail QoQ)

Inputs: symbol (required). Returns: result

get_fno_trade_setupA

Build a clean NIFTY / BANKNIFTY options setup for intraday decisions.

This packages the strongest nifty-agent behavior into one MCP call: read trend, RSI, MACD, FII flows, PCR, VIX regime, and overnight context, then return one clear action:

  • BUY_CE

  • BUY_PE

  • NO_TRADE

Also returns:

  • confidence_pct

  • preferred ATM strike zone

  • approve_message

  • bull and bear factors

  • risk flags

Inputs: symbol. Returns: result

get_insider_signalA

Insider trading pattern analysis from SEBI SAST disclosures (public).

Tracks promoter/director/KMP buy and sell transactions. Insiders buying their own stock = strongest possible conviction signal.

"When this CFO buys his own stock โ†’ average return is +23% in 6 months"

Returns:

  • signal: BUY / SELL / NEUTRAL

  • net_signal: accumulating / distributing / neutral

  • recent buy/sell transactions with person + designation

  • price change since last insider buy

Args: symbol: NSE symbol (e.g. RELIANCE, INFY, ZEEL)

Inputs: symbol (required). Returns: result

get_mf_overlapA

Mutual fund overlap analyzer using public AMFI portfolio disclosures.

"Your HDFC Flexi Cap + Mirae Asset Large Cap have 68% overlap โ€” you're not diversified, you're holding the same stocks twice."

Supported funds include: HDFC Flexi Cap, Mirae Asset Large Cap, Parag Parikh Flexi Cap, Axis Bluechip, SBI Bluechip, Nippon Large Cap, Kotak Emerging Equity, Quant Small Cap, DSP Small Cap, Nifty 50 Index.

Returns:

  • overlap_pct: % of stocks common between both funds

  • common_stocks: list of shared holdings

  • unique_to_fund1, unique_to_fund2

  • verdict + risk level (low / medium / high)

Args: fund1: Fund name (e.g. "HDFC Flexi Cap") fund2: Fund name (e.g. "Mirae Asset Large Cap")

Inputs: fund1 (required), fund2 (required). Returns: result

get_morning_briefA

8:15 AM pre-market brief for Indian traders.

Compiles in one call:

  • GIFT Nifty pre-market signal

  • India VIX fear index

  • Nifty direction probability (6-signal model)

  • FII net flow from yesterday

  • Top gainers / losers

  • Sector performance

  • Upcoming earnings today

  • Watchlist signals for top 5 Nifty stocks

Returns structured JSON + morning_text (ready to copy-paste or send via WhatsApp/email).

Inputs: no named parameters. Returns: result

get_morning_fno_briefA

8:15 AM F&O-focused morning brief for NIFTY and BANKNIFTY traders.

Compiles in one call:

  • GIFT Nifty and India VIX

  • Nifty direction probability

  • NIFTY options setup

  • BANKNIFTY options setup

  • ready-to-send morning_text for Telegram / WhatsApp style delivery

Inputs: no named parameters. Returns: result

get_nifty_outlookA

Compute the probability that Nifty 50 closes UP in the next trading session.

Aggregates 6 market signals into a single % score: โ€ข RSI(14) โ€” overbought/oversold momentum โ€ข FII net flow (5d) โ€” institutional buy/sell pressure โ€ข Put/Call Ratio โ€” options market positioning (contrarian signal) โ€ข India VIX โ€” fear index (low=risk-on, high=fear) โ€ข G-Sec 10Y yield โ€” interest rate pressure on equities โ€ข GIFT Nifty โ€” overnight global pre-market signal

Returns JSON with: - probability_up: e.g. 67 (% chance Nifty goes up) - signal: "Bullish" / "Cautiously bullish" / "Neutral" / "Bearish" - bull_factors: list of signals supporting upside - bear_factors: list of signals supporting downside - inputs: raw values for all 6 signals

Example: "67% probability Nifty up tomorrow โ€” FII buying + low VIX but overbought RSI"

Inputs: no named parameters. Returns: result

get_pledge_alertA

Promoter pledge early warning for an NSE stock.

Checks current pledge % and QoQ change velocity. Risk levels: safe (< 10%) / watch (rising) / danger (> 30%) / critical (> 50%)

"Caught 3 stocks before they fell 40% โ€” promoter was pledging shares"

Risk: When promoters pledge shares as collateral for loans, a falling stock price can trigger margin calls โ†’ forced selling โ†’ crash.

Args: symbol: NSE symbol (e.g. ADANIENT, ZEEL, any stock)

Returns:

  • pledge_pct, pledge_change_qoq

  • risk_level: safe / watch / danger / critical

  • alert: specific warning message

  • historical: last 4 quarters of pledge data

Inputs: symbol (required). Returns: result

get_sebi_alertsA

SEBI enforcement order tracker โ€” early warning before regulatory crash.

Fetches recent SEBI orders and classifies by severity and sector. High-severity actions (fraud, manipulation, debarment) historically precede 15-30% corrections in the affected stock.

"SEBI filed 3 orders against this sector this week โ€” historically precedes 15% correction"

Args: sector: Filter by sector (e.g. "Banking", "SME/Micro", "Broking"). Use "all" for full report.

Inputs: sector. Returns: result

get_sector_peer_contextB

Sector and peer context for a stock.

Shows:

  • likely peer basket

  • peer rank

  • valuation vs peers

  • sector performance context

Args: symbol: NSE symbol (e.g. RELIANCE, HDFCBANK, INFY)

Inputs: symbol (required). Returns: result

get_signal_accuracyA

Show how accurate FinStack signals have been โ€” backed by real outcome data.

Signals are logged automatically every time get_stock_brief or get_stock_debate runs. After 7 days, the actual stock price is checked and outcomes are labelled correct / wrong / neutral.

Use this to:

  • Prove to users/investors that the signals work

  • Find which signal source (brief vs debate) is more accurate

  • Find which stocks the model reads best

Args: source: filter by source โ€” 'brief', 'debate', 'score', or '' for all symbol: filter by NSE symbol, or '' for all stocks days: look-back window in days (default 30)

Returns: Accuracy %, avg 7-day return, breakdown by signal type, top symbols.

Inputs: days, source, symbol. Returns: result

get_signal_historyA

View recent signals logged by FinStack with their actual outcomes.

Each row shows: symbol, signal (BUY/HOLD/SELL), price at signal time, 7-day actual return, and outcome label (correct/wrong/neutral).

Use this to audit the model, build trust with users, or export for analysis.

Args: symbol: NSE symbol to filter (e.g. RELIANCE), or '' for all limit: number of rows to return (default 20, max 100)

Inputs: limit, symbol. Returns: result

get_social_sentimentA

Analyze social media sentiment for any NSE stock using Reddit + Twitter.

Scrapes up to limit posts from r/IndiaInvestments, r/DalalStreetTalks, and Twitter/X, classifies each as bullish/bearish/neutral, extracts key themes, and returns a BUY/HOLD/SELL signal with confidence level.

Falls back to yFinance news headlines if social APIs are not configured.

Args: symbol: NSE stock symbol (e.g. RELIANCE, TCS, INFY) limit: Max posts to analyze (default 100, max 200)

Returns JSON with: - bullish_pct / bearish_pct / neutral_pct - signal (BUY / HOLD / SELL) - confidence (low / medium / high) - key_themes: top recurring topics in the posts - summary: single-line readable summary - sample_posts: top 5 posts with sentiment tag

Setup (optional, for real social data): pip install praw tweepy REDDIT_CLIENT_ID=... REDDIT_CLIENT_SECRET=... TWITTER_BEARER_TOKEN=...

Inputs: symbol (required), limit. Returns: result

get_stock_briefA

Multi-agent AI stock brief: 6 personas debate whether to BUY, HOLD, or SELL.

Like a Rs500Cr fund meeting, 6 different experts analyse the same stock from their angle and reach a consensus using real Indian market data:

  • FII Desk: institutional flows, promoter holding, FII %

  • Algo Trader: RSI, MACD, VWAP, volume anomaly

  • Value Investor: P/E, ROE, debt ratio, credit rating

  • Retail Pulse: news tone, 52W position, India VIX

  • Macro Analyst: RBI rates, CPI inflation, G-Sec yields

  • Options Flow: PCR, max pain, OI skew

Args: symbol: NSE stock symbol (e.g. RELIANCE, TCS, HDFCBANK)

Returns JSON with: - consensus: {signal, strength, votes, disagreement} - debate: [{agent, verdict, argument, one_liner}] - the 6-way debate - agents_detail: full data + reasoning per agent

Inputs: symbol (required). Returns: result

get_stock_debateA

3-round sequential debate: AI agents read each other's arguments and rebut.

Unlike get_stock_brief (parallel analysis), this runs a live debate: Round 1 - Each agent analyses independently Round 2 - Each agent reads all other Round 1 verdicts and can change mind Round 3 - Final lock-in with closing statement

Watch for "minds_changed" - when agents flip verdict mid-debate, it signals a complex setup worth closer attention.

Also returns "debate_edges" - who influenced whom - consumable by the AgentBattle canvas visualisation.

Args: symbol: NSE stock symbol (e.g. RELIANCE, TCS, HDFCBANK)

Returns JSON with: - rounds: {round1, round2, round3} - full transcript - debate_edges: [{from, to, type, text}] - influence graph - minds_changed: how many agents revised their verdict - final_consensus: {signal, strength, votes, note}

Inputs: symbol (required). Returns: result

get_stock_signal_scoreB

Automation-friendly stock ranking score built from FinStack signals.

Combines:

  • multi-agent consensus

  • smart money activity

  • social sentiment

  • promoter pledge risk

  • insider signal

  • technical momentum

  • peer / sector context

  • earnings setup

Returns:

  • signal_score: 0-100

  • signal: BUY / HOLD / SELL

  • automation_rank

  • top_supports / top_risks

  • full component breakdown

Inputs: symbol (required). Returns: result

get_stock_timelineA

Unified stock timeline: news, results, insider, bulk deals, sentiment, pledge, smart money.

This is the "what changed recently?" tool for a stock.

Args: symbol: NSE symbol (e.g. RELIANCE, HDFCBANK, TCS) max_events: max timeline events to return

Inputs: symbol (required), max_events. Returns: result

get_telegram_trackerA

Dalal Street Telegram signal tracker.

Compares 50 public Indian stock tip channels by accuracy %, average return %, and pump-and-dump probability.

"I tracked 50 Indian stock tip channels for 30 days โ€” here's which ones are scamming you"

Works out of the box with curated channel database. Enable live tracking with: pip install telethon + TELEGRAM_API_ID/HASH/PHONE

Args: channel: Specific channel handle (e.g. "@NSEBSEtips"). Leave empty for full comparison database.

Inputs: channel. Returns: result

gift_niftyA

GIFT Nifty pre-market data + overnight global indices for Indian market preview.

Bloomberg charges for global futures data. This is free.

Provides:

  • Nifty 50 last close and change

  • Global indices overnight performance (S&P 500, Dow, NASDAQ, Hang Seng)

  • Market status from NSE

  • Links to live GIFT Nifty sources

Examples: gift_nifty() โ†’ Pre-market global sentiment + Nifty reference

Inputs: no named parameters. Returns: result

icici_candlesA

Historical OHLCV candles from ICICI Breeze API.

interval options: 1m, 5m, 30m, 1h, 1d

Args: symbol: NSE symbol (e.g. RELIANCE) interval: Candle interval (default: 1day) days: Number of days of history (default: 30)

Inputs: symbol (required), days, interval. Returns: result

icici_live_quoteA

Real-time NSE quote via ICICI Breeze API (zero delay when configured).

Returns LTP, O/H/L, previous close, volume, change%.

Setup: pip install breeze-connect ICICI_API_KEY=... ICICI_API_SECRET=... ICICI_SESSION_TOKEN=... Session token refreshed daily: ICICIdirect app โ†’ My Account โ†’ Generate API Session

Args: symbol: NSE symbol (e.g. RELIANCE, TCS, HDFCBANK)

Inputs: symbol (required). Returns: result

icici_statusA

Check ICICI Breeze API configuration status and daily session token instructions.

Inputs: no named parameters. Returns: result

income_statementA

Get income statement (Profit & Loss) for a company.

Returns revenue, COGS, gross profit, operating income, net income, EPS, EBITDA, and other P&L line items.

Works for both Indian (NSE/BSE) and US stocks.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, MSFT) quarterly: If True, returns quarterly data. If False (default), annual data.

Examples: income_statement("RELIANCE") โ†’ Reliance annual P&L (last 4 years) income_statement("TCS", quarterly=True) โ†’ TCS quarterly P&L income_statement("AAPL") โ†’ Apple annual P&L

Inputs: symbol (required), quarterly. Returns: result

india_gsec_yieldsB

India Government Securities (G-Sec) yield curve: 91-day T-bill to 30-year bond.

Bloomberg Terminal charges $31,980/year for government bond data. RBI and CCIL publish India G-Sec yields free.

Provides:

  • 91-day, 182-day, 364-day T-bill yields

  • 5-year, 10-year, 30-year G-Sec yields

  • Real interest rate (World Bank)

  • Live data source links (CCIL, RBI)

Examples: india_gsec_yields() โ†’ Current India government bond yield curve

Inputs: no named parameters. Returns: result

india_macro_indicatorsB

India macroeconomic indicators: CPI inflation, GDP growth, current account, unemployment.

Bloomberg and Refinitiv charge $24,000โ€“$32,000/year for macro data access. World Bank publishes India macro data free โ€” we surface it here.

Provides:

  • CPI inflation (latest and previous year)

  • GDP growth rate

  • Current account balance as % of GDP

  • Unemployment rate

  • Gross capital formation

  • RBI inflation target and tolerance band

Examples: india_macro_indicators() โ†’ Latest India macro data from World Bank

Inputs: no named parameters. Returns: result

india_vixA

India VIX โ€” the NSE fear/volatility index with history and signal.

Trendlyne charges for historical India VIX data. NSE publishes it free via ^INDIAVIX.

Provides:

  • Current VIX level and daily change

  • Signal: low fear / elevated / panic zone

  • 30-day high, low, average

  • Full daily history for the requested period

  • Interpretation guide (what VIX levels mean for markets)

Args: days: Lookback period in days (default 30)

Examples: india_vix() โ†’ Current India VIX with signal and 30-day history india_vix(90) โ†’ 90-day VIX history for trend analysis

Inputs: days. Returns: result

ipo_calendarA

Get upcoming and recent IPOs on NSE.

Shows company name, price band, dates, issue size, and status.

No arguments needed.

Examples: ipo_calendar() โ†’ What IPOs are coming up?

Inputs: no named parameters. Returns: result

key_ratiosA

Get key financial ratios and valuation metrics for a company.

Returns comprehensive metrics organized into categories:

  • Valuation: P/E, P/B, EV/EBITDA, PEG ratio, price-to-sales

  • Profitability: ROE, ROA, profit margin, operating margin, gross margin

  • Growth: Revenue growth, earnings growth

  • Financial Health: Debt/equity, current ratio, quick ratio, free cash flow

  • Per Share: EPS, book value, revenue per share

  • Dividend: Yield, payout ratio, ex-dividend date

Works for both Indian and US stocks.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, MSFT)

Examples: key_ratios("RELIANCE") โ†’ Reliance complete ratio analysis key_ratios("AAPL") โ†’ Apple valuation & financial metrics key_ratios("HDFCBANK") โ†’ HDFC Bank financial health check

Inputs: symbol (required). Returns: result

live_quoteA

Real-time NSE quote via Angel One SmartAPI โ€” zero delay, no yfinance lag.

Requires Angel One API credentials in your .env file (stays local, never on GitHub). Falls back gracefully if not configured, with setup instructions.

Zerodha Kite Connect charges โ‚น500/month for real-time data API. Angel One SmartAPI is free for account holders.

Provides (when configured):

  • Live Last Traded Price (LTP) โ€” real-time, zero delay

  • OHLC for the day

  • Volume, average price

  • Upper/lower circuit limits

  • Buy/sell quantity

  • 52-week high/low

Setup (one-time): Add to .env: ANGEL_API_KEY, ANGEL_CLIENT_ID, ANGEL_PASSWORD, ANGEL_TOTP_SECRET pip install finstack-mcp[broker]

Args: symbol: NSE symbol (e.g., RELIANCE, TCS, NIFTY, BANKNIFTY)

Examples: live_quote("RELIANCE") โ†’ Real-time Reliance price (if Angel One configured) live_quote("NIFTY") โ†’ Live Nifty index price

Inputs: symbol (required). Returns: result

market_depthA

Level 2 order book depth โ€” top 5 bid/ask prices and quantities.

This is exchange-licensed real-time data. Zerodha Kite Connect charges โ‚น500/month for this. Angel One SmartAPI provides it free to account holders.

Requires Angel One API credentials in .env (stays local, never on GitHub).

Provides (when configured):

  • Top 5 buy orders (bid price + quantity)

  • Top 5 sell orders (ask price + quantity)

  • Total buy and sell queue size

Args: symbol: NSE symbol (e.g., RELIANCE, TCS, HDFCBANK)

Examples: market_depth("RELIANCE") โ†’ Live order book for Reliance

Inputs: symbol (required). Returns: result

market_newsA

Get latest market news for a stock or general market.

Returns up to 10 recent news articles with title, publisher, and link.

Args: symbol: Stock ticker for company-specific news (optional). Leave empty for general market news.

Examples: market_news("AAPL") โ†’ Apple-related news market_news("RELIANCE.NS") โ†’ Reliance Industries news market_news() โ†’ General market news

Inputs: symbol. Returns: result

mutual_fund_navA

Get the latest NAV and details for any Indian mutual fund.

Searches the AMFI database โ€” no API key required.

Args: query: Fund name (e.g. "SBI Bluechip", "HDFC Flexi Cap") or numeric scheme code (e.g. "119598")

Examples: mutual_fund_nav("SBI Bluechip") โ†’ NAV, change, 7-day history mutual_fund_nav("Axis Long Term") โ†’ ELSS fund NAV mutual_fund_nav("119598") โ†’ Fetch by scheme code directly

Inputs: query (required). Returns: result

nifty_indexA

Get current value of Indian market indices.

Returns the current value, change, change %, day's high/low, and 52-week range for the specified index.

Args: index_name: Index name. Options: - NIFTY50 (or NIFTY) - Nifty 50 index - SENSEX - BSE Sensex - BANKNIFTY - Nifty Bank index - NIFTYIT - Nifty IT index - NIFTYPHARMA - Nifty Pharma index - ALL - Get all major indices at once

Examples: nifty_index("NIFTY50") โ†’ Current Nifty 50 value nifty_index("SENSEX") โ†’ Current Sensex value nifty_index("ALL") โ†’ All major indices

Inputs: index_name. Returns: result

nifty_pcr_trendA

Nifty PCR (Put-Call Ratio) trend across multiple expiries โ€” market sentiment gauge.

Sensibull Pro charges โ‚น1,300/month for PCR trend data. We calculate it free.

Provides:

  • PCR (OI-based and Volume-based) per expiry

  • Overall averaged PCR with sentiment signal

  • Bullish / Bearish / Neutral interpretation per expiry

  • Total call and put OI per expiry

Args: num_expiries: Number of expiries to analyze (default 5)

Examples: nifty_pcr_trend() โ†’ Nifty PCR across 5 expiries with overall sentiment nifty_pcr_trend(3) โ†’ Quick 3-expiry PCR snapshot

Inputs: num_expiries. Returns: result

nse_52week_scannerA

Scan Nifty 50 stocks near their 52-week high or low.

This is the most popular scan on Screener.in โ€” stocks breaking out near 52-week highs are momentum candidates; those near 52-week lows may be value opportunities or falling knives.

Args: scan_type: "near_high" โ€” stocks within threshold% of 52w high (default) "near_low" โ€” stocks within threshold% of 52w low "both" โ€” return both lists threshold_pct: Closeness threshold in % (default 5.0 = within 5% of extreme)

Examples: nse_52week_scanner("near_high", 5) โ†’ Stocks near all-time high area nse_52week_scanner("near_low", 10) โ†’ Stocks near 52-week low nse_52week_scanner("both", 3) โ†’ Very tight near both extremes

Inputs: scan_type, threshold_pct. Returns: result

nse_bulk_dealsA

Get recent bulk and block deals on NSE.

Shows large transactions where quantity traded exceeds 0.5% of total shares. Useful for tracking institutional activity.

No arguments needed.

Examples: nse_bulk_deals() โ†’ Recent bulk/block deals

Inputs: no named parameters. Returns: result

nse_circuit_breakersA

Scan NSE stocks currently hitting upper or lower circuit limits.

Checks Nifty 500 stocks where the current price is frozen at the intraday high (upper circuit) or intraday low (lower circuit).

Args: circuit_type: "upper" (locked at high), "lower" (locked at low), or "both" (default)

Examples: nse_circuit_breakers("upper") โ†’ Stocks hitting upper circuit today nse_circuit_breakers("lower") โ†’ Stocks hitting lower circuit today nse_circuit_breakers("both") โ†’ All circuit-locked stocks

Inputs: circuit_type. Returns: result

nse_corporate_actionsB

Get corporate actions for an NSE stock โ€” dividends, stock splits, bonuses.

Shows recent and historical corporate actions with dates and values.

Args: symbol: NSE stock symbol (e.g., ITC, RELIANCE, TCS, COALINDIA)

Examples: nse_corporate_actions("ITC") โ†’ ITC dividends and splits nse_corporate_actions("RELIANCE") โ†’ Reliance corporate actions

Inputs: symbol (required). Returns: result

nse_fii_dii_dataA

Get FII (Foreign Institutional Investor) and DII (Domestic Institutional Investor) activity data.

Shows how much foreign and domestic institutions bought/sold today. FII net buy = bullish signal. DII net buy = domestic accumulation.

No arguments needed.

Examples: nse_fii_dii_data() โ†’ Today's FII/DII activity

Inputs: no named parameters. Returns: result

nse_historicalA

Get historical price data (OHLCV) for an NSE stock.

Returns open, high, low, close, volume data for the specified period. Also includes summary stats: period return %, high, low, avg volume.

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY) period: Time period. Options: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max interval: Data interval. Options: 1m, 5m, 15m, 30m, 1h, 1d, 5d, 1wk, 1mo Note: 1m data only available for last 7 days

Examples: nse_historical("RELIANCE", "1mo", "1d") โ†’ 1 month daily data nse_historical("TCS", "1y", "1wk") โ†’ 1 year weekly data nse_historical("INFY", "5y", "1mo") โ†’ 5 year monthly data nse_historical("SBIN", "5d", "15m") โ†’ 5 day intraday (15min candles)

Inputs: symbol (required), period, interval. Returns: result

nse_insider_tradingA

NSE insider trading and SAST (substantial acquisition) disclosures for a stock.

Covers features Trendlyne (โ‚น4,950/yr) and Screener Pro (โ‚น4,999/yr) charge for โ€” free here.

Shows:

  • All SEBI-mandated insider trading disclosures from NSE

  • Buy vs sell transaction count

  • Insider sentiment summary

  • Acquirer/seller name, shares traded, dates

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK) days: Lookback period in days (default 90, max ~365)

Examples: nse_insider_trading("RELIANCE") โ†’ Last 90 days insider activity for Reliance nse_insider_trading("TCS", 180) โ†’ Last 6 months insider trades for TCS

Inputs: symbol (required), days. Returns: result

nse_market_statusA

Check if the Indian stock market (NSE/BSE) is currently open or closed.

Returns market status (OPEN, CLOSED, PRE_OPEN, POST_CLOSE), trading hours, and current IST time.

No arguments needed.

Examples: nse_market_status() โ†’ Shows if market is open right now

Inputs: no named parameters. Returns: result

nse_options_chainA

Get options chain data for an NSE stock or index. [PRO]

Returns call and put options with strike price, premium, volume, open interest, implied volatility, and Put-Call Ratio (PCR).

Args: symbol: NSE stock or index symbol (e.g., RELIANCE, NIFTY, BANKNIFTY, TCS)

Examples: nse_options_chain("RELIANCE") โ†’ Reliance options chain nse_options_chain("NIFTY") โ†’ Nifty 50 options chain nse_options_chain("BANKNIFTY") โ†’ Bank Nifty options

Inputs: symbol (required). Returns: result

nse_quarterly_resultsA

Get latest quarterly financial results for an NSE stock.

Shows revenue, profit, EPS, EBITDA for last 4 quarters with quarter-over-quarter growth rates.

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK)

Examples: nse_quarterly_results("RELIANCE") โ†’ Reliance Q results nse_quarterly_results("TCS") โ†’ TCS quarterly financials

Inputs: symbol (required). Returns: result

nse_quoteA

Get real-time NSE (National Stock Exchange) quote for an Indian stock.

Returns current price, change, volume, market cap, P/E ratio, 52-week range, sector, and more.

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK, SBIN, ITC)

Examples: nse_quote("RELIANCE") โ†’ Reliance Industries live price & stats nse_quote("TCS") โ†’ TCS live price & stats nse_quote("HDFCBANK") โ†’ HDFC Bank live price & stats

Inputs: symbol (required). Returns: result

nse_top_moversA

Get today's top performing stocks on NSE.

Returns the top 10 stocks by the specified criteria from Nifty 50 components.

Args: mover_type: Type of movers to fetch. Options: - gainers: Top 10 stocks with highest % gain today - losers: Top 10 stocks with highest % loss today - active: Top 10 stocks by trading volume

Examples: nse_top_movers("gainers") โ†’ Today's top gainers nse_top_movers("losers") โ†’ Today's top losers nse_top_movers("active") โ†’ Most actively traded stocks

Inputs: mover_type. Returns: result

options_greeksA

Calculate Black-Scholes Greeks (Delta, Gamma, Theta, Vega, Rho) for all option strikes.

Covers features Sensibull Pro charges โ‚น1,300/month for โ€” free here.

Provides:

  • Delta: price sensitivity to underlying move

  • Gamma: rate of change of delta (acceleration)

  • Theta: daily time decay (what options lose per day)

  • Vega: sensitivity to 1% change in implied volatility

  • Rho: sensitivity to 1% change in interest rate

  • Full chain with Greeks for both calls and puts

Args: symbol: NSE stock or index symbol (e.g., NIFTY, RELIANCE, INFY) expiry: Optional expiry date string YYYY-MM-DD (uses nearest if not provided)

Examples: options_greeks("NIFTY") โ†’ Full Greeks for nearest Nifty expiry options_greeks("RELIANCE", "2025-04-24") โ†’ Greeks for specific expiry

Inputs: symbol (required), expiry. Returns: result

options_oi_analyticsA

Advanced options OI analytics: Max Pain, PCR trend, IV summary, top OI strikes.

Covers features Sensibull Pro charges โ‚น1,300/month for โ€” free here.

Provides:

  • Put-Call Ratio (OI and Volume) with sentiment signal

  • Max Pain calculation (price gravity at expiry)

  • Top call OI strikes (resistance levels from options market)

  • Top put OI strikes (support levels from options market)

  • Average IV across expiry

  • Analysis for 3 nearest expiries

Args: symbol: NSE stock or index symbol (e.g., NIFTY, BANKNIFTY, RELIANCE, TCS)

Examples: options_oi_analytics("NIFTY") โ†’ Nifty OI analytics, Max Pain, PCR options_oi_analytics("RELIANCE") โ†’ Reliance OI analysis options_oi_analytics("BANKNIFTY") โ†’ Bank Nifty options sentiment

Inputs: symbol (required). Returns: result

portfolio_analysisA

Analyze a stock portfolio โ€” P&L, weights, risk. [PRO]

Provide your holdings and get total P&L, individual stock performance, portfolio weights, concentration risk, winners and losers.

Args: holdings: JSON string of holdings array. Each holding needs: symbol, quantity, buy_price. Example: '[{"symbol":"RELIANCE","quantity":10,"buy_price":2500}, {"symbol":"TCS","quantity":5,"buy_price":3800}]'

Examples: portfolio_analysis('[{"symbol":"RELIANCE","quantity":10,"buy_price":2500}]') portfolio_analysis('[{"symbol":"AAPL","quantity":5,"buy_price":150}, {"symbol":"MSFT","quantity":3,"buy_price":380}]')

Inputs: holdings (required). Returns: result

predict_circuitA

Predict lower circuit risk for an NSE stock.

Combines 5 signals: price proximity to 52W low, volume dry-up, promoter pledge velocity, FII net selling, negative news sentiment.

Risk levels: safe / watch / danger / imminent

"Predicted 4 lower circuits in March โ€” here's how"

Args: symbol: NSE symbol (most useful for mid/small caps under stress)

Inputs: symbol (required). Returns: result

predict_earningsA

AI earnings preview before quarterly results.

Combines 4 signals to estimate beat/miss probability:

  • Last 4 quarters EPS trend (improving / declining / mixed)

  • Analyst consensus recommendation + target price upside

  • FII QoQ shareholding change (building before results = positive)

  • Stock alpha vs Nifty last 30 days (momentum into results)

Returns:

  • beat_probability_pct: e.g. 72

  • signal: BEAT LIKELY / SLIGHT BEAT / IN-LINE OR MISS / MISS LIKELY

  • key_risks: list of red flags

  • what_to_watch: what to monitor on results day

  • next_earnings_date: from yFinance calendar

Viral use: post prediction before TCS/Infy results. Screenshot if correct.

Args: symbol: NSE symbol (e.g. TCS, INFY, HDFCBANK, RELIANCE)

Inputs: symbol (required). Returns: result

promoter_pledgeA

Promoter pledge percentage โ€” how much of promoter holding is pledged as loan collateral.

Screener.in Pro (โ‚น4,999/yr) charges for this data. NSE publishes it free.

High pledge = risk signal: if the stock falls, lenders can force-sell pledged shares, causing further decline. A key red flag before investing.

Provides:

  • Promoter pledge % of total shares

  • Pledge % of promoter holding

  • Risk signal (clean / low / moderate / HIGH RISK)

  • Quarter-wise breakdown

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, ADANIENT)

Examples: promoter_pledge("ADANIENT") โ†’ Adani pledge levels and risk signal promoter_pledge("RELIANCE") โ†’ Reliance promoter pledge status

Inputs: symbol (required). Returns: result

promoter_shareholdingA

Shareholding pattern for an NSE stock: promoter, FII, DII, public breakdown.

Covers features Screener.in Pro (โ‚น4,999/yr) and Trendlyne charge for โ€” free here.

Shows:

  • Promoter holding percentage

  • FII (Foreign Institutional Investor) holding

  • DII (Domestic Institutional Investor) holding

  • Public / retail holding

  • Top institutional and mutual fund holders

Args: symbol: NSE stock symbol (e.g., RELIANCE, TCS, INFY, HDFCBANK)

Examples: promoter_shareholding("RELIANCE") โ†’ Who owns Reliance and how much promoter_shareholding("HDFCBANK") โ†’ HDFC Bank ownership breakdown

Inputs: symbol (required). Returns: result

rbi_policy_ratesA

Current RBI monetary policy rates: Repo, Reverse Repo, CRR, SLR, MSF, Bank Rate.

Bloomberg Terminal charges $31,980/year for central bank data access. RBI publishes all policy rates free on rbi.org.in โ€” we surface them here.

Provides:

  • Repo rate (current RBI lending rate to banks)

  • Reverse repo rate

  • Marginal Standing Facility (MSF) rate

  • Cash Reserve Ratio (CRR)

  • Statutory Liquidity Ratio (SLR)

  • Bank Rate

  • Monetary policy stance

  • Last policy action summary

Examples: rbi_policy_rates() โ†’ All current RBI policy rates and stance

Inputs: no named parameters. Returns: result

scan_pledge_risksA

Scan multiple NSE stocks for promoter pledge risk simultaneously.

Returns results sorted by risk level (critical first). Useful for screening your watchlist or Nifty 500 for pledge dangers.

Args: symbols: list of NSE symbols (e.g. ["ADANIENT", "ZEEL", "RELIANCE", "TCS"])

Inputs: symbols (required). Returns: result

scan_watchlistA

Batch-rank a watchlist using FinStack's multi-factor stock signal score.

Best use:

  • daily watchlist triage

  • n8n / WhatsApp automation

  • finding top buys and top risks in one shot

Args: symbols: list of NSE symbols (e.g. ["RELIANCE", "TCS", "HDFCBANK", "INFY"])

Returns:

  • ranked_watchlist: sorted by signal_score

  • top_buys

  • top_risks

Inputs: symbols (required). Returns: result

sec_filingA

Get SEC filings for a US-listed company.

Returns links to actual filing documents on SEC EDGAR.

Args: symbol: US stock ticker (e.g., AAPL, MSFT, GOOGL) filing_type: Type of filing. Options: - 10-K: Annual report - 10-Q: Quarterly report - 8-K: Current events report - ALL: All filing types count: Number of filings to return (default: 5, max: 20)

Examples: sec_filing("AAPL", "10-K") โ†’ Apple annual reports sec_filing("TSLA", "10-Q", 3) โ†’ Tesla last 3 quarterly reports sec_filing("MSFT", "ALL", 10) โ†’ Microsoft all recent filings

Inputs: symbol (required), count, filing_type. Returns: result

sector_performanceA

Get performance of Nifty sectoral indices.

Shows how different sectors (Banking, IT, Pharma, FMCG, Auto, Metal, Realty, Energy) performed today, with best and worst performers highlighted.

No arguments needed.

Examples: sector_performance() โ†’ Which sectors are up/down today?

Inputs: no named parameters. Returns: result

sensex_componentsA

Get the list of stocks in Nifty 50 or Sensex with live prices.

Returns all constituent stocks with current price, % change today, market cap, plus top 5 gainers and losers within the index.

Args: index_name: "nifty50" (default) or "sensex"

Examples: sensex_components("nifty50") โ†’ All 50 Nifty stocks with live prices sensex_components("sensex") โ†’ All 30 Sensex stocks with live prices

Inputs: index_name. Returns: result

stock_historicalA

Get historical price data for any global stock.

Returns OHLCV data with summary stats.

Args: symbol: Stock ticker (e.g., AAPL, MSFT, TSLA) period: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max interval: 1m, 5m, 15m, 30m, 1h, 1d, 5d, 1wk, 1mo

Examples: stock_historical("AAPL", "1y", "1d") โ†’ Apple 1 year daily stock_historical("TSLA", "3mo", "1wk") โ†’ Tesla 3 month weekly

Inputs: symbol (required), period, interval. Returns: result

stock_quoteA

Get real-time stock quote for any global stock.

Works for US, UK, European, Asian, and Indian stocks. Returns price, change, volume, market cap, P/E, sector, country, and more.

Args: symbol: Stock ticker symbol. Formats: - US stocks: AAPL, MSFT, GOOGL, TSLA, AMZN - UK stocks: HSBA.L, BP.L, VOD.L - Japan: 7203.T (Toyota), 6758.T (Sony) - Hong Kong: 0700.HK (Tencent) - India: RELIANCE.NS, TCS.NS (use nse_quote for Indian stocks)

Examples: stock_quote("AAPL") โ†’ Apple live price stock_quote("MSFT") โ†’ Microsoft live price stock_quote("TSLA") โ†’ Tesla live price

Inputs: symbol (required). Returns: result

stock_screenerA

Screen stocks by multiple financial criteria. [PRO]

Filter Nifty 50 or S&P 500 stocks by P/E ratio, ROE, market cap, dividend yield, debt/equity ratio, and sector.

Args: exchange: "NSE" for Indian stocks, "US" for US stocks (default: NSE) pe_max: Maximum P/E ratio (e.g., 15 for value stocks). 0 = no filter. pe_min: Minimum P/E ratio. 0 = no filter. roe_min: Minimum Return on Equity in % (e.g., 20). 0 = no filter. market_cap_min: Minimum market cap in USD (e.g., 1000000000 for $1B). 0 = no filter. dividend_yield_min: Minimum dividend yield in % (e.g., 2). 0 = no filter. debt_equity_max: Maximum debt-to-equity ratio (e.g., 50). 0 = no filter. sector: Filter by sector name (e.g., "Technology", "Financial"). Empty = all. limit: Max number of results (default: 15)

Examples: stock_screener("NSE", pe_max=15, roe_min=20) โ†’ Value stocks with high ROE stock_screener("NSE", dividend_yield_min=3) โ†’ High dividend yield stocks stock_screener("US", pe_max=20, sector="Technology") โ†’ Cheap US tech stocks

Inputs: limit, pe_max, pe_min, sector, +5 more. Returns: result

support_resistanceA

Compute support and resistance levels for a stock. [PRO]

Calculates pivot points (R1, R2, R3, S1, S2, S3) and identifies key price levels from historical price action.

Args: symbol: Stock ticker (e.g., RELIANCE, AAPL, TCS) period: Data period: 3mo, 6mo, 1y, 2y (default: 6mo)

Examples: support_resistance("RELIANCE") โ†’ Key levels for Reliance support_resistance("AAPL", "1y") โ†’ Apple support/resistance with 1yr data

Inputs: symbol (required), period. Returns: result

technical_indicatorsA

Compute technical indicators for a stock with buy/sell signals.

Calculates RSI, MACD, SMA (20/50/200), EMA, Bollinger Bands, ATR, Stochastic, ADX, OBV โ€” all computed locally, no API cost.

Works for Indian (NSE/BSE) and US stocks.

Args: symbol: Stock ticker (e.g., RELIANCE, TCS, AAPL, TSLA) period: Data period for calculation: 3mo, 6mo, 1y, 2y (default: 6mo) indicators: Comma-separated list of specific indicators. Options: RSI, MACD, SMA, EMA, BBANDS, ATR, STOCH, ADX, OBV Leave empty for ALL indicators.

Examples: technical_indicators("RELIANCE") โ†’ All indicators for Reliance technical_indicators("AAPL", "1y") โ†’ Apple with 1 year data technical_indicators("TCS", "6mo", "RSI,MACD,SMA") โ†’ Only RSI, MACD, SMA

Inputs: symbol (required), period, indicators. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelogโ€ฆ

    TDQS

    B3.2/5.0

    Scored across 95 tools

    Disambiguation1/5

    The set contains many near-duplicates: multiple quote tools (nse_quote, bse_quote, stock_quote, live_quote, fyers_live_quote, icici_live_quote), several NSE historical candle tools (nse_historical, fyers_candles, icici_candles), two portfolio analyzers (portfolio_analysis, analyze_portfolio), and overlapping insider/sentiment signals. Agents would frequently misselect without reading fine print about data sources and latency.

    Naming Consistency2/5

    Naming has no single pattern: some tools are noun phrases (nse_market_status, ipo_calendar, india_gsec_yields), many are verb_noun (calculate_tax_liability, scan_pledge_risks, predict_earnings), and one has a strange _tool suffix (compare_stocks_tool). Similar functions use inconsistent prefixes (nse_, stock_, crypto_, fyers_, icici_) rather than a cohesive convention.

    Tool Count1/5

    95 tools is an extreme count for any server, far beyond the reasonable 3-15 tool range. The massive surface creates huge selection overhead and indicates the server tries to do everything rather than being well-scoped.

    Completeness4/5

    Domain coverage is extensive: quotes, historical data, fundamentals, ratios, options, mutual funds, macro, portfolio analysis, tax, and regulatory filings are all present. Minor gaps exist (no futures/commodities, no stock search by name, no broad global index coverage), but core finance workflows are well covered.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      MCP server for Indian stock market data. Provides 16 tools for quotes, history, fundamentals, mutual funds, indices, corporate actions, options, IPOs, and portfolio analysis.
      16
      67 npm
      5
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Exposes live Indian stock market data from the National Stock Exchange (NSE) via 17 tools covering bulk/block deals, institutional flows, market data, corporate events, and short selling.
      17
      19 npm
      1
      Apache 2.0
    • A
      license
      B
      quality
      C
      maintenance
      Comprehensive MCP server for Indian stock market with 60 tools covering NSE/BSE, derivatives, mutual funds, technicals, and more, requiring no API keys. Enables users to access live market data, analyze indicators, and manage investments through natural language.
      4
      60
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Gives AI assistants live, structured data on all 8,200+ NSE and BSE listed stocks through 55 tools, covering quotes, financials, a 326-ratio screener, technical indicators, FII/DII flows, option chains and IV, corporate filings, IPOs, bulk deals and portfolio P&L. Runs either remotely over OAuth or locally over stdio, so it works in Claude, ChatGPT, Cursor, VS Code, Codex, Gemini CLI and any other MCP client.
      MIT