Back to skills
extension
Category: OtherAPI key required

股票实时行情

查询股票实时行情。适用于用户用中文询问股票最新价、实时行情、涨跌幅、成交金额、市值、PE/PB,或按股票代码、股票名称、股票简称查询行情;会先用 news_stock_know_all 模糊解析股票代码,再用 fund_data_test 批量查询行情。Requires GF_MCP_AUTH_TOKEN.

personAuthor: 1028986368hubclawhub

股票实时行情

用这个 skill 查询股票实时行情。用户可以输入股票代码、股票名称或股票简称。若用户输入名称或简称,先用 news_stock_know_all 模糊解析股票代码,再用 fund_data_test 批量查询实时行情。

This skill is instruction-only. It contains no executable script, reads no environment variables directly, and makes no network requests itself. The host app or ClawHub should configure the MCP servers and inject GF_MCP_AUTH_TOKEN as a sensitive secret.

声明式 MCP action 合同见 actions.yaml。如果宿主支持读取辅助文件,应优先按 actions.yaml 的固定参数执行。

配置

宿主应用或 ClawHub 应该通过敏感环境变量配置界面收集 GF_MCP_AUTH_TOKEN

不要让用户把 token 发到聊天窗口里,也不要打印 token。若缺少 GF_MCP_AUTH_TOKEN,告诉用户到这里按需创建 token:

https://mcp.gf.com.cn/cms/tokens

然后在 ClawHub 或宿主应用的配置界面里填写为敏感环境变量 GF_MCP_AUTH_TOKEN

工作流

如果用户输入股票名称或简称,先调用 stk_base_info_get 解析上市股票代码;如果用户直接输入数字股票代码,则跳过解析,直接使用代码。

行情工具支持一次传入多个股票代码,并要求 SQL 风格的单引号字符串。不要把 000776 直接传给行情工具,参数必须是:

{
  "stock_code": "'000776'"
}

多只股票要合并成一次行情查询,传入逗号分隔的带引号字符串:

{
  "stock_code": "'00700','000776'"
}

调用顺序

严格按这个流程执行:

  1. 从用户问题中抽取股票名称、简称或股票代码。
  2. 对数字代码直接保留。
  3. 对非数字名称逐个调用 stk_base_info_get,只取 scr_cdabbr_name
  4. 合并所有 scr_cd 和用户直接给出的数字代码,去重。
  5. 按用户市场偏好过滤代码;未指定市场则不过滤。
  6. 把最终代码列表组装成 "'代码1','代码2'"
  7. 调用一次 news_real_time_stock
  8. 只展示 stock_code 精确匹配最终代码列表的行情记录。

对每个股票名称或简称,调用 news_stock_know_allstk_base_info_get。这个调用的参数是固定合同,除了把用户输入替换到 模糊的股票名称 位置外,不要改动其他任何字段:

{
  "conditions": [
    "contain,abbr_name,'模糊的股票名称'",
    "eq,list_stat_cd,'1'"
  ],
  "fields": ["scr_cd", "abbr_name"],
  "pagesize": "20",
  "pageindex": "1"
}

fields 必须固定为 ["scr_cd", "abbr_name"],不要添加任何其他字段。收集所有返回的 scr_cdabbr_name。保留多个上市匹配结果,代码去重,并保留“用户输入 -> 解析代码/简称”的映射。

不要这样调用:

{
  "fields": ["scr_cd", "abbr_name", "mkt_cd", "list_stat_cd", "secu_id"]
}

stk_base_info_get 可能不支持这些额外字段,添加字段会导致 SQL 执行失败。

然后把所有解析出的代码一次性传给 fund_data_testnews_real_time_stock

{
  "stock_code": "'00700','000776'"
}

市场偏好

默认规则:

  • 如果用户没有指定市场,展示全部匹配结果。
  • 如果用户说“A股”“沪深”“深交所”“上交所”“沪市”“深市”,只展示 A 股代码。A 股代码通常是 6 位数字,例如 000776600030688256
  • 如果用户说“H股”“港股”“港交所”“香港”,只展示港股代码。港股代码通常是 5 位数字,例如 007000177680700
  • 如果市场过滤后没有结果,说明已解析到的代码,并提示用户换一个名称或明确市场。

市场过滤只能在已解析出的代码集合上做,不要为了判断市场去给 stk_base_info_get 增加 mkt_cdsecu_idlist_board 等字段。

输出

使用行情响应中 stock_code 精确匹配的记录。输出给中文用户时用中文表头,并只展示有用字段。若模糊名称解析出多只上市证券,默认全部展示,并附上解析说明。

若名称解析返回 abbr_name,在结果前用一句话说明解析关系,例如:

“中信”匹配到:中信银行(00998/601998)、中信证券(06030/600030)…

推荐表头:

  • 股票
  • 代码
  • 时间
  • 最新价
  • 涨跌幅
  • 昨收
  • 成交额
  • 流通市值
  • PE
  • PB

MCP 明细

行情 endpoint:

https://mcp-api.gf.com.cn/server/mcp/fund_data_test/sse

行情工具:

news_real_time_stock

名称解析 endpoint:

https://mcp-api.gf.com.cn/server/mcp/news_stock_know_all/sse

名称解析工具:

stk_base_info_get

模糊查询股票名称时,固定使用:

{
  "conditions": [
    "contain,abbr_name,'模糊的股票名称'",
    "eq,list_stat_cd,'1'"
  ],
  "fields": ["scr_cd", "abbr_name"],
  "pagesize": "20",
  "pageindex": "1"
}

fields 只能传 ["scr_cd", "abbr_name"]。不要传接口没有声明支持的字段,否则可能触发 SQL 执行失败。list_stat_cd = 1 表示只取上市状态公司。

不要为了展示更丰富的解析信息,在 stk_base_info_get 中请求更多字段。丰富行情展示应来自 news_real_time_stock 的行情响应,而不是名称解析响应。

安全

  • Do not expose Authorization, bearer tokens, session IDs, raw MCP headers, or raw SSE endpoint query strings.
  • Do not log tokens.
  • Never ask the user to send the token in chat. Use platform-managed secrets.
  • 调用 stk_base_info_get 时,fields 固定且只能是 ["scr_cd", "abbr_name"]
  • 不要根据自己的推测给任何 MCP 工具增加字段;只使用本 skill 明确列出的参数。
  • 如果返回多条记录,只使用精确 stock_code 匹配的行情记录。
  • 如果模糊名称解析出多个上市代码,按用户市场偏好过滤;未指定市场时全部展示,并说明解析结果。
  • 如果模糊名称没有解析出股票代码,说明未解析成功的输入。
  • If the MCP returns 401 or no allow access, ask the user to verify GF_MCP_AUTH_TOKEN and token permissions.
  • If the MCP returns 请填写签名认证参数, report that the MCP connected but the downstream API signature configuration is missing.