Tijori Finance

io.github.LaZZy0v0Published by GitHub account LaZZy0v0v1.0.0Updated Oct 24, 2026

Indian equity research MCP — 5,000+ NSE/BSE stocks, financials, KPIs, and concall transcripts.

The publisher's own server: Finance Foundation

Overview

AI-generated overview

Lets an assistant research Indian listed companies: financials, shareholding, operational KPIs, screening, and investor documents.

What you can do
Exposes Tijori Finance data for 5,000+ NSE/BSE listed companies through tools such as search_company, get_company_overview, get_financials, get_shareholding, get_operational_metrics, get_revenue_mix, get_market_share and get_macro_indicators. It also lists and runs stock screens, searches a catalog of roughly 1,500 screener fields, and retrieves investor documents such as annual reports, earnings releases and concall transcripts, with a tool to fetch and extract the full text of a PDF. Results are returned as structured JSON and cached in memory.
When to use it
Useful when you want an assistant to pull and compare Indian equity fundamentals, shareholding patterns, segment revenue or operational metrics, or to run stock screens and read earnings-call material without manual PDF hunting.
Requirements
Runs locally over stdio as an npm package (tijori-finance-mcp) on Node.js v18 or later, and needs Claude Desktop. A Tijori Finance account is required, with credentials supplied as TIJORI_EMAIL and TIJORI_PASSWORD; a paid subscription is recommended for full data access. It downloads a Chromium browser via Playwright and needs network access to Tijori Finance.
Before you install
The server stores your Tijori email and password in a local .env file and keeps an authenticated browser session in output/session.json, so protect both files. It logs in as you and reads pages through that session, and the README states it reads through the authenticated session to bypass CDN access controls. Data is for personal research only and must not be redistributed; the project is not affiliated with Tijori Finance.

Installation

In SourceWeft

  1. Open Tijori Finance in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[Tijori Finance MCP]

Tijori Finance MCP

India's first MCP server for Indian equity research.

Talk to 5,000+ NSE/BSE listed companies directly from Claude with India's equity research MCP

[Node.js] [MCP] [License] [Data] [Status]


What you can do

"Pull Zomato's last 6 quarters of revenue and EBITDA margin, then read theirlatest concall transcript — are they hitting the targets management guided for?"
"Bajaj Finance's FII stake dropped 400bps last year while promoters held flat —pull their latest investor presentation to figure out if this is distribution or passive rotation."
"Crude is up — check the raw materials data for chemical spreads, then pullrevenue mix and operational metrics for Deepak Nitrite to see if margins are at risk."


"The goal is to turn data into information, and information into insight." — Carly Fiorina


In Action

1 — Cross-tool deep dive: Titan

Revenue mix pulled first, then cross-referenced against P&L data to explain trends

[Titan — Revenue Mix × P&L]


2 — IndiGo: P&L history

Full income statement history retrieved in one call — revenue, EBITDA, PAT across years

[IndiGo — P&L History]


3 — Concall → Financial projection

Knowledge base fetched the latest earnings call transcript, Claude read it and built a forward projection model

[Concall → Financial Projection]


Why this exists

Most financial MCP servers are built for US markets — Yahoo Finance, SEC filings, S&P data.

Nothing existed for India.

Tijori Finance is the most comprehensive source for Indian equity data — operational KPIs, revenue segment breakdowns, market share trends, and curated investor documents that aren't available anywhere else. This MCP server exposes all of it to Claude.

FeatureTijori Finance MCPTraditional ResearchBloomberg / Refinitiv
Setup Time5 minutesHours (Python, Excel...)Weeks (Contracts)
CostFree + Tijori subscriptionVariable$30k+/year
Indian Market Coverage✅ 5,000+ NSE/BSE stocks❌ Fragmented / manual✅
Operational KPIs✅ Segment data, KPIs, market share❌ Manual scraping✅ Proprietary
Concall Transcripts✅ Earnings calls, investor docs❌ PDF huntingPartial
AI-Ready Output✅ Structured JSON → Claude❌ Unstructured pages❌ Proprietary only
API Keys RequiredNoneMultiple (OpenAI, etc.)N/A
What makes this different from a web search?

