Finmagine MCP Server

The MCP server for Indian & US stock market intelligence.

NSE/BSE + NYSE/NASDAQ — REST API + MCP in one endpoint.

🇮🇳 60 REST + 62 MCP — Indian markets 🇺🇸 26 REST + 26 MCP — 6,400+ US stocks ✦ Claude · Cursor · AI-ready ✦ Free · $49 · $149

Spreadsheet functions

Pull Finmagine's Indian and US market data into a spreadsheet with ordinary formulas. Finmagine for Sheets is available now; Finmagine for Excel is coming soon.

Google Sheets™ — available Microsoft Excel — coming soon
Install Finmagine for Sheets About the add-on Plans & limits
Setup Symbols Function reference India ratios Examples Refreshing Errors Privacy Excel

Finmagine for Sheets — setup

  1. Install Finmagine for Sheets from the Google Workspace Marketplace. It works only with the spreadsheet you have open.
  2. Open a spreadsheet. A Finmagine menu appears. Choose Create Sample Sheets to add ready-made tabs (two Indian and two US companies, a company-detail page, a screener and a metric reference). It never overwrites your existing tabs and works before you connect.
  3. Choose Connect and sign in with your Finmagine account. If you prefer an API key, choose Configure API Key and paste one from the developer portal; it is stored only in your own Google account's script properties, never in a cell.
  4. Choose Test Connection to confirm. Then Refresh Data loads live values into the sample tabs.
Menu itemWhat it does
Create Sample SheetsAdds five tabs: India and US watchlists (two companies each), company detail, screener, metric reference.
Connect / DisconnectSign in with, or remove, your Finmagine account for this spreadsheet.
Configure API KeyUse an API key instead of signing in.
Test ConnectionChecks your connection and tier. Uses a status check that does not spend a data request.
Refresh DataClears the local data cache and recalculates every Finmagine formula. Skipped with a message when you have fewer than 10 requests left this hour.
Set Workbook Default MarketLets you type bare symbols (TCS) in this workbook. An explicit prefix always wins.
About / DiagnosticsShows connection, tier, remaining quota and the last error.

Symbols

Every symbol carries its market prefix, never guessed: NSE: or BSE: for India; NASDAQ:, NYSE: or AMEX: for the US — for example NSE:RELIANCE and NASDAQ:AAPL. One batch or one lookup is always one market. If you set a workbook default market you can omit the prefix.

Function reference

FormulaReturnsAvailable onNotes
=FINMAGINE_DATA(symbol, metric)One valueAll plans=FINMAGINE_DATA("NSE:TCS","pe"). FINMAGINE() is a permanent alias.
=FINMAGINE_BATCH(symbols, metrics)TableHigher plansA whole watchlist in one call. One market per call; every metric must exist for that market, and the error names any that does not.
=FINMAGINE_FINANCIALS(symbol, period, count)TableIndia: all US: higherperiod is quarterly or annual.
=FINMAGINE_MOMENTUM(symbol)RowIndia: all US: higherRelative-strength and trend readings.
=FINMAGINE_INDIA_RATIOS(symbol)TableAll plansAll 20 India ratios for one company from a single request. India symbols only.
=FINMAGINE_US_RATIOS(symbol)TableHigher plansThe full US ratio table. US symbols only.
=FINMAGINE_SCREEN(market, criteria, limit)TableUS: higher India: top API planCriteria are key=value pairs separated by ;. A plan that cannot screen gets a clear message without spending a request.
=FINMAGINE_SCHEMA("metrics")TableAll plansEvery metric key you can ask for. Works offline; costs no request.
=FINMAGINE_QUOTA()TextAll plansYour plan and the requests left today and this hour (from your last real lookup).

The free plan covers a fixed list of large Indian and US companies; other plans cover every company. Request limits depend on your plan — see plans & limits. Creating the sample sheets on a fresh account uses about six requests in total.

India ratios

=FINMAGINE_INDIA_RATIOS("NSE:TCS") returns every India ratio for a company as a table — ratio name, metric key, value and unit — from one request. You can also look a single ratio up with FINMAGINE_DATA using its metric key:

