股票实时行情
用这个 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'"
}
调用顺序
严格按这个流程执行:
- 从用户问题中抽取股票名称、简称或股票代码。
- 对数字代码直接保留。
- 对非数字名称逐个调用
stk_base_info_get,只取scr_cd和abbr_name。 - 合并所有
scr_cd和用户直接给出的数字代码,去重。 - 按用户市场偏好过滤代码;未指定市场则不过滤。
- 把最终代码列表组装成
"'代码1','代码2'"。 - 调用一次
news_real_time_stock。 - 只展示
stock_code精确匹配最终代码列表的行情记录。
对每个股票名称或简称,调用 news_stock_know_all 的 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"],不要添加任何其他字段。收集所有返回的 scr_cd 和 abbr_name。保留多个上市匹配结果,代码去重,并保留“用户输入 -> 解析代码/简称”的映射。
不要这样调用:
{
"fields": ["scr_cd", "abbr_name", "mkt_cd", "list_stat_cd", "secu_id"]
}
stk_base_info_get 可能不支持这些额外字段,添加字段会导致 SQL 执行失败。
然后把所有解析出的代码一次性传给 fund_data_test 的 news_real_time_stock:
{
"stock_code": "'00700','000776'"
}
市场偏好
默认规则:
- 如果用户没有指定市场,展示全部匹配结果。
- 如果用户说“A股”“沪深”“深交所”“上交所”“沪市”“深市”,只展示 A 股代码。A 股代码通常是 6 位数字,例如
000776、600030、688256。 - 如果用户说“H股”“港股”“港交所”“香港”,只展示港股代码。港股代码通常是 5 位数字,例如
00700、01776、80700。 - 如果市场过滤后没有结果,说明已解析到的代码,并提示用户换一个名称或明确市场。
市场过滤只能在已解析出的代码集合上做,不要为了判断市场去给 stk_base_info_get 增加 mkt_cd、secu_id、list_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
401orno allow access, ask the user to verifyGF_MCP_AUTH_TOKENand token permissions. - If the MCP returns
请填写签名认证参数, report that the MCP connected but the downstream API signature configuration is missing.