MCP server for Tijori Finance — search, financials, operational metrics, revenue mix, market share, knowledge base and more for Indian equities.
Strong tool coverage (19 tools) with consistent naming (verb_noun pattern), clear descriptions (avg 150-200 chars), and complete Zod schemas. All tools are READ_ONLY with proper error wrapping. However, output schemas are not documented, LLMs cannot predict response structure. Parameter descriptions are present but some lack format/constraint details (e.g., 'filters' in screen_companies accepts union of string or object but no validation guidance). Missing tool annotations (readOnlyHint, idempotentHint). Error handling returns JSON with error/message but lacks recovery guidance or categorization.
Fetch and extract text from a Tijori Finance document (PDF). Pass a URL returned by get_knowledge_base. Uses the authenticated browser session to bypass CDN access controls. Returns the full text content and page count.
Get company overview: key financial ratios, forensics score, market cap, PE, ROE, ROCE.
Get all constituent companies of a conglomerate group. Pass the tjiid from get_markets({ tab: "conglomerates" }). Returns each company's slug (usable with other tools) and price returns for 1D/1W/1M/3M/6M/1Y/2Y/3Y/5Y/10Y. The conglomerates tab itself shows ROE by year; this tool gives the underlying price performance per stock.
Get financial statements. type: pl=Profit&Loss, bs=Balance Sheet, cf=Cash Flow, ratios=Financial Ratios, quarterly=Quarterly Results.
Get capital allocation (fund flow) breakdown over 1, 3, 5, 7, or 10 years. Run resolve_company_ids first.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting). Responses are JSON-stringified but internal structure is opaque.
Error handling lacks recovery guidance. Errors return {error, message} but do not categorize as retryable/user-fixable/fatal or suggest next steps (e.g., 'Try search_company() first').
screen_companies 'filters' parameter accepts union of string or object but lacks validation guidance. LLMs cannot infer valid query syntax or object shape without examples or formal schema.
Tool annotations missing. No readOnlyHint, idempotentHint, or destructiveHint declared. Clients cannot infer safety properties or optimize caching.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Get all investor documents for a company: annual reports, earnings releases, investor presentations, conference call transcripts, and curated research links. Returns URLs grouped by document type.
Get India macro indicators: industry credit/IIP, demand (GST/auto), or GDP & trade.
Get all market share metrics for a company (e.g. Bank Advances, Credit Cards, Housing Loans). Returns latest % value and as-of date for each metric.
Get index performance: headline (Nifty/Sensex/Nifty Bank etc.), niche (TJI sector indices with 1D–5Y price returns — each row includes tjiid for get_sector_constituents), or conglomerates (9 Indian business groups — each row includes tjiid for get_conglomerate_constituents).
Get all operational KPIs for a company with latest values and recent trend. Pass the company slug.
Get commodity price performance for Chemicals, Spreads, or Metals.
Get revenue/segment mix breakdowns for a company. Returns latest % breakdown and full historical trend per segment.
Get all constituent companies of a TJI niche sector index. Pass the tjiid from get_markets({ tab: "niche" }). Returns each company's slug (usable with other tools), market-cap weight %, equal weight %, and price returns for 1D/1W/1M/3M/6M/1Y/2Y/3Y/5Y/10Y.
Get 10-quarter shareholding breakdown: promoter %, FII %, DII %, public %.
List all pre-built popular stock screens on Tijori Finance, grouped by category, with each screen's name, description, and underlying query. Run one with screen_companies { preset: "<name>" }.
Resolve a company slug to its numeric company_id. Required before calling get_fund_flow.
Screen companies by financial metrics and/or business data. Pass 'preset' (a popular screen name from list_popular_screens, e.g. 'Cash Flow Machines'), OR 'filters' and/or 'alternate'. 'filters' accepts a query string like '( ROE > 15 ) and ( Market Capitalization > 500 )' or a shorthand object like {roe:{min:15}, debt_to_equity:{max:0.5}}. Query strings support any field name from search_screener_fields, % values ('ROCE > 20%'), field-vs-field comparisons ('Net Sales > 3Yrs ago Net Sales'), and arithmetic ('capex/Net Block > 0.5'). 'alternate' is a business-data query using relationships: 'makes <product>', 'revenue from <product/region> > N', 'market share > N', 'uses <product>', 'caters to <product>', 'has plant in <region>' — combinable with AND/OR/NOT, e.g. 'market share > 50' or 'revenue from Defence > 50'. Product/region names come from search_screener_fields with type Products/Regions. Optional flags: latest_results_only (only companies that reported the latest quarter), superstar_investors (only companies a superstar/whale investor holds — adds a 'whales' column), sme (search the SME-listed universe instead of mainboard). 'limit' caps returned rows (default 50) and 'offset' pages through the rest (e.g. offset: 50 for rows 51-100 — served from cache, no refetch); total_results always reports the full match count.
Search Tijori Finance for companies by name. Returns name and slug. Use the slug with all other tools.
Search Tijori's screener field catalog (~1,500 financial metrics with time-period variants like '3yr Avg ROCE', '5yr Growth Net Sales', '10Yrs ago PAT', plus product segments and regions). Use to find the exact field name before building a screen_companies query. Example: query 'promoter holding' or 'npa'.
Parameter descriptions lack format/constraint details. E.g., 'slug' appears in 13 tools but no description explains format (lowercase, hyphenated, etc.). 'query' in search_company lacks min/max length guidance.