Introducing FiDUS MCP

Indian filings, read by your agent.

Fifty-six read-only tools over NSE and BSE filings, annual reports, earnings calls, investor decks, IPO prospectuses and adjusted daily prices. Every number comes back with the filing it came from, every indicator with its formula.

agent · FiDUS

56read-only tools · MCP + REST

2,510companies with statements

106.9M+lines of notes, searchable

22 yrsof ownership history

Every other feed asks to be trusted. FiDUS attaches the filing.

How it answers

One question. Many tools.

Five calls, one answer

Is the profit clean?

The agent reads the line, opens the note it points to, checks the call, runs 13 forensic checks and ranks the peers. Every figure carries its page.

What management promised

Guidance, with the speaker's name

search_calls ranks pages by terms matched. get_call_pages prints who said it. A word that appears nowhere is reported, never faked.

Who owns it, who moved

Ownership, deals, dealings

Promoter holding by quarter with each snapshot labelled, pledge null when not disclosed, every block deal with both counterparties named.

Read the way the filing is written

Leverage, on all three Ind-AS lines

Under Schedule III an NBFC splits funding across Borrowings, DebtSecurities and SubordinatedLiabilities. Reading one line gives PFC 2.0×. The filing says 5.84×.

LUPIN · FY26 · five calls · ₹ million as printed

01get_financialsExceptional items before tax (5,579.1) · PBT 68,725.5 · line 13 of 44 → refer note 37
02get_note_pages · 37237. EXCEPTIONAL ITEMS · antitrust provision ₹5,816.9m · Astellas settlement expensed ₹1,364.7m
03search_callsterms_absent_in_document: ["antitrust"] · p.7, Ramesh Swaminathan: “higher amortization of settlement agreements”
04get_scorecard13 / 13 checks pass · kill_flags none · borrowings/EBITDA 0.58 · cum CFO/PAT, 8y 1.93
05get_peer_percentilesROE 23.8% · 94th percentile of 34 pharma peers · median 13.3%
One-off, named on page 372 and still amortising on the Q1 call. Underneath: 13 of 13 checks pass, ROE at the 94th percentile.
5 calls · every figure with its page

LUPIN · Q1 FY27 call · filed 12 Aug 2026 · search_calls("LUPIN", "gross margin guidance")

pages_rankedpage 10 · 3 of 3page 5 · 2page 7 · 2page 9 · 1

Vinita Gupta · page 5

“We would like to reiterate our earlier guidance of high single-digit revenue growth for the organization with EBITDA margins of around 25% during the year.”

Ramesh Swaminathan · page 7

“Coming to the profitability of Gross Margins, the upward trajectory continues. This quarter was at 74.6% up from 71.3% in Q1FY26 last year.”

Shyam Srinivasan · page 10

“…we did the gross margins of 75% for the current quarter, right? So, what's a more normalized gross margin, please?”

Ramesh Swaminathan · page 10

“We are being a little more cautious … the EBITDA margins would be in the range of 24% to 25%.”

source_url nsearchives.nseindia.com/corporate/Lupin2_12082026174715_SE_Letter_signed.pdf · filed_at 2026-08-12 17:47 · 18 pages

LUPIN · get_shareholding · get_deals · get_insider_dealings

46.85%promoters · 30 Jun 2026

46.96 → 46.85 over eight quarter-ends, each labelled

Lupin Investments Pvt Ltd45.31%
HDFC Balanced Advantage4.37%
LIC4.09%
FII · DII22.42% · 24.65%
promoter_pledge_pctnull · not disclosed

block · 14-Oct-2025 · both legs named

SELL · GS (Singapore) Pte, ODI60,035 @ ₹1,937.5
BUY · GS Bank Europe SE, ODI60,035 @ ₹1,937.5
value₹11.63 cr

bulk · 29-May-2015

BUY · BlackRock India Equities₹1,519.38 cr

insider · holding before and after

Kamal K Sharma · sale · 15,000 sh0.04% → 0.03%
dealt 06-Sep-21intimated 08-Sep-21

PFC · FY26 · consolidated · debt to equity

2.0×Borrowings ÷ equity

5.84×debt_to_equity, as filed

Total debt, by Ind-AS line

Borrowingsabout 1/3residual
DebtSecurities + SubordinatedLiabilitiesabout 2/3missed
Components vs canonical totalreconcile< 2%

The Borrowings line is roughly a third of PFC's actual debt. A read that stops there understates leverage by about two thirds.

Reconciled

Statements · Lupin · FY26 · consolidated · ₹ million

Line by line, as filed.

Not a fixed template with two dozen filed line items merged into seven. Every line the company tagged, in filing order, under its original label, with the note behind it.

Two dozen filed lines, served as 7

Four sums, two computed, one renamed. Nothing ties back to a page.

