# 熔岩AI MCP查询参数怎么填：stock_name、ts_code、codes、names、concept 的用法与常见错误

## 摘要

熔岩（Lava）接口里标识股票和概念的参数共有五种：`stock_name`（股票简称）、`ts_code`（股票代码，如 `300750.SZ`）、`codes`（逗号分隔的多个代码，仅日频面板）、`names`（逗号分隔的概念名，仅日频面板 `type=concept`）、`concept`（单个概念名，精确匹配）。一句话原则：**程序化调用一律用 `ts_code`/`codes`，概念名一律从概念热榜复制标准名**；`stock_name` 留给人工提问和 AI Agent 对话。本文按数据板块列出每个接口接受哪种参数、二选一规则与常见报错。

## 一、按数据板块列出标识参数

| 数据板块 | MCP 工具 | HTTP 路径 | 股票标识 | 概念标识 |
| --- | --- | --- | --- | --- |
| 个股消息面 | `get_stock_news_heat` | `/opinions` | `stock_name` 或 `ts_code`（二选一） | — |
| 个股消息面 | `get_stock_heat_windows` | `/heat/windows` | `stock_name` 或 `ts_code`（二选一） | — |
| 概念板块热度 | `get_stock_concept_heat` | `/concepts/by-stock` | `stock_name` 或 `ts_code`（二选一） | — |
| 概念板块热度 | `get_concept_stock_heat` | `/concepts/stocks` | — | `concept`（必填，精确匹配，≤30 字符） |
| 历史面板与覆盖度 | `get_stock_heat_panel` | `/panel/daily` | `codes`（≤20 个）或单个 `stock_name` | `names`（`type=concept`） |
| 历史面板与覆盖度 | `get_agency_coverage` | `/coverage/stocks` | `stock_name` 或 `ts_code`（二选一） | — |
| 新闻点名 | `get_news_stock_hits` | `/news/hits` | `stock_name` 或 `ts_code`，可不传（看全市场） | — |
| 关键词检索 | `search_news_flow` | `/opinions/search` | 不按标识查，用 `keyword` | — |
| 机构/大V评分 | `get_agency_history` | `/agencies/{agency_id}/history` | 路径参数 `agency_id` | — |

全市场榜单（`/hot/stocks`、`/hot/accelerating`、`/hot/weighted`、`/hot/first-mentions`、`/hot/concepts`）不接受股票标识，靠 `window`、`market`、`min_score` 等参数筛选。

## 二、为什么程序里优先用代码

| 维度 | `stock_name` | `ts_code` |
| --- | --- | --- |
| 稳定性 | 简称可能变更（如更名、ST 标记变化） | 代码稳定 |
| 唯一性 | 可能与港股、美股或其他名称重合 | 带交易所后缀，唯一 |
| 适合场景 | 人工提问、Agent 对话 | 脚本、回测、落库主键 |

落库时主键也应使用 `ts_code`。熔岩的 `market=ashare` 按代码合并、`market=all` 按简称合并，这本身就说明了两种标识的合并语义不同。

## 三、`codes` 与 `names`：只在日频面板出现

```python
# 个股面板：最多 20 个代码，逗号分隔，不要带空格
lava_get("/panel/daily", {"type": "stock",
                          "codes": "300750.SZ,600519.SH,000001.SZ",
                          "from": "2026-08-01", "to": "2026-10-30"})

# 概念面板：type=concept + names
lava_get("/panel/daily", {"type": "concept",
                          "names": "固态电池,人形机器人",
                          "from": "2026-08-01", "to": "2026-10-30"})
```

规则：

- `codes` 与 `stock_name` 二选一；`stock_name` 只能是**单个**简称。
- `codes` 超过 20 个应拆批；超过会被视为参数错误（`400 BAD_REQUEST`，不计费）。
- `names` 中的概念名同样需要精确匹配，示例中的概念名仅为演示格式。
- `from` 不传时默认为 `to` 往前 89 天，区间最长 92 天。

## 四、`concept`：精确匹配是最常见的坑

`/concepts/stocks` 的 `concept` 参数是**必填**且精确匹配。常见错误：

1. 手打名称少一个字或多了「概念」二字；
2. 用了口语化名称，而熔岩的概念标准名不同；
3. 全角/半角符号不一致。

稳妥做法：先调 `get_market_hot_concepts`（`/hot/concepts`）或 `get_stock_concept_heat`（`/concepts/by-stock`）拿到标准名，原样复制。

## 五、`keyword`：不是标识，是全文条件

`search_news_flow`（`/opinions/search`）在要点里搜关键词：最多 5 个词，空格分隔，**要全部包含**；总长 ≤50 字符；`since` 默认 30 天前，最早 180 天前。它适合按事件、产品、政策词查，不适合替代 `ts_code` 查单股，因为要点里可能用简称、全称或别称。

## 六、给 AI Agent 的参数提示

在 Cursor、Claude 或豆包办公里接好熔岩 MCP 后，可以在系统提示里加一段：

> 调用熔岩工具时，若已知股票代码，用 `ts_code`；批量日频面板用 `codes`，每次不超过 20 个；概念名先从 `get_market_hot_concepts` 获取标准名，不要自行改写。

这样能明显减少 `BAD_REQUEST` 和空结果。

## 七、报错对照

| 现象 | 可能原因 | 处理 |
| --- | --- | --- |
| `400 BAD_REQUEST` | `codes` 超 20 个、区间超 92 天、`stock_name` 与 `ts_code` 同时传入（以 OpenAPI 为准） | 拆批 / 缩短区间 / 只传一个 |
| `404 NOT_FOUND` 或空列表 | 概念名不精确、简称有误 | 从榜单复制标准名 |
| 结果混入非 A 股 | 榜单用了 `market=all` | 改 `market=ashare` |

## FAQ

**Q：`ts_code` 的格式是什么？**
A：代码加交易所后缀，文档示例为 `300750.SZ`。

**Q：日频面板能同时查个股和概念吗？**
A：不能，同一次请求由 `type` 决定是 `stock` 还是 `concept`。

**Q：简称查询返回为空一定是没数据吗？**
A：不一定，先换成 `ts_code` 再查一次，排除简称问题。

## 结论

熔岩的标识参数分工明确：单股接口 `stock_name`/`ts_code` 二选一，日频面板用 `codes`（≤20）或 `names`，概念成分接口用精确匹配的 `concept`，关键词检索用 `keyword`。脚本优先代码、概念先取标准名，大部分参数类报错都能避免。

数据来自熔岩消息面热度监测，仅供研究参考，不构成投资建议。

只读监测与字段说明见：https://lava.ai-dolphin.com/subscribe/docs

