Ecosystem map MCP setup llms.txt
Brokers don't ship fundamentals. Dashboards don't ship APIs. Bloomberg costs ₹20L/yr.
A practical map of the Indian-markets agent stack — where each service shines, where Genka fits, and the composition patterns that actually work in production. We use several of the services on this page ourselves.
scripts/diagram/render.mjs
1. Execution — brokers
Where the order actually goes. Account-tied, regulated, sub-second. None of these ship cross-broker research; that's the read side.
| Service | Best at | MCP | Notes |
|---|---|---|---|
| Zerodha Kite | Largest discount broker; first-party MCP | 1st-party | /kitemcp/ |
| Groww | Smoothest mobile UX; ₹499/mo flat-data REST; Groww Cloud for broker-side algos | 3rd-party wrapper | /groww/ |
| Dhan | Lowest-latency order pipe (sub-100ms, 25 ord/s); free trading APIs | None | /dhan/ |
| INDstocks | ₹5 flat per order; ties into INDmoney consumer wealth app | None | /indmoney/ |
2. Free data — the unsung heroes
If your workload is "just give me prices/NAV", these are excellent and cost nothing. We use both.
| Service | Best at | API | Notes |
|---|---|---|---|
| yfinance | Free Python access to OHLC for IN tickers via .NS / .BO Yahoo suffixes; basic info |
Python lib, no key | /yfinance/ |
| mfapi.in | Free AMFI mutual fund NAV history by scheme code; we seeded our 20y NAV from here | Open REST | /mfapi/ |
| NSE bhavcopy | Official daily EOD archive (raw CSV) | Static files | Genka mirrors this on Cloudflare R2; clean JSON via /v1/prices |
3. Consumer dashboards — for humans clicking through
Best-in-class research UI for end users. No public APIs — not the right surface for an agent loop, but the right surface to send a human to.
| Service | Best at | API | Notes |
|---|---|---|---|
| Tickertape | Cleanest mobile + web research UX. MMI, scorecards, screener UI, factor breakdowns | None public | /tickertape/ · we cite them as a facts source |
| Screener.in | Gold standard for human fundamentals viewing. Custom-formula screen DSL, deep history (PDFs back to 1997) | None public | /screenerin/ · we backfill pre-FY22 BS totals from here |
4. Specialty primitives
Single-purpose services worth knowing about even though we don't build pages for each yet.
- Smallcase — thematic baskets curated by managers. Distinct primitive Genka has no equivalent for; if you want to mirror a manager's idea, this is the surface.
- Sensibull — options analytics + brokerage layer. For options-heavy strategies, a useful complement.
- INDmoney consumer app — cross-asset wealth aggregation (US + IN stocks, MFs, insurance, loans, EPF) for one user. Different shape from a developer API entirely.
5. Agent research API — Genka (us)
Read-only, broker-agnostic, MCP-native. Built for the spot in the loop after "what should I do" and before "place the order".
- Quarterly XBRL fundamentals —
/companies/{symbol}/ratios, balance sheets, cash flows. FY17 onward; audit URL per number. - Concall corpus — ~23,000 transcripts; BM25 search;
POST /concalls/answerfor grounded LLM Q&A with citations. - Mutual fund analytics — 4,700 funds, SEBI taxonomy, 20y NAV,
mf_screener,mf_backtest, holdings overlap. - Indicator panel —
/prices/{symbol}/latest: RSI, MACD, DMA 50/200, multi-window CA-adjusted returns, in one call. - 30y bhavcopy — daily prices back to 1995-01-02, with corp-action handling.
What Genka does not ship: order execution, sub-second equity ticks, live or historical options data (option chains, IV, OI, F&O history — broker territory), consumer UI, thematic baskets. Use the right tool above for each.
Standard composition
Wire Genka and a broker MCP into the same Claude Code config:
// ~/.config/claude/mcp.json { "servers": { "genka": { "transport": "http", "url": "https://genka.dev/mcp", "headers": { "X-API-Key": "${GENKA_API_KEY}" } }, "kite": { "transport": "sse", "url": "https://mcp.kite.trade/sse" } } }
For brokers without first-party MCP (Groww, Dhan, INDstocks), call them from your agent code via REST — per-service pages have the snippet.