FiDUS · get_financials("LUPIN", "FY26") · 44 lines returned · the first 24, in filing order

OCI, EPS and share capital follow · value_inr, period, source_url, filed_at on every line

Notes to accounts · the line the statement pointed to

A results filing stops at “refer note 37”. FiDUS reads it.

search_notes("LUPIN", "exceptional items", "2026")
3 hits · terms_matched 2 of 2 · terms_not_found: null
2026 · page 241 · line 142 · "Exceptional Items"
2026 · page 242 · line 44 · "Less: Exceptional items"
the statement pages. the note itself sits on page 372.
get_note_pages("LUPIN", "372", "2026")
Annual reports3,347 · 1,081 companies
Searchable lines106.9M+, each with page and section
Note tables23.8M cells, rows and columns
Absent termsreported, never faked

354 LUPIN LIMITED | Integrated Report 2025-2026

NOTES · Forming part of the Consolidated Financial Statements · (₹ in million)

36. Other expenses (end)Year ended 31.03.2026Year ended 31.03.2025
Business Compensation and Settlement Expenses1,038.42,550.3
Miscellaneous Expenses1,762.41,585.7
Total78,975.166,239.3
37. EXCEPTIONAL ITEMS

a) The Group is exposed to multiple civil lawsuits alleging anticompetitive behavior related to certain products and possible violation of federal and state antitrust laws. These lawsuits were combined into the collection of similar cases referred to as In Re Generic Pharmaceuticals Antitrust Litigation. Such litigation are often resolved through settlement agreements. During the year ended 31.03.2026, the Group based on best estimate, created a provision of ₹ 5,816.9 million (USD 65.8 million) related to antitrust litigation matters. In April 2026, Lupin Pharmaceuticals Inc. (“LPI”), a wholly owned subsidiary of the Group, settled one of the ongoing antitrust matters for an amount of ₹ 2,654.1 million (USD 30.0 million) without admission of liability or wrongdoing. The remaining provision continues to be carried by the Group towards future settlements related to similar cases. [Refer note 40(e) and note 56]

b) Lupin Limited through its wholly owned subsidiary LPI (Lupin Pharmaceuticals Inc.) has launched Mirabegron (FTF) ER Tablets 25 mg (in April 2024) and 50 mg (in September 2024) a generic version of Myrbetriq® Extended-Release Tablets, of Astellas Pharma Global Development, Inc (“Astellas”) in US markets.

On 09.02.2026, Lupin Limited and its subsidiary entered into a settlement agreement with Astellas … LPI paid ₹ 8,475.5 million (USD 90.0 million), which includes ₹ 7,110.8 million (USD 75.0 million) as Prepaid Option and ₹ 1,364.7 million (USD 15.0 million) as one-time payment towards the settlement. Accordingly, the Group has expensed out ₹ 1,364.7 million (USD 15.0 million) and has capitalised the balance amount towards Prepaid Option.

PDF page 372 · printed page 354

verified · the note the statement pointed to

In short

A generic US-schema feedFiDUS
LinesMerged into a fixed template of a few linesEvery line, in filing order, with its original label
BasisMixedConsolidated or standalone, never mixed. A fallback says so.
DepthAnnual only, four yearsEight years annual, quarterly from FY2021, 72,000+ filings
UnitsRescaledRupees as filed, unscaled, checkable against the document
InventoryNegative on 28 of 37 companies testedAs tagged in the balance sheet
ProvenanceNonesource_url and filed_at on every number
NotesNone106.9M+ lines, each with page and section

Infosys · revenue from operations · ₹ crore · eight years on record

get_financials("INFY", "FY19") … ("INFY", "FY26") · the year, never Q4 · covers states the exact dates

screen_companies · get_panel

Or ask all 2,510.

Most tools answer about one company. Three answer across the universe, and say who they left out.

screen_companies("debt_to_equity < 1") · latest year per company

2,508universe considered

1,938matched

300excluded, not zeroed

“300 companies lacked one of the inputs and were excluded rather than counted as zero”

DCMNVL · FY26 · standalone0.9969 · source_url ✓
VINEETLAB · FY26 · standalone0.9939 · source_url ✓
PAKKA · FY26 · consolidated0.9935 · source_url ✓
GOACARBON · FY26 · standalone0.9927 · source_url ✓
VHLTD · FY26 · consolidated0.9894 · source_url ✓

get_panel · five companies × four years · one call

150,769tokens, one call per cell

345tokens, get_panel

Same numbers, 437× fewer tokens. compare_companies and screen_companies work the same way: one call, the whole universe, the exclusions counted.

What it holds

Built to be checked, not trusted.

Statements

get_financials

2,510

Every line the company tagged, unscaled, so a number can be checked against the page.

Annual depth8 years, FY19 to FY26
QuarterlyFY2021 onward
Units₹ as filed, unscaled

