indian-stock-market-mcp

indian-stock-market-mcp

MCP server providing real-time Indian stock market data through 15 tools, including stock details, historical data, market overview, and news. Works with Claude Desktop, Claude Code, Cursor, Windsurf, and other MCP clients using an API key from IndianAPI.in.

Category
Visit Server

README

Indian Stock Market MCP Server

MCP server that provides real-time access to Indian stock market data through 15 tools. Works with Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP-compatible client.

Powered by IndianAPI.in.

Prerequisites

Installation

The server runs via npx - no clone or install needed.

Universal Config Shape

Every MCP client uses the same config structure:

{
  "mcpServers": {
    "indian-stock-market": {
      "command": "npx",
      "args": ["-y", "indian-stock-market-mcp"],
      "env": {
        "INDIAN_STOCK_API_KEY": "your_api_key_here",
        "INDIAN_STOCK_API_BASE_URL": "https://your-api-base-url.com"
      }
    }
  }
}

Claude Desktop

Add to your Claude Desktop config file:

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

Paste the universal config shape above, then restart Claude Desktop.

Claude Code

claude mcp add indian-stock-market \
  -e INDIAN_STOCK_API_KEY=your_api_key_here \
  -e INDIAN_STOCK_API_BASE_URL=https://your-api-base-url.com \
  -- npx -y indian-stock-market-mcp

Cursor

Add the universal config shape to .cursor/mcp.json in your project root (or global settings).

Windsurf

Add the universal config shape to ~/.codeium/windsurf/mcp_config.json.


Available Tools (15)

Stock Information

  • get_stock_details - Detailed info about any stock
  • get_historical_data - Historical price data with multiple timeframes
  • get_stock_target_price - Analyst target prices
  • get_corporate_actions - Dividends, bonuses, splits
  • get_recent_announcements - Latest company announcements
  • get_financial_statement - Income statement, balance sheet, cash flow

Market Overview

  • get_trending_stocks - Currently trending stocks
  • get_nse_most_active - Most active NSE stocks
  • get_bse_most_active - Most active BSE stocks
  • get_price_shockers - Significant gainers and losers
  • get_52_week_high_low - Stocks at 52-week extremes

Market Data

  • get_market_news - Latest market news
  • get_ipo_data - Current and upcoming IPOs
  • get_commodities - Commodity prices
  • search_industry - Find stocks by sector/industry

Usage Examples

Once configured, use natural language in your AI assistant:

Get me the latest details for Tata Steel
Show me the 1-year price history for HDFC Bank
What are the trending stocks today?
Find all banking stocks and their performance
Get financial statements for Infosys - income statement and balance sheet
Give me today's market briefing: NSE most active, price shockers, and commodity prices

Tool Reference

get_stock_details

Parameter Type Required Description
name string yes Stock name (e.g., "Tata Steel", "HDFC Bank")

Returns: Stock price, market cap, P/E, 52-week high/low, volume, etc.

get_historical_data

Parameter Type Required Description
stock_name string yes Stock name
period enum yes 1m, 6m, 1yr, 3yr, 5yr, 10yr, max
filter enum no default, price, pe, sm, evebitda, ptb, mcs (default: price)

get_financial_statement

Parameter Type Required Description
stock_name string yes Stock name
stats string yes income, balance, cashflow

get_corporate_actions

Parameter Type Required Description
stock_name string yes Stock name

get_recent_announcements

Parameter Type Required Description
stock_name string yes Stock name

get_stock_target_price

Parameter Type Required Description
stock_id string yes Stock ID or symbol

search_industry

Parameter Type Required Description
query string yes Industry/sector name (e.g., "Banking", "Pharma", "IT")

Zero-parameter tools

get_trending_stocks, get_market_news, get_nse_most_active, get_bse_most_active, get_price_shockers, get_52_week_high_low, get_ipo_data, get_commodities — no parameters required.

Environment Variables

Variable Required Description
INDIAN_STOCK_API_BASE_URL yes API base URL from IndianAPI.in
INDIAN_STOCK_API_KEY yes Your API key from IndianAPI.in
INDIAN_STOCK_API_KEY_ALTERNATE no Fallback key for rate-limit rotation

Response Filtering

The server automatically filters and limits API responses to stay within token limits:

  • Stock Details — essential fields only (price, market cap, P/E, 52-week high/low, volume, sector)
  • List Responses — top 20 items with essential fields
  • Historical Data — last 100 data points
  • Financial Statements — arrays limited to 10 items
  • News/Announcements — 15 items, descriptions truncated to 300 chars
  • Fallback — if still >20,000 tokens, a summary is returned with data type, count, and sample

Development

For contributors working on the server itself:

git clone https://github.com/aswin-s/indian-stock-market-mcp.git
cd indian-stock-market-mcp
bun install

# Create .env with your API credentials
cp .env.example .env

# Build TypeScript to dist/
bun run build

# Run in development mode (uses tsx, no build step needed)
bun run dev

Adding New Tools

  1. Add a server.registerTool(...) call in src/index.ts
  2. Add response filtering logic in filterResponse() if needed
  3. Update this README

Troubleshooting

"INDIAN_STOCK_API_KEY not found" / "INDIAN_STOCK_API_BASE_URL is required"

Ensure the environment variables are set in your MCP client config (see Installation above).

"Cannot find module '@modelcontextprotocol/sdk'"

If running from source, run bun install (or npm install). If using npx, try npx -y indian-stock-market-mcp to force a fresh install.

Server not appearing in your client

  1. Verify the config JSON is valid (no trailing commas)
  2. Restart your MCP client completely
  3. Check client logs for errors

API requests timing out

Default timeout is 30 seconds. If your API is slower, modify the timeout value in createApiClient in src/index.ts.

API Endpoints

MCP Tool API Endpoint
get_stock_details /stock
get_historical_data /historical_data
get_trending_stocks /trending
get_market_news /news
get_nse_most_active /NSE_most_active
get_bse_most_active /BSE_most_active
get_price_shockers /price_shockers
get_52_week_high_low /fetch_52_week_high_low_data
get_ipo_data /ipo
get_corporate_actions /corporate_actions
get_recent_announcements /recent_announcements
get_financial_statement /statement
get_stock_target_price /stock_target_price
search_industry /industry_search
get_commodities /commodities

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured