Your agent reads
the filing.
Not the headline.
First-party Indian-markets data wired to Claude Code as one MCP server — XBRL fundamentals from NSE back to FY17, 23,000 concall transcripts with cited Q&A, twenty years of AMFI mutual fund NAV, prices for delisted companies too. Every answer carries the source URL. 200ms per call.
Wire it to Claude Code in 30 seconds. Ask "what did TCS say about gen-AI capex on the last concall?" — get an answer your agent can defend.
$5 for 7 days, 500 credits. No card to start. $29/mo and $99/mo from there.
Three calls. Live data on the third one.
No SDK, no client lib. curl is enough —
sign up returns a key inline, then every billable call returns
data + how many credits it cost. Free routes (/health, /capabilities) never bill.
curl -X POST https://genka.dev/v1/signup \ -H "Content-Type: application/json" \ -d '{"email":"you@example.com"}' # => { "data": { "api_key": "imk_live_...", "credits": 500 } } export GENKA_API_KEY=imk_live_...
curl https://genka.dev/latest/capabilities \ -H "X-API-Key: $GENKA_API_KEY" | jq '.data | keys' # => ["mf", "companies", "prices", "concalls", "sectors", # "endpoints", "expand", "pricing_tiers", "auth"]
curl "https://genka.dev/latest/mf/screener?period=3y&sort=-sharpe_absolute&limit=5" \ -H "X-API-Key: $GENKA_API_KEY" | jq '.data.items[] | {slug, sharpe: .metrics.sharpe_absolute}' # => { "slug": "ppfas-parag-parikh-flexi-cap", "sharpe": 1.40 } # { "slug": "hdfc-flexi-cap", "sharpe": 1.38 } # { "slug": "whiteoak-capital-flexi-cap", "sharpe": 1.18 } # … # # Response carries: meta.usage = { tier: "search", credits_used: 5 } # X-Genka-Credits-Remaining: 495
That's it. From here:
research a stock,
review a portfolio,
discover ideas.
Or wire the MCP server into Claude Code so the agent picks tools for you:
claude mcp add --transport http genka https://genka.dev/mcp --header "x-api-key: $GENKA_API_KEY".
One MCP tool call. Seven funds ranked by Sharpe.
# Plain English in Claude Code: "Find flexi-cap funds with 3-year Sharpe over 0.9, sorted by Sharpe." # Claude calls mf_screener via MCP: POST https://genka.dev/mcp { tools/call: mf_screener } → 7 funds, 200 ms: { "data": { "object": "screener_result", "period": "3y", "applied_filters": { "sharpe_absolute_gte": 0.9, "sort": "-sharpe_absolute" }, "items": [ { "slug": "ppfas-parag-parikh-flexi-cap", "metrics": { "sharpe_absolute": 1.40 } }, { "slug": "hdfc-flexi-cap", "metrics": { "sharpe_absolute": 1.38 } }, { "slug": "whiteoak-capital-flexi-cap", "metrics": { "sharpe_absolute": 1.18 } }, /* …4 more */ ] }, "meta": { "compute_version": "2026-04-25-caracal", "sources": [/* tickertape, derived */], "usage": { "tier": "search", "credits_used": 5 } } }
Overview, peers, and cohorts — listed and private.
curl -sL -H "X-API-Key: imk_live_…" \ "https://genka.dev/latest/entities/ITC" → { "data": { "entity_id": "ITC", "name": "ITC Ltd.", "leaf_code": "IN040107001", "taxonomy_path": [ { "name": "Industries" }, { "name": "Fast Moving Consumer Goods" }, { "name": "Diversified FMCG" } ], "peers": [ { "entity_id": "HINDUNILVR", "shared_tag_count": 4, "shared_tags": ["defensive", "fmcg", "nifty-50", "nifty-500"] } ], "tags": [{ "slug": "nifty-50", "kind": "index" }, /* … */] } }
curl -sL -H "X-API-Key: imk_live_…" \ "https://genka.dev/latest/entities/purplle" → { "data": { "entity_id": "purplle", "name": "Purplle", "stage": "Series F", "leaf_code": "IN020603004", "peers": [ { "entity_id": "NYKAA", "shared_tag_count": 3, "shared_tags": ["beauty", "beauty-ecommerce", "d2c-born"] }, { "entity_id": "tira-beauty", "shared_tag_count": 2, "shared_tags": ["beauty", "beauty-ecommerce"] } ], "funding_rounds": [{ "round_name": "Series F", "amount_inr_cr": 1000, /* … */ }], "private_financials": [{ "fy": "FY25", "revenue_cr": 1367 }] } }
curl -sL -H "X-API-Key: imk_live_…" \ "https://genka.dev/latest/tags/specialty-coffee" → { "data": { "slug": "specialty-coffee", "name": "Specialty Coffee", "kind": "sub-leaf", "members": [ { "entity_id": "blue-tokai", "entity_type": "private" }, { "entity_id": "tata-starbucks", "entity_type": "private" }, { "entity_id": "third-wave-coffee", "entity_type": "private" }, { "entity_id": "TATACONSUM", "entity_type": "ticker" } ] } }
Every number has a URL
Statement endpoints return the NSE xbrl_url and filing_date per period. Audit any figure back to the original filing PDF in one click.
Missing data is visible, not silent
Every ratio series returns null for periods we don't have, plus a coverage: {total, present, missing} block. No guessing what's there.
Source disagreements surfaced
When primary XBRL and Screener.in differ on a balance sheet, we flag bs_source: both_disagree with per-column diff_pct. You see the conflict, we don't hide it.
4,700 funds. Twenty years of NAV. Risk metrics, holdings, backtests.
curl -sL -H "X-API-Key: imk_live_…" \ "https://genka.dev/latest/mf/ppfas-parag-parikh-flexi-cap?expand=metrics,holdings,plans" → { "data": { "object": "fund", "name": "Parag Parikh Flexi Cap Fund - Direct Plan - Growth", "expense_ratio_pct": 0.62, "aum_cr": 134253.17, "exit_load_pct": 2, "benchmark_name": "NIFTY 500 - TRI", "facts_source": "tickertape", "metrics": [/* 6 periods × CAGR/Sharpe/Sortino/maxDD/alpha/beta/... */], "holdings": [{ "instrument": "HDFC Bank Ltd", "weight_pct": 7.96, "ticker": "HDFCBANK" }, /* … 190 more */], "plans": [/* Direct/Regular × Growth/IDCW with scheme codes + ISINs */] }, "meta": { "sources": [/* tickertape, derived */] } }
Time-travel via ?as_of=YYYY-MM-DD. Backtest with rebalance + survivorship transparency. Holdings overlap between two funds. Saved queries with signed-webhook alerts.
Wire it to Claude Code in 30 seconds.
No JSON to edit. Just paste this prompt into Claude Code or Claude Desktop after sign-in — Claude wires up the MCP server itself.
Add an MCP server called "genka" using HTTP transport at https://genka.dev/mcp with the request header "X-API-Key: imk_live_YOUR_KEY". Once connected, use the mf_screener tool to find flexi-cap mutual funds with 3-year Sharpe over 0.9, sorted by Sharpe, limit 7. Then summarise the top fund and ask if I want to backtest it.
Don't have a key yet? Start the $5 trial → · CLI alternative: claude mcp add genka --transport http https://genka.dev/mcp -H "X-API-Key: $GENKA_API_KEY"
Claude calls mf_screener via MCP and returns:
→ 7 funds, 200 ms, 5 credits: { "data": { "object": "screener_result", "items": [ { "name": "Parag Parikh Flexi Cap", "sharpe": 1.40 }, { "name": "HDFC Flexi Cap", "sharpe": 1.38 }, { "name": "WhiteOak Flexi Cap", "sharpe": 1.18 }, /* …4 more */ ] }, "meta": { "compute_version": "2026-04-25-caracal", "sources": [/* tickertape, derived */] } }
Bloomberg costs ₹20L/yr and still doesn't speak MCP. Brokers ship MCPs for placing orders — not for reading the filing first. Genka is the research desk your agent can wire up itself: XBRL fundamentals, cited concall Q&A, SEBI-taxonomy MF screener. Three minutes to a working portfolio agent. See where Genka fits in the Indian markets ecosystem →
$5 for 7 days.
Two paid plans after.
| Cadence | Credits | Roughly | Price | |
|---|---|---|---|---|
| Trial | One-time, 7 days | 500 | 500 reads / 100 searches / 20 backtests | $5 |
| Solo | Monthly | 2,900 | ~580 searches or ~116 backtests | $29 / mo |
| Pro | Monthly | 9,900 | ~1,980 searches or ~396 backtests · email support | $99 / mo |
1 credit = 1 cent. Tier costs: read 1 · search 5 · compute 25 · export 50. Free routes (health, capabilities, pricing) are always free. /v1/pricing →
The primary sources cited in every response.
NSE corporate filings · XBRL
Pre-April-2025 quarterly results. Every listed company on NSE files here under SEBI LODR.
nseindia.com/companies-listing/…resultsSEBI Integrated Filing Financial
Post-April-2025 unified format under the in-capmkt 2025-01-31 taxonomy. Served via NSE.
NSE bhavcopy — daily EOD
Official end-of-day equity cash-market archive. Closes, volumes, ISINs back to 2014.
nsearchives.nseindia.com/content/cm/Shareholding-pattern XBRL
Quarterly SHP filings. Total issued shares, promoter / public split, pledging details.
nseindia.com/…shareholding-patternScreener.in — pre-FY22 backfill
Historical balance-sheet totals cross-validated against XBRL where both exist. With thanks.
screener.inTop 500 NSE-listed companies
India's 500 largest listed equities. Reconstituted semi-annually from NSE Indices.
niftyindices.com$5. 7 days. Ship today.
One email, one key. 500 credits. Wire to Claude Code via MCP, run a backtest, screen funds in plain English. If you don't ship something useful, don't pay again.