Notes to accounts

search_notes · get_note_pages · get_note_table

106.9M+

The text behind the number: exceptional items, contingent liabilities, related parties, with page and section.

Annual reports3,347 · 1,081 companies
Every hit carriespage and section
Absent termsreported, never faked

Ownership

get_shareholding

22 yrs

Promoter holding by quarter since 2004, every named holder, pledge null when not disclosed.

Headline split2004 to date
Named holders82,059 rows
Promoter pledge10,310 quarters · 2,207 cos

Calls and decks

search_calls · get_call_pages · search_decks · get_deck_pages

18,441earnings-call transcripts · 1,386 companies

What management said, with the speaker's name beside the words.

SpanApr 2021 to Sep 2026
Speakerprinted beside the words

20,715investor decks · 1,448 companies

Lines indexed26.1M
What decks carryguidance, capex, unit economics

Point in time

get_financials(as_of=…) · get_revisions

as_of

Ask as of a date and only filings filed by then count. Unknown dates are withheld, and counted.

Filing dates2018 → present
Belief historyfrom 2026-07-17
Unknown dateswithheld and counted

Disclosures

Every dataset a desk asks for.

Technicals · new

The tape, measured.

Eight tools over adjusted daily bars for 3,104 NSE symbols, from July 2021. Every indicator carries its formula version. Values, never calls.

get_ohlcv

Adjusted, volume and all

Splits and bonuses restated from NSE's own register. Volume takes the reciprocal factor, so a 1:10 split is not a tenfold spike.

get_chart_marks

The filings, on the chart

Ex-dates, insider dealings, SAST crossings and shareholding moves, pinned to the day they were filed, the filer named.

get_technicals

134 columns on every bar

Trend, momentum, volatility, volume, delivery, levels and returns. A direction is the state of a calculation, never a call.

as_of

As of any bar. No look-ahead.

Ask as of 4 Aug 2026 and the 50-day sits ₹1.72 under the 200-day. The cross printed on 5 Aug; the answer for the day before cannot see it.

PAYTM · 1d · adjusted · Oct 2025 to Sep 2026formula_version ta-1.0

screen_technicals · get_market_breadth

Or scan all 3,104.

A condition against a number, against another indicator, or a cross that printed on the bar itself, not one that has held for months. Breadth counts how many moved, never how much one did.

screen_technicals(["rsi_14 < 30", "sma_50 > sma_200"])

104matched · of 3,104 symbols · 30 Sep 2026

symbolrsi_14sma_50sma_200

The first eight, as the tool returns them. Rows meeting the stated conditions, not a rating; ETFs trade on NSE and sit in the universe.

get_market_breadth() · a year of sessions

43.8%above their 200-day average · 30 Sep 2026

Per session: the share above the 20-, 50- and 200-day averages, advances and declines, new 52-week highs and lows, the median return. No regime call; the ingredients, not a view.

Methodology · formula_version ta-1.0

Your terminal will disagree. Here is where.

MeasureFiDUSOften elsewhere
RSIWilder smoothing, SMA-seededa plain SMA, or a true EMA
EMA seedSMA of the first Nthe first value
Bollinger σpopulation (÷N)sample, on some libraries
Stochasticslow 14/3/3fast, on some
Warm-upwithheld until settledshown from the first bar
AdjustmentNSE's register, volume tooprice only, or none
Pivotsfrom the prior barsometimes the current one
VWAProlling 20 daily barssession-anchored intraday

Neither side is wrong; the variants differ at the last decimal. Every result names the variant it used.

get_risk_metrics("PAYTM", benchmark="Nifty 50")

1 year3 years

Risk-free rate 6.5%, a documented placeholder, echoed in every answer. Fewer than 20 paired sessions returns no statistic rather than a noisy one.

Values, never calls.

No rating, target, stop or signal. Pivots are arithmetic on past bars.

No chart patterns by name.

35 candlestick shapes, each defined to the threshold. Head-and-shoulders has no agreed definition, so it is not detected.

The catalogue

56 tools. One company, or the whole universe.

Most tools answer about one company. screen_companies, compare_companies and get_panel answer across all of them, and a five-company four-year grid from get_panel costs about 345 tokens instead of 150,769. Four answer about you rather than a company — a watchlist, a thesis written in your own words, a saved screen — kept in your own desk, apart from the filings and never mixed into them. Eight read the tape rather than the filings, and are listed apart below.

Price and technicals · eight tools

Measured, not asserted

Against the named alternatives.

We connected to each of these products and asked them the same questions we ask FiDUS. This table reports what came back — what only FiDUS answers, where the alternatives beat us, and the cells we did not test.

