Skip to main content
Glama
ishan-parihar

etmoney-lyr

ET Money has no public API. Your agent wants one. etmoney-lyr reverse-engineers ET Money's research surfaces into a local MCP server: all 67 mutual-fund categories, stock market screens, NIFTY index and sector constituents — served as 10 typed tools with structured JSON output. Read-only, no login, no keys.


See it work

A real session, real numbers, straight from the tools:

// mf_search {"query": "parag parikh"}
{ "total": 7, "results": [ { "scheme_id": 19230, "name": "Parag Parikh Flexi Cap Fund Regular-Growth", ... } ] }

// mf_detail {"scheme_id": 19230}
{
  "name": "Parag Parikh Flexi Cap Fund Regular-Growth",
  "riskometer": "Very High",
  "nav": 82.81,
  "expense_ratio_total_pct": 1.29,
  "trailing_returns": [ { "period": "1 Year", "fund_pct": -2.02, "category_avg_pct": 1.58 }, "...9 more horizons" ],
  "holdings":        [ { "name": "HDFC Bank Ltd.", "bucket": "EQUITY", "pct": 7.55 }, "...84 more" ],
  "sectors":         [ { "name": "Financial", "pct": 25.69 }, "...17 more" ],
  "risk_ratios_fund":     { "sharpeRatio": 0.76, "beta": 0.60, "alpha": 3.48 },
  "risk_ratios_category": { "sharpeRatio": 3.54, "beta": 0.57 },
  "managers": [ "Raj Mehta", "Rajeev Thakkar", "+4" ]
}

// mf_compare {"scheme_ids": [19230, 25643]}
{ "funds": [ { "name": "Parag Parikh Flexi Cap...", "etm_rank": 9, "rating": 5, "sharpe": 0.76 },
             { "name": "Motilal Oswal Flexi Cap...", "etm_rank": 7, "rating": 3, "sharpe": 0.75 } ] }

Every number above is parsed from ET Money's own pages — not hand-typed.

Verified: 195 offline tests against captured fixtures · 54 live end-to-end checks across every tool and parameter edge · protocol handshake tested through the real stdio binary and Docker image.

Related MCP server: MCP Financial Data Gateway

What it covers

Tools

What your agent can ask

Mutual funds

mf_search mf_list mf_detail mf_compare mf_categories mf_featured

Screen any of 67 categories (large cap → gold → index funds → retirement), full report cards with holdings & risk ratios, side-by-side compares of up to 4 funds

Stocks

stock_screen index_stocks sector_stocks stock_detail

Gainers/losers/52-week extremes/multibagger screens, NIFTY 50–500 & Bank constituents, sector lists, per-stock fundamentals

Typical flow: mf_search("small cap")mf_detail(6558)mf_compare([6558, 11077]).

Install

# uv from GitHub — the one-liner
uv tool install git+https://github.com/ishan-parihar/etmoney-lyr.git

# or the bootstrapping installer (installs uv if missing; pipx/pip fallbacks)
curl -sSL https://raw.githubusercontent.com/ishan-parihar/etmoney-lyr/main/install.sh | bash

# upgrade anytime
uv tool upgrade etmoney-lyr

Requires Python 3.11+ — uv provisions it automatically.

Point your agent at it

{
  "mcpServers": {
    "etmoney": {
      "command": "etmoney-lyr",
      "args": []
    }
  }
}

That's it. The same binary is dual-mode: an interactive terminal shows a help home view; piped stdin serves MCP.

etmoney-lyr search "hdfc small cap"     # TOON output built for agents
etmoney-lyr fund 19230 --full           # full report card
etmoney-lyr stocks top_gainers          # market screens
etmoney-lyr categories                  # category id reference
etmoney-lyr --list-tools --fields stock # tool inventory

docker build -t etmoney-lyr .
docker run -i --rm etmoney-lyr          # stdio MCP server in a container

CLI output is TOON by default (token-efficient), with --json when you want raw. Errors are machine-readable (error: / help: lines) and always exit code 2.

How it works

ET Money's web app leaks its data through three different mechanisms — each gets a dedicated parser instead of one brittle HTML scraper:

  • JSON APIs for the screener and search (the site's own XHR contract)

  • Embedded JS DTOs on fund pages — full report cards arrive as ready-made JSON inside <script>var compSchemeDTO = …; parsing HTML tables would be strictly worse

  • Next.js RSC flight payloads on stock pages, reassembled from self.__next_f.push() chunks

Parsers are pinned to committed fixture copies of real pages, so markup drift fails tests loudly instead of silently corrupting numbers. Indian number formats (₹1,48,429 Cr, 13 yrs 3 m) are normalized to floats everywhere.

Limits, honestly

  • Research only. No orders, SIPs, KYC, or portfolio writes — by design. Portfolio tracking and Genius insights sit behind login upstream and are out of scope.

  • App-exclusive data (interactive ET Money Rank scorecard, Genius verdicts) isn't exposed; the rank commentary that ships on public pages is included.

  • Upstream drift: ET Money can change its pages anytime. Fixture tests catch structural breaks; run python scripts/live_check.py after any parser change.

Development

git clone https://github.com/ishan-parihar/etmoney-lyr && cd etmoney-lyr
uv sync --dev
uv run pytest            # 195 tests, fully offline via fixtures
uv run ruff check .      # lint
uv run python scripts/live_check.py   # optional: 54 checks against live site

Part of the -lyr family (twitter-lyr, reddit-lyr, swiggy-lyr): one platform, one MCP server, one AXI-compliant CLI.

License

MIT — see LICENSE. Not affiliated with ET Money / 360 ONE; data is public research information. Nothing here is investment advice.

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides 11 MCP tools for querying A-share market data, financial reports, stock screening, hot topics, self-selected stocks, and LOF arbitrage using natural language, powered by East Money / Miaoxiang APIs.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 10 financial data tools (market data, economic indicators, news, insider trades, and calendars) via a single MCP layer, enabling any MCP-compatible LLM to access diverse financial data through a unified interface.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    AI equity-research analyst for Indian NSE/BSE markets with 28 MCP tools enabling sector screens, valuations, SWOTs, and forensic audits using Claude Agent SDK.
    Apache 2.0
  • A
    license
    B
    quality
    B
    maintenance
    Exposes Screener.in data for Indian stocks (NSE/BSE) — fundamentals, financial statements, peers, and price/EPS time-series — as tools any MCP client can call.
    4
    4
    MIT

View all related MCP servers

Related MCP Connectors

  • Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.

  • The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.

  • 100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ishan-parihar/etmoney-lyr'

If you have feedback or need assistance with the MCP directory API, please join our Discord server