FIU-data-query
本地 MCP 配置
- 本 Skill 使用同目录的
auth.json连接 FIU MCP;本地调用脚本会自动读取该文件,无需在SKILL.md中填写 Token。 mcpServers下的服务名必须为fiu-data-query,连接类型为streamableHttp,地址为https://ai.szfiu.com/api/mcp/v2。- 使用前只需将
headers.Authorization设置为Bearer YOUR_TOKEN;不要把 Token 写入其他说明文件、命令输出或业务结果。
响应要求
- 快速:已知代码直达最窄 endpoint;独立查询并行;不为“完整性”调用无关模块,也不重复搜索或
describe_tool。 - 准确:先完成必要的标识和参数校验;原样保留状态、时间、币种、单位、
null和缺失项;默认值和枚举以工具 schema 为准,不自行猜测或补造。 - 简洁:先返回核心数据,再补最少必要的来源、时间口径和警告;没有请求的字段、原始 JSON 和冗余解释不输出。
能力边界
- 只处理数据检索、字段整理和必要的客观计算,不形成投资观点。
- 不执行股票深度分析、市场原因判断、事件影响解读、选股、投资简报或策略回测。
- 不提供个性化建议、确定性买卖结论、预测、评级或下单能力。
- 港股、美股和 A 股上市公司公告使用
company_announcements.get_company_announcements;新闻不能替代公告,研报全文仍不在本 Skill 能力内。 - 支持财经日历和精选宏观经济数据查询,可按关键词、日期、国家、市场、事件类型和重要等级筛选;不等同于通用外汇、通用商品、分析师一致预期或盈利修正数据,后者仍需明确说明未支持或需验证。
工作流程
- 提取查询意图、市场、资产类型、证券、时间范围、频率、字段和排序条件。
- 解析标识:按速查文档选择证券
search或基金search_funds,复用返回的稳定标识;候选有歧义时先澄清。 - 先读取 references/fast-call-paths.md;需要数据域路由或市场边界时再读取 references/data-domains.md。
- 仅在速查未覆盖、分支不明或最小调用失败时调用
describe_tool,不要猜下游参数。 - 业务模块统一传入
{ endpoint, params };顶层search直接传{ key },不要把搜索请求包装成业务 endpoint。 - 检查状态、时间、币种、市场、请求/返回字段和空数据原因,并按 references/output-contract.md 输出。
查询规则
- 市场代码为
HK、US、CN、JP;GLOBAL主要用于债券。 - 已知完整证券代码直接调用业务工具;未知代码按 references/fast-call-paths.md 先解析。全球基金始终使用
fund_etf的稳定 ID 路由,不使用证券search。 - 查询已上市公司公告时,已知代码直接调用
company_announcements.get_company_announcements,最小入参为market + symbols;不要绕行新闻、公司行动或 IPO 公告接口。 - 证券代码优先使用带市场后缀的规范形式(如
00700.hk、AAPL.us、600519.sh、6758.jp);已传market时也兼容裸代码,网关会按市场补全后缀。已有后缀与market冲突时应报参数错误,不要静默改写。 - 财经日历搜索至少传
date + keyword;有明确结束日期时传endDate,滚动查询时使用direction + limit。可选筛选字段为countryTypes、eventTypes、markets、importanceLevels。 - 三大报表的
reportType按市场区分:港股使用F/I/P,美股使用FY/I1/I2/Q1/Q2/Q3/Q4,A 股沿用数字期次编码。返回报表时同时核对coverMonths,区分单季与累计口径。 - 业务参数、字段、枚举和分页以速查文档或
describe_toolschema 为准,不自行猜测或补造。 - 保留返回的时间、币种、单位、市场、字段和
emptyReason;缺失值写“未返回”或null,禁止填零或推断。 - 单指标问题只调用必要模块;FIU 已覆盖的数据不使用网页搜索补齐。
- 非交易时段、停牌或退市状态需要结合时间新鲜度和
get_trading_status(statusType=security)判断。
常用参数约束
search的公开参数只有必填字符串key;名称、关键词、证券代码等输入统一放入key,兼容别名由网关内部处理,不在工具描述中展开。get_mini_trend仅适用于日股,symbols为非空数组,timeMode可取0(实时)或1(延时)。get_rankings必须指定market和rankType;assetType默认stock,排序默认sortField=changeRate、sortType=1,分页从pageNum=1开始。- 基金工具的分页
page从0开始,page_size默认50、最大200;operation、kind和rank_field使用工具 schema 中的枚举值,不自行拼写。 - 新闻个股查询默认按相关性排序;需要只保留主体相关或直接提及的新闻时使用
relevanceMode=primary,需要时间倒序时使用sortBy=time。
状态码与降级
- HTTP
400、INVALID_ARGUMENT或INVALID_SEMANTIC_INPUT:用describe_tool核对参数,修正后最多重试一次。 INVALID_DOWNSTREAM_ARGS:按details.issues修正下游字段;UNSUPPORTED:记录不支持,不发起探测调用。resultStatus=empty、NO_MATCHING_DATA或空数组:调用成功但无匹配数据,保留原因,不猜代码、不填零。DOWNSTREAM_TOOL_ERROR、超时或其他失败:保留错误码、请求上下文和requestId;仅按明确的retryable做有限重试,禁止无限重试或把错误当数据。
工具调用
不知道证券代码时,先调用顶层元工具(入参必须为 key,不可用 query):
{
"key": "美团"
}从返回候选中确认 symbol(例如 03690.hk)后,再调用对应业务模块。search 不使用 endpoint 和 params;返回的带后缀 symbol 可直接复用。
业务模块统一采用:
{
"endpoint": "get_quote",
"params": {
"market": "HK",
"assetType": "stock",
"symbols": ["00700.hk"]
}
}全球基金名称先用 fund_etf.search_funds 解析为稳定标识,再将
fundid / fundclassid 作为 fund_id / fund_class_id 调用目标 endpoint;不要用证券 search 代替。
不确定调用方式时:
{
"toolNames": ["quote_spot", "get_quote"],
"detail": "params"
}按需加载参考文档
| 场景 | 读取文档 |
|---|---|
| 高频查询的工具、路由和最小入参 | references/fast-call-paths.md |
| 选择数据域、工具和市场 | references/data-domains.md |
| 组织最终结果 | references/output-contract.md |
| 使用 Node/Python CLI 调试、复现或批量调用 | references/cli.md |
| 查看典型问题与调用示例 | references/examples.md |
调试入口
正常使用优先调用 Host 已连接的原生 MCP 工具。需要调试、复现或批量执行时,读取 references/cli.md。例如:
node scripts/call.js list
node scripts/call.js call search --param key=美团
node scripts/call.js describe quote_kline,get_kline
node scripts/call.js call quote_spot --endpoint get_quote --param market=HK --param assetType=stock --param symbols=03690.hkPython 环境也可使用 scripts/call.py;全局 --url 参数的位置与 Node 版略有不同,以 CLI 文档为准。