Metric keyRatioUnitData set
roceROCE%Ratios*
roeROE%Profile
deDebt / EquityxProfile
opm_pctOperating margin%Profile
peP/ExProfile
sales_growth_pctSales growth%Profile
revenue_cagr_10y10-year revenue CAGR%Profile
pat_cagr_10y10-year profit (PAT) CAGR%Profile
ebitda_cagr_5y5-year EBITDA CAGR%Profile
ebitda_cagr_3y3-year EBITDA CAGR%Ratios*
fcf_yieldFree cash flow yield%Profile
fcf_cagr_5y5-year free cash flow CAGR%Ratios*
ocf_to_pat_5y5-year average OCF / PATxRatios*
altman_z_scoreAltman Z-ScorescoreRatios*
profitable_years_10yProfitable years (of last 10)yearsRatios*
fcf_positive_years_10yFCF-positive years (of last 10)yearsRatios*
dividend_years_10yDividend-paying years (of last 10)yearsRatios*
net_debt_crNet debt₹ croreProfile
promoter_pctPromoter holding%Profile
pledge_pctPromoter pledge%Profile

* "Ratios" metrics come from a second data set. Looking them up one at a time with FINMAGINE_DATA may use one extra request per company on top of the "Profile" data set most metrics share; FINMAGINE_INDIA_RATIOS needs only one for all of them.

Examples

// One metric, one company
=FINMAGINE_DATA("NSE:RELIANCE", "pe")
=FINMAGINE_DATA("NASDAQ:AAPL", "market_cap_usd_b")

// All India ratios for a company
=FINMAGINE_INDIA_RATIOS("NSE:TCS")

// A watchlist in one call (higher plans) — India symbols in A2:A20
=FINMAGINE_BATCH(A2:A20, {"company_name";"pe";"roe";"price_cmp"})

// Eight quarters of financials
=FINMAGINE_FINANCIALS("NSE:TCS", "quarterly", 8)

// Screen the US market (higher plans)
=FINMAGINE_SCREEN("us", "min_mcap_b=100", 25)
Metric keys are per market. Some keys exist only for India (for example roce) and some only for the US (for example market_cap_usd_b, pb). Use =FINMAGINE_SCHEMA("metrics") to see which market each key belongs to. A batch must use one market and only keys that exist for it.

Keeping data fresh

Custom functions in Sheets reuse their last result when their inputs have not changed. Finmagine → Refresh Data clears the local cache and forces every Finmagine formula to recalculate. Fundamentals are cached for hours, quick-moving values such as momentum for minutes. On a small plan, Refresh Data refuses to run when fewer than 10 requests are left this hour, and your current values stay in place.

Errors

MessageMeaning
Not connectedChoose Finmagine → Connect (or Configure API Key), then Refresh Data.
No market prefix on "…"Add NSE: / NASDAQ: etc., or set a workbook default market.
Mixed markets in one batchSplit the call: one for India symbols, one for US symbols.
"…" is not available in FINMAGINE_BATCH for <market>That metric key does not exist for that market. Check FINMAGINE_SCHEMA.
Requires a higher plan / need a higher planThe function is not part of your plan. See plans.
Rate limit reachedYou used the requests allowed this hour or day. FINMAGINE_QUOTA() shows what is left.

Hover over an error cell to read the full message, and use About / Diagnostics to see your connection, tier and last error. Wrap a formula in IFERROR to show your own fallback. In FINMAGINE_BATCH, a problem with one symbol shows in that row only, so the rest of the watchlist still loads.

Privacy & permissions

Only the symbols and metric names in your formulas are sent to Finmagine so it can answer them; it does not read the rest of your spreadsheet. The add-on asks Google for three permissions: show its menu and dialogs, connect to finmagine.com, and work with the current spreadsheet only. It has no access to your other Drive files. Signing in uses a Finmagine consent screen, so Finmagine never sees your Google password. See the Privacy Policy. Finmagine provides information and analytical tools for educational and informational purposes only; nothing here is investment advice.

Finmagine for Excel — coming soon

Not available yet. Finmagine for Excel has not been released on Microsoft AppSource. There is nothing to install yet.

It will offer the same functions under the FINMAGINE. prefix (for example =FINMAGINE.DATA("NSE:TCS","pe")), with a task pane for sign-in, sample sheets, refresh and diagnostics, in Excel on the web, Windows and Mac. This page will be updated when it is released. See the Finmagine for Excel page.

Google Sheets™ is a trademark of Google LLC. Microsoft Excel® is a trademark of Microsoft Corporation. Finmagine for Sheets and Finmagine for Excel are independent products.