Open-source MCP server brings live NSE/BSE data to AI assistants
Govind Sisara built and open-sourced an MCP server that gives AI assistants like Claude, ChatGPT, Cursor, and Gemini live access to all ~8,200 NSE and BSE stocks via a remote Cloudflare Worker.
Score breakdown
The server removes the need for local installation by running as a remotely hosted Cloudflare Worker, making live Indian stock market data accessible to any MCP-compatible AI assistant via a single pasteable URL.
- 01Govind Sisara built and open-sourced an MCP server providing live NSE and BSE stock data to AI assistants
- 02Covers all ~8,200 NSE + BSE stocks across fundamentals, technicals, institutional flows, and portfolio tracking
- 03Exposes 21+ tools including `screen_stocks` with 326 fundamental filters, `get_fii_dii_detail`, and `get_stock_quote`
Govind Sisara built Tapetide, an open-source MCP server that gives AI assistants real-time access to Indian stock market data from NSE and BSE. The motivation was straightforward: asking models like Claude or ChatGPT live financial questions either produces a refusal or a confidently wrong answer, because they have no native access to market data past their training cut-off. By implementing the Model Context Protocol — described in the post as "USB-C for AI tools" — the server lets Claude, ChatGPT, Cursor, Gemini, and Grok all call the same data source through a consistent interface. The tool catalog includes `search_stocks`, `screen_stocks` (with 326 fundamental filters), `screen_stocks_technical`, `get_company_profile`, `get_financials`, `get_stock_quote`, `get_price_history`, `get_shareholding`, `get_fii_dii_detail`, `market_ipo`, `market_fno_ban`, `add_to_watchlist`, and more than 21 tools in total, covering fundamentals, technicals, institutional flows, and portfolio tracking across all ~8,200 listed stocks.
For stdio-only clients, a ~300-line npm package with zero runtime dependencies proxies requests to the Worker, auto-detecting message framing differences across clients and refreshing tokens before expiry.
The architecture centers on a stateless Cloudflare Worker that accepts JSON-RPC over HTTPS, using the MCP SDK's `WebStandardStreamableHTTPServerTransport` in stateless mode so any edge location can serve any request identically. Authentication handles two client archetypes: chat apps like Claude.ai and ChatGPT expect a full OAuth flow with Dynamic Client Registration (RFC 7591) and discovery endpoints (RFC 8414, RFC 9728), while code editors typically accept a bearer token. The server triggers the OAuth handshake by returning a `401` with a `WWW-Authenticate` header on the first `initialize` call, and supports both short-lived HMAC access tokens and long-lived personal tokens distinguished by prefix (`tpt_rt_…`). Rate limiting uses two independent layers — a per-minute burst smoother backed by KV (fails open) and a daily/monthly quota enforced via an atomic D1 UPSERT (fails closed) — and notably refunds quota when a tool call fails due to invalid arguments, since LLMs frequently hallucinate bad parameters. For stdio-only clients, a ~300-line npm package with zero runtime dependencies proxies requests to the Worker, auto-detecting message framing differences across clients and refreshing tokens before expiry.
Key facts
- 01Govind Sisara built and open-sourced an MCP server providing live NSE and BSE stock data to AI assistants
- 02Covers all ~8,200 NSE + BSE stocks across fundamentals, technicals, institutional flows, and portfolio tracking
- 03Exposes 21+ tools including `screen_stocks` with 326 fundamental filters, `get_fii_dii_detail`, and `get_stock_quote`
- 04Runs as a stateless Cloudflare Worker; chat-app users connect by pasting one URL with no installation required
- 05Supports both full OAuth (RFC 7591/8414/9728) for chat clients and bearer tokens for code editors
- 06Two-layer rate limiting: per-minute KV burst smoother (fails open) and daily/monthly D1 quota (fails closed)
- 07Failed tool calls caused by invalid arguments are automatically refunded against the user's quota
Topics
Summary and scoring are generated automatically from the original article. We always link back to the publisher and never republish images or paywalled content. Last processed Jun 20, 2026 · 08:55 UTC. How this works →