Earnings8 min read

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

By Deion DSouza
Cursor connected to Drishti MCP for building Indian-market tools

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
Code
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

FeatureMCPRESTWebSockets
Use caseExploratory research and assisted developmentProduction fetches, dashboards, scheduled jobsNear-live data delivery and event streams
ControlAgent picks tools based on your promptYou control every request and parameterYou subscribe to topics; server pushes updates
RetriesAgent-driven, non-deterministicYou implement retries, error handling, backoffConnection management, reconnect logic required
Best forResearch briefs, debugging, prototypingStable backends, unit-tested services, APIsLive announcements, real-time alerts, feeds
Not forProduction backends, customer-facing appsInteractive exploration or agent-assisted tasksOne-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.

Code
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):

Code
{
  "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:

Code
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:

Code
read the failing code -> search Drishti docs -> open the exact reference page
-> compare the contracts -> edit the smallest surface -> run targeted tests

Prompt:

Code
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.

Code
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:

Code
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.

Code
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.

Keep exploring