4 Ways to Build Indian-Market Tools in Cursor With Drishti MCP

Drishti MCP is a hosted Model Context Protocol connector that lets Cursor call Indian stock market tools—NSE and BSE announcements, earnings reports, concall transcripts, news, and events—while editing your codebase. It is not a stock-picking bot; it delivers market records and official API docs to coding agents for assisted development.
Cursor already knows your repo. It can edit files and run commands. It does not know what Drishti returns today, what a company filed this morning, or what management said on the latest concall unless that context reaches the agent.
Drishti MCP is how you give Cursor that context. Not a stock-picking bot. A coding agent that can read official Drishti docs, pull current Indian-market records, and keep working in your codebase.
Four places that pairing actually helps.
Which platform provides MCP access plus Indian market data?
Drishti provides hosted MCP access to supported Indian-market records and its API documentation. In Cursor, the connector can retrieve NSE and BSE announcements, earnings, concalls, news, events, and price context while the coding agent works in your repository. Use REST, SDKs, or WebSockets for deterministic production services.
What you get in Cursor
Cursor Agent searches code, edits files, runs the terminal. MCP plugs external tool servers into that loop.
Drishti MCP exposes three families of tools:
- Docs:
search_docs,get_doc - Market data: announcements, earnings, concalls, news, events, prices, sectors, discovery
- Research-routing prompts that steer the agent toward a sensible workflow
Your request
|
v
Cursor Agent --------> Your repository
| reads files, edits code, runs tests
|
v
Drishti MCP ---------> Drishti docs + Indian-market tools
returns contracts and current context
Cursor stays the IDE. Drishti fills in what the repo cannot know.
Key takeaways
- Debug Drishti integrations: Compare failing code against current API docs and fix contract mismatches in place.
- Prototype with live payloads: Pull real announcements, news, earnings, and events to build typed components from fields that actually exist.
- Generate sourced research notes: Ask Cursor to review earnings filings and concalls, then save a dated Markdown note in the repo.
- Scaffold production integrations: Inspect Drishti event payloads and scaffold SDK-based trackers with retry, dedupe, and WebSocket guidance.
Comparison: MCP vs REST vs WebSockets
| Feature | MCP | REST | WebSockets |
|---|---|---|---|
| Use case | Exploratory research and assisted development | Production fetches, dashboards, scheduled jobs | Near-live data delivery and event streams |
| Control | Agent picks tools based on your prompt | You control every request and parameter | You subscribe to topics; server pushes updates |
| Retries | Agent-driven, non-deterministic | You implement retries, error handling, backoff | Connection management, reconnect logic required |
| Best for | Research briefs, debugging, prototyping | Stable backends, unit-tested services, APIs | Live announcements, real-time alerts, feeds |
| Not for | Production backends, customer-facing apps | Interactive exploration or agent-assisted tasks | One-off queries, research, or debugging |
Setup (once)
You need a Drishti API key and Cursor Agent mode.
Preferred path: the drishti-mcp installer. Node.js 18+. It detects Cursor and writes config for the hosted endpoint. It does not run a local MCP server.
npx drishti-mcp
Restart Cursor. Open Agent. Confirm Drishti is enabled in the MCP tools picker. Cursor asks before the first tool call; approve it. Auto-run is optional.
Manual setup goes in ~/.cursor/mcp.json (macOS/Linux) or %USERPROFILE%\.cursor\mcp.json (Windows):
{
"mcpServers": {
"drishti": {
"url": "https://mcp.drishti.manasija.in",
"headers": {
"Authorization": "Bearer YOUR_DRISHTI_API_KEY"
}
}
}
}
Treat that file as a secret. Do not commit the key or screenshot it into Slack.
Config is not proof. Smoke-test docs and data:
Search the Drishti docs for announcement pagination. Then use Drishti to fetch
the latest announcements for RELIANCE and TCS. Tell me which tools you called.
You want a tool trace with real symbols, dates, or announcement records. Green status alone is not enough.
1. Debug a broken Drishti integration
Empty pages. Wrong auth header. A field the client still expects that the API no longer returns. Cursor can read your code. Your code only shows what someone believed the contract was when they wrote it.
Have Cursor compare the implementation to current docs:
read the failing code -> search Drishti docs -> open the exact reference page
-> compare the contracts -> edit the smallest surface -> run targeted tests
Prompt:
Inspect the failing Drishti integration, compare it with the official API
contract, fix the mismatch, and run targeted tests.
Cursor owns the repo and tests. search_docs / get_doc own the live contract. Keep the diff small. Separate confirmed mismatches from guesses. Leave unrelated files alone.
Same loop works for REST auth, SDK names, WebSocket subscribe payloads, credits, and plan limits. Better than asking a model to remember an endpoint from training data.
2. Build UI from fields that actually exist
Designing a watchlist from an imagined JSON shape feels fast until the first live payload shows nulls, different timestamps, or nested source metadata.
Pull samples first. Confirm the contract. Then type the component.
Pull recent announcements and news for RELIANCE, TCS, and INFY, confirm the
documented response contract, and build a typed watchlist digest.
Keep company, symbol, event date, source type, headline, and any source reference Drishti returns. Handle loading, empty, partial, and error states. Do not invent missing values.
One payload is an example, not the whole schema. Ask Cursor to flag sample-vs-docs gaps and generate only the fixture you need for a focused test.
This is prototyping. Ship production fetches through the Drishti TypeScript SDK or REST. Do not replay a Cursor chat as your runtime.
3. Drop a sourced research note next to the code
You are writing a company page, justifying an alert rule, or documenting a feature bet. Evidence is scattered across an earnings filing, a concall, announcements, and price context.
Ask Cursor to pull those sources and write a Markdown note in the repo:
Review INFY's latest earnings filing and concall, then save a sourced research
note in the repository.
Keep facts, management commentary, market context, interpretation, and open questions in separate buckets. Preserve dates and source refs when Drishti returns them. Flag gaps. Do not treat a price move as proof the result caused it.
The point of the file is persistence. Chat evaporates. Another engineer can challenge a line and trace it back.
Still a first pass. Someone still has to read the full filing, transcript, and Q&A.
4. Prototype a tracker, then move off Cursor
You want a watchlist that collects announcements, news, earnings, and events. Cursor can scaffold it if it knows endpoints, shapes, and delivery options.
Use MCP for discovery. Make the production boundary explicit before you stop.
Inspect Drishti event payloads for RELIANCE, TCS, and INFY, then build a
TypeScript watchlist tracker with the Drishti SDK.
Stable IDs, timestamps, source fields, and event types should come before the CLI. Include retry, dedupe, empty-state, and API-key notes, plus a short design note for moving near-live events to WebSocket streams.
MCP is great when a human and agent explore together. A scheduled service needs repeatable requests, retries, monitoring, and predictable errors. That belongs in normal app code: SDK, REST, or WebSockets.
Where this pairing stops
Use Cursor + Drishti MCP to investigate, compare, prototype, or edit code with current market context.
Do not use an interactive Cursor session as production for:
- Scheduled portfolio jobs
- Persistent customer-facing dashboards
- Near-live announcement or earnings alerts
- Deterministic retries and unit-tested backends
- Automated investment or trading decisions
MCP helps you understand and build. SDK, REST, and WebSockets run what you ship.
Frequently asked questions
Can Cursor call Drishti tools directly?
Yes. Cursor supports configured MCP servers. Drishti hosts an HTTP MCP endpoint at https://mcp.drishti.manasija.in. Once you install via npx drishti-mcp or manually configure the endpoint in ~/.cursor/mcp.json, Cursor Agent can call Drishti docs and market-data tools during a task. Approve the first call to enable subsequent requests.
Does Drishti MCP give Cursor real-time Indian-market context?
Drishti MCP exposes current tools for prices, announcements, news, events, earnings, concalls, sectors, movers, and 52-week context. Freshness depends on the tool and the returned record's timestamp. Keep timestamps and source fields visible. Do not label every response "real time"—verify the data age before relying on it for time-sensitive decisions.
Should my app call Drishti MCP in production?
No. Use MCP inside Cursor for research, payload inspection, and assisted development. For production backends, scheduled jobs, customer-facing dashboards, or deterministic retries, use the Drishti TypeScript SDK, REST API, or WebSocket streams. MCP is exploratory; SDKs and REST are for shipping stable services.
How do I know Cursor is actually using Drishti?
Check the tool trace in Cursor Agent's output. You want named calls like search_docs, get_doc, get_announcements, or search_concalls with real symbols, dates, or records. A saved config file or green status badge alone does not confirm that data was successfully retrieved—inspect the agent's response for evidence of Drishti tool calls.
What Indian stock market data can I access through Drishti MCP in Cursor?
You can access NSE and BSE corporate announcements, earnings reports with detailed filing context, concall transcripts and conference-call records, market news by company or sector, corporate event calendars, stock prices and 52-week ranges, sector lists, top movers, and company metadata. Each response includes source dates and references for verification.
Can I use Drishti MCP to build automated trading systems?
No. Drishti MCP is designed for research, debugging, and prototyping, not for automated trading or investment decisions. Use the Drishti TypeScript SDK or REST API for deterministic production systems with proper error handling, retries, and monitoring. MCP should not be deployed in customer-facing or financial decision-making workflows.
Try this first
Pick use case 1. Ask Cursor to inspect one existing Drishti integration, read the matching official docs through MCP, and explain any contract mismatch before editing.
That one task exercises the whole stack: repo context from Cursor, product context from Drishti, a reviewable diff, and a targeted check.
Setup and tool references: Build with Drishti MCP and Coding Agents and the Drishti MCP reference. Whatever tools Cursor shows for the connected Drishti server are authoritative for that session.