A web search gives you unstructured pages. This gives Claude structured, queryable data — historical time series, typed fields, and consistent schemas across all 5,000+ companies. Claude can reason over it, compare across companies, and build analyses — not just summarize a webpage.


Tools

v1 — Stable

ToolWhat it does
search_companySearch any company by name, returns slug
get_company_overviewKey ratios, forensics score, market cap, PE, ROE, ROCE
get_financialsP&L, Balance Sheet, Cash Flow, Ratios, Quarterly results
get_shareholding10-quarter promoter / FII / DII / public breakdown
get_operational_metricsAll operational KPIs with full historical time series
get_fund_flowCapital allocation breakdown over 1/3/5/7/10 years
get_revenue_mixSegment breakdown with historical trend per segment
get_market_shareMarket share % per metric with as-of date
get_knowledge_baseAnnual reports, earnings releases, investor presentations, conference calls — returns URLs grouped by type
fetch_documentFetch and extract full text from a PDF URL returned by get_knowledge_base. Reads through the authenticated session to bypass CDN access controls
get_raw_materialsCommodity price performance — chemicals, spreads, metals
get_macro_indicatorsIndia macro — credit, IIP, GST, auto sales, GDP, trade
get_marketsIndex performance — Nifty, sector indices, conglomerates
get_sector_constituentsAll stocks inside a TJI niche sector index. Pass tjiid from get_markets("niche"). Returns slug, market-cap weight, and 1D–10Y price returns per stock
get_conglomerate_constituentsAll companies inside a business group. Pass tjiid from get_markets("conglomerates"). Returns slug and 1D–10Y price returns per stock
resolve_company_idsResolve slug to numeric company ID

v2 — Stable

ToolWhat it does
list_popular_screensBrowse Tijori's pre-built stock screens, grouped by category, with each screen's description and underlying query
screen_companiesRun a popular screen by name (preset) or screen 5,000+ stocks with Tijori's full query language — % values, field-vs-field comparisons, arithmetic like capex/Net Block > 0.5, plus business-data queries (alternate) like market share > 50 or revenue from Defence > 50
search_screener_fieldsSearch the ~1,500-metric field catalog (with time-period variants like 3yr Avg ROCE, 10Yrs ago PAT) to find exact field names for screen_companies

What's New

