MCP GUIDE
MCP vs API: Which Should You Use for Indian Stock Market Data?
MCP vs REST API for Indian stock data: how each works, who should use which, auth, rate limits, freshness, and agent tasks that only work with MCP.
MCP vs API is a common question for anyone wiring Indian stock market data into AI. Both give you the same numbers. The difference is who decides what to fetch. With a REST API, your code chooses the endpoint. With MCP (Model Context Protocol), the AI model chooses the tool during the conversation. This explainer covers how each works for stock market data for LLMs in India, who should use which, auth, cost, freshness, and the tasks where an AI agent needs MCP rather than a fixed API call.
MCP vs REST API in one paragraph
A REST API is a contract between a server and a programmer. You read docs, pick GET /financials?symbol=X, write the client, and parse the JSON. MCP is a contract between a server and a model. The server publishes a list of tools, each with a name, a description and a JSON input schema. The AI client loads that list, and the model calls tools when a question needs them. Many MCP servers are a thin, model-friendly layer over an existing API.
How an MCP tool call works
Every MCP interaction follows the same four steps.
- Discovery. When the client connects, it asks the server for its tool list. The model now knows that tools like
search_stocks,get_financialsandget_price_historyexist. - Schema. Each tool declares its inputs.
get_price_historymight take a symbol and a date range. The model reads this the way a developer reads API docs, but at runtime. - Call. The user asks "how has Titan's margin trended?" The model decides it first needs
search_stocksto resolve the company, thenget_financials. The client sends those calls, often after asking the user to approve them. - Result in context. The server returns structured data. It goes into the model's context window, where the model can reason over it, call another tool, or answer.
Here is roughly what a single call looks like on the wire:
{
"method": "tools/call",
"params": {
"name": "get_financials",
"arguments": { "symbol": "TITAN", "period": "quarterly" }
}
}
The exact arguments depend on the tool's schema. The point is that the model writes this request, not you.
Who should use which
Use MCP when a model is in the loop.
- Investors asking questions in Claude.ai, ChatGPT or another chat client
- Developers whose coding agent needs data while it writes scripts and notebooks
- Research agents that run multi-step investigations
Use a REST API when code is in the loop.
- Backend jobs that run on a schedule
- Dashboards that render the same fields every time
- Systems where you need strict tests, caching and predictable request counts
Use both when you prototype with an agent and then ship a pipeline. The agent explores through MCP, works out which fields matter, and writes the first version of the code. The production job then calls fixed endpoints.
Agent tasks that only make sense with MCP
Some work is hard to express as one request because the next step depends on the last result.
Multi-step research. "Find small-cap pharma stocks with low debt, then check promoter pledging and recent shareholding for the top five." That is a screen, a filter, then per-stock lookups. With MCP the model chains screen_stocks, get_promoter_pledge and get_shareholding itself.
Follow-ups. After the answer, the user asks "what about FII flows into that sector?" The model still has the earlier results in context and calls get_fpi_sectors without starting over.
Ambiguous input. Users type "HDFC" or a BSE code or an ISIN. The model resolves it with search_stocks and confirms before pulling data.
Explaining the result. The same model that fetched the numbers can explain them, compare them, and flag gaps.
Example prompts that show the difference:
Screen for NSE stocks with ROE above 18% and debt to equity below 0.3.
For the top 5 by market cap, show promoter pledge and the latest
shareholding change. Include the observation date for each number.
Compare Asian Paints and Berger Paints on the last 8 quarters of revenue
and operating margin. Then tell me which quarter had the biggest gap.
Show FII and DII net flows for the last 20 sessions and summarise the
trend in three bullet points.
What is the current market valuation of the Nifty 50 compared with its
history? State the date of the latest reading.
Check my watchlist and list any stock with a corporate action in the
next 30 days.
A fixed API call can serve any one of these steps. It cannot decide the next step for you.
Auth models
REST APIs usually use an API key or token in a header. Your server stores it, and you rotate it when needed.
MCP supports two common patterns:
- OAuth. Clients that support remote MCP with OAuth (Claude.ai, ChatGPT, Claude Code, Cursor, VS Code, Codex and others) open a sign-in flow. The user approves, and the client holds the session. No key handling.
- Bearer token. For headless runs or clients without OAuth, you send
Authorization: Bearer YOUR_TOKEN, the same as a typical API.
Stdio-only clients run a small local helper that forwards to the remote server. On Tapetide that is bunx tapetide-mcp with TAPETIDE_TOKEN set.
Also note the permission model. MCP clients often ask the user to approve each tool the first time. That is a useful guard when tools can write data, such as adding a stock to a watchlist.
Cost and rate limits
APIs usually meter requests. MCP servers usually meter tool calls. The difference matters because one question can use several calls. A question like the screen-then-detail example above might use six or seven.
On Tapetide's free plan you get 50 successful tool calls per day and up to 1,000 per month. Tips for staying within that:
- Ask for batch tools where they exist, such as
get_batch_quotes - Narrow a screen before asking for per-stock detail
- Tell the model a budget ("use at most 5 tool calls")
Higher limits are on the pricing page.
Data freshness is identical
A common assumption is that MCP data is somehow older or summarised. It is not. When the same provider serves both, MCP and the API read the same data. On Tapetide:
- Quotes are the latest available prices, not a live tick feed
- Financials and shareholding follow reporting periods
- Index option chains are end-of-day snapshots
What can differ is presentation. A model may round, summarise or pick a subset of fields. Ask it to show raw values and the observation date when precision matters. You can cross-check any number on the company page, for example /stocks/RELIANCE, or on dashboards like FII/DII data.
Limitations of MCP to keep in mind
- Non-deterministic paths. The model may call tools in a different order on each run.
- Context limits. Large result sets take up context. Ask for summaries or top-N lists.
- Model errors. A model can misread a field. Keep dates and units in the output so you can verify.
None of these are reasons to avoid MCP. They are reasons to keep REST for jobs that must be exact and repeatable.
Tapetide offers both
Tapetide covers about 8,200 NSE and BSE listed companies, including small caps and SME, plus indices such as Nifty 50 and Bank Nifty. The data is aggregated from multiple licensed and public sources and structured by Tapetide.
- MCP: more than 50 tools at
https://mcp.tapetide.com/mcp. Start at the MCP overview, or go straight to setup for Claude.ai, ChatGPT, Claude Code or Cursor. - Tokens: create a personal token at /settings/tokens for Bearer auth.
Portfolio and watchlist tools read and edit your Tapetide research records only. Nothing places orders at a broker. Everything an AI produces from this data is research, not a recommendation to buy or sell.
Questions people ask
What is the difference between MCP and an API?
Is MCP or a REST API better for stock market data?
How can I give an LLM access to Indian stock market data?
Is data through MCP as fresh as data through an API?
Do AI agents need an API key to fetch Indian stock data?
Tapetide provides research data and tools. Nothing on this page is investment advice.