How AI Agents Pull A-Share Heat Data via MCP in About Five Minutes Lava (熔岩), a read-only data service, exposes structured A-share stock and concept-board heat signals over both MCP and a REST API sharing a single schema, letting LLM agents query market attention data in minutes. The service counts and weights mentions across institutional notes, commentators and mainstream financial news, anonymizing sources into stable IDs, and offers tools for hot stocks, accelerating heat, first mentions, per-stock heat windows, concept mappings, source coverage and daily panels for backtests. It returns attention data only, with no bullish/bearish labels, original text or price targets. Most LLM agents that touch Chinese equities hit the same wall: the model can reason about a sector, but it has no structured, timely view of what the market is actually talking about . Scraping forums and news sites is brittle, slow, and full of raw text you probably should not be redistributing. Lava 熔岩 is a read-only data service that turns A-share news flow into structured heat signals for stocks and concept boards, exposed over both MCP and REST. This post walks through what the data means, which tools exist, and how to wire an agent to it quickly. Lava returns attention/heat data only. No bullish/bearish labels, no original text, no price targets, and nothing in this article is investment advice. Lava counts and weights mentions of A-share stocks and concept boards across institutional notes, commentators, and mainstream financial news. Sources are anonymized into stable IDs for example an agency ID , so you can track source quality without seeing names or source text. Three data categories matter most for agents: A-share narratives move through concept boards AI computing, solid-state batteries, low-altitude economy, etc. . Lava tracks: Comparing those across windows gives you a rotation view: attention leaving one board and arriving at another. A first-mention is a stock that had zero mentions in the previous 7 days and just got its first one. It is a novelty signal: useful for "what entered the conversation today" digests, and a natural input for research triage. The MCP server and the REST API share one schema. Tool names below match the OpenAPI operationId s, so an agent can resolve them deterministically. | Tool operationId | Path | Key params | Returns | |---|---|---|---| | listHotStocks | GET /hot/stocks | window , market , min score , limit | Most-mentioned stocks in window | | listHotConcepts | GET /hot/concepts | window , min score , limit | Hottest concept boards | | listWeightedHotStocks | GET /hot/weighted | as of date , days , min score , order , market , limit | Heat weighted by source score | | listAcceleratingHotStocks | GET /hot/accelerating | window , order , min mentions , market , limit | Momentum-sorted heat changes | | listFirstMentions | GET /hot/first-mentions | hours , min score , limit | Stocks first mentioned after 7 quiet days | | Tool | Path | Key params | Returns | |---|---|---|---| | getStockHeatWindows | GET /heat/windows | stock name or ts code , min score | Heat for 1h…7d windows + hourly last 24h | | listOpinionsByStock | GET /opinions | ts code , days , start date , end date , only this stock , limit | Mention records structured, no text | | listConceptStocks | GET /concepts/stocks | concept , days , limit | Top-mentioned stocks inside a concept | | listStockConcepts | GET /concepts/by-stock | ts code , days , limit | Hottest concepts linked to a stock | | getStockAgencyCoverage | GET /coverage/stocks | ts code , days , min score | Source-coverage time series | | listNewsStockHits | GET /news/hits | ts code , hours , src , limit | Stocks named in mainstream news | | Tool | Path | Key params | Returns | |---|---|---|---| | getDailyHeatPanel | GET /panel/daily | type , codes , names , from , to | Daily panel mentions, source count, weighted heat for backtests | | listAgencyRanking | GET /agencies/ranking | order , min score , limit , offset | Current source scores | | listAgencyPit | GET /agencies/pit | as of date , agency id , min score | Point-in-time source scores | | getAgencyHistory | GET /agencies/{agency id}/history | start date , end date | Score history of one source | | searchOpinions | GET /opinions/search | keyword , since , limit | Keyword search over mention records | | getAccount | GET /account | — | Balance and usage free call | ts code uses the Tushare-style format, e.g. 300750.SZ , 688256.SH . Point-in-time PIT scores matter if you backtest: listAgencyPit gives source scores as they were on as of date , so weighted heat in your backtest does not leak future information. Sign up, copy your API key format lvk … , and note the MCP endpoint URL from the docs. Keys go in a header: Authorization: Bearer lvk xxxxxxxx Never commit the key; read it from an environment variable. Most MCP clients Claude Desktop, Cursor, Cline, custom agents accept a remote HTTP server entry like this: { "mcpServers": { "lava": { "url": "