2026-06-12 — Screener overhaul

  • Alternate data queries. The Advanced Screener's second box now works ad-hoc: screen_companies({ alternate: "market share > 50" }) or { alternate: "revenue from Defence > 50", filters: "Market Capitalization > 1000" }. Relationships: makes, revenue from, market share, uses, caters to, has plant in, combinable with AND/OR/NOT.

  • The three screener checkboxes. latest_results_only (only companies that reported the latest quarter), superstar_investors (only companies a whale investor holds, with the holder named per row), and sme (search the SME-listed universe).

  • Popular screens actually run now. list_popular_screens previously returned queries with the AND glued to the next field name (newlines in the page's links were being stripped), and dropped each screen's category, description, market-share query, and superstar-investor flag. It now returns all of those, and screen_companies { preset: "Monopoly Companies" } runs any of them through the same endpoint the website uses — including the ones advanced queries can't express.

  • The advanced screener exposes Tijori's full query language. Queries support every field in Tijori's catalog, % values (ROCE > 20%), comparisons between fields (Net Sales > 3Yrs ago Net Sales), and arithmetic (capex/Net Block > 0.5).

  • New search_screener_fields tool. Tijori has ~1,500 financial metrics once you count time-period variants (3yr Avg ROCE, 5yr Growth Net Sales, 10Yrs ago PAT…). Search the catalog to find the exact name, then use it in a query.

  • Result caps + pagination. Screens used to return every matching row (1,000+ for loose queries). Results are now capped at 50 by default (limit raises it) and offset pages through the rest — "show me the next 50" is served instantly from cache without re-querying Tijori. total_results always reports the full count.

2026-06-10 — Reliability & performance

  • Long, multi-tool queries no longer time out. Asking for a full workup in one go — e.g. "build a model for MTAR: overview + financials + concall + revenue mix + operational KPIs" — used to overwhelm the browser and fail with page.goto: Timeout errors. Page loads are now faster (ads, trackers and images are skipped), capped to a safe number of concurrent loads, and retried once on a transient timeout. Tools also wait for the actual data to render rather than a fixed delay, so you get complete results instead of half-loaded ones.
  • Fixed a startup browser leak. A burst of parallel tool calls on a cold start could spin up several Chromium instances and leave most of them orphaned. It now launches exactly one and shares it.
  • get_market_share returns cleanly when there's no data. For companies that simply have no market-share metrics (most non-lenders), it now returns an empty result with a note instead of erroring — which previously made the assistant retry the same call in a loop.

Setup

Requirements


Option 1 — Wizard (recommended)

The setup script handles everything automatically: installs packages, downloads the browser, authenticates, and writes the Claude Desktop config for you.

Windows

  1. Download Node.js and install it (choose LTS)
  2. Download Claude Desktop and install it
  3. Download this repo and unzip it anywhere
  4. Double-click setup.bat inside the folder
  5. Follow the prompts — enter your Tijori email/password, then log in through the browser window that opens
  6. Fully quit and reopen Claude Desktop

Mac

  1. Download Node.js and install it (choose LTS)
  2. Download Claude Desktop and install it
  3. Download this repo and unzip it anywhere
  4. Double-click setup.command inside the folder — if macOS blocks it ("unidentified developer"), right-click the file and choose Open the first time
  5. Follow the prompts — enter your Tijori email/password, then log in through the browser window that opens
  6. Fully quit and reopen Claude Desktop (Cmd+Q, not just closing the window)

Linux (or any terminal)

bash
git clone https://github.com/LaZZy0v0/tijori-finance-mcp.gitcd tijori-finance-mcpnode setup.js

Follow the prompts, then fully quit and reopen Claude Desktop.


Option 2 — Manual

For those who want to see exactly what each step does.

1. Clone and set credentials

bash
# Mac / Linuxgit clone https://github.com/LaZZy0v0/tijori-finance-mcp.gitcd tijori-finance-mcpcp .env.example .env
# Windowsgit clone https://github.com/LaZZy0v0/tijori-finance-mcp.gitcd tijori-finance-mcpcopy .env.example .env

Open .env in any text editor and fill in your Tijori credentials:

env
[email protected]TIJORI_PASSWORD=yourpassword

2. Install packages and browser

bash
npm installnpx playwright install chromium

npm install downloads the Node.js dependencies. playwright install chromium downloads a ~150 MB Chromium browser used to maintain your Tijori session — one-time only.

3. Authenticate

bash
node discover.js

A browser window opens at the Tijori Finance sign-in page. Log in as you normally would. Once you're in, the script visits a few pages in the background to capture API endpoints, then the window closes automatically. Your session is saved to output/session.json.

4. Configure Claude Desktop

Find your config file and add the block below. The path to src/index.js must be absolute.

OSConfig file location
Windows%APPDATA%\Claude\claude_desktop_config.json
Mac~/Library/Application Support/Claude/claude_desktop_config.json
json
{  "mcpServers": {    "tijori-finance": {      "command": "node",      "args": ["C:/Users/yourname/tijori-finance-mcp/src/index.js"]    }  }}

5. Fully quit and reopen Claude Desktop


Test it

"Search Tata Steel using Tijori MCP"

If Claude returns a result, you're connected.


Session expiry

Tijori sessions expire periodically. When tools stop working:

bash
npm run reauth

A browser window opens — log in manually and you're back.


How it works

The server uses Playwright to maintain an authenticated browser session with Tijori Finance. Each tool navigates to the relevant page or calls the underlying API, parses the response, and returns structured JSON to Claude. Results are cached in-memory (6 hours for financials, 30 minutes for metrics) to keep things fast.

[Architecture]


Disclaimer

This project is not affiliated with Tijori Finance. It requires your own paid Tijori Finance subscription. Use for personal research only — do not redistribute the underlying data.


Built with Model Context Protocol · Data from Tijori Finance

Source: README.md at commit 64be6c4

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Finance integrations