FiDUSfinancial
filings
TrendlyneUpstoxnote
Statements as filed✓———theirs: 18 lines from a template; ours: 44 as tagged
Segments, quarterly✓·——quarter and year-to-date, both revenue cuts
Annual-report note search✓~——106.9M lines, page and section
Mutual-fund holdings✓———top-10 AMCs, monthly
Forensic quality scoring✓———
Auditor opinions✓·——
Screening across the universe✓—~—
Ownership + pledge history✓—~~theirs returned 7 filings, newest 2015, no content
Corporate actions2005→2019→·1 rowTitan’s 2011 bonus: only FiDUS returned it
Calls, speaker named✓~✓—
Investor decks✓~✓—
Indian companies2,5107,935··they cover 3× our universe
Daily price historyJul 2021→··Jan 2017→Upstox is deeper than us here
Live prices and ticks——·✓not our job, by design
Free tier—✓—~theirs is free; ours is keyed
Companies that left (survivorship)✓✓——both keep them; most do not
A citation on every number✓~~—
Point-in-time as-of✓~——theirs honours the date; the figures under it did not
✓ full~ partial— not offered· not tested crimson · they beat us competitor capabilities measured 6–8 Sep 2026 · FiDUS’s own universe re-measured 26 Sep 2026

Where a competitor’s quota ran out mid-test, the row is marked not tested rather than failed. Question-by-question detail, and what each product does better than FiDUS, is available on request.

Where it sits

Not a terminal. Not a feed.

The other ways an agent gets Indian equity data: a terminal built for a human at a screen, or a generic API built on a US reporting schema. Here is where each one stops.

A terminalA US-schema feedFiDUS
Built fora human at a screendashboards and modelsyour agent, over MCP
Statement linesa standardised template~30 fixed fieldsevery filed line, in filing order — 44 for Lupin FY26
NBFC leveragea vendor ratioone Borrowings line → PFC at 2.0×all three Ind-AS lines → 5.84×, components reconciled
The receipta database name—source_url and filed_at on every number
“As of last March”today’s vintagetoday’s vintageonly filings filed by then · as_of, no look-ahead
Reporting basisvendor’s choicecan blend consolidated and standaloneone basis per answer · any fallback is named
Notes to accountsa PDF viewer—106.9M+ searchable lines, each with page and section
What was saida transcript viewer—18,441 transcripts · the speaker named beside the words
What was shown——20,715 investor decks, searchable line by line
A missing numbera blanka zeroexcluded — and the exclusion is counted
When you doubt ittrust the vendortrust the vendoropen the filing · it is attached to the answer
Every FiDUS cell is a live answer on this page — ask the server the same questions.FiDUS cells re-measured 26 Sep 2026

What FiDUS does not carry, by design: broker estimates and consensus, intraday ticks. If it was never filed with the exchange or printed by it, it is not in FiDUS, and the technicals are end of day only. Quarterly statements run FY2021 onward — older quarters are on the exchange and land as they are ingested.

Install

One line to add.

Hosted at backfin-mcp.tailf4950.ts.net/mcp. Ask for a key, add one line, and every tool is in your agent. Or run the stdio server from a checkout.

Read-only by construction

What it will and will not do.

Reads published artifacts, never the live pipeline.

The DuckDB catalog opens read-only, so the server cannot collide with the pipeline's single writer.

States its units, every time.

get_financials serves rupees as filed, unscaled, so a number can be checked against the document. Everything derived serves crore, and says so.

Every call metered, when hosted.

Keys are client=key pairs, with optional expiry. Each request is logged as it happens, denied calls included.

Not built, deliberately.

No OAuth yet (keys are issued by hand, with per-key expiry and daily quotas), and the 914 generated call analyses are not exposed: the call tools serve the transcript itself, not a model's reading of it.

Next on the bench

Built in the open.

Not served yet, listed anyway — so the shelf above stays exactly what the server answers today. Last week's list (announcements since 2005, FY22 quarterlies, parsed related-party rows, offer documents staged draft/RHP/final, REST, corporate actions to 2005, auditor opinions, MF portfolios, quarterly segments FY18 onward, the delisted register, push webhooks, read-any-filing) is now above the line.

Guidance tracking from investor decks.

Management targets extracted from 20,715 presentations and scored against what was later filed — met, missed, or quietly dropped.

Self-serve connector.

OAuth, so FiDUS can be added inside Claude and ChatGPT without a key exchange.

Intraday bars.

1-, 5- and 15-minute intervals are reserved in the technicals, not served. Today the tape is daily, weekly and monthly.

Design-partner access

Every number, with its filing.

For funds, PMS and family offices. Coverage requests for names outside the Nifty 500 are honoured within a week.

Get access

Contact

Shreyas Mashelkar

FiDUS · design-partner access

Contact

Siddhi Nagvekar

FiDUS · design-partner access

Request
access.

Tell us who you are and which product you want to see. A person replies, not a sequence.