航班管家航空数据 MCP
航班管家 DAST 官方航空数据 MCP,提供航班动态、延误预测、机场天气、飞行轨迹及航班舒适度等数据能力。
文件
航班管家 MCP Agent 文档
- MCP 产品首页:https://dast.133.cn/mcp/
- 官方 MCP Server:https://fly.huoli.com/mcp/dast_mcp
- 官方文档地址:https://dast.133.cn/mcp_assets/agent.md
- Tool 数量:6
本文件用于 AI Agent、AI 编程工具及其他自动化客户端直接读取,用于快速理解航班管家 MCP 数据平台的能力、工具选择方式、调用参数、返回结构及调用限制。
如果本文件与 MCP Server 实时返回的 tools/list 存在差异,以 tools/list 返回的 Tool Schema 为准。
document_url:
https://dast.133.cn/mcp_assets/agent.md
PLATFORM
DAST platform:
https://dast.133.cn
purpose:
- 用户注册
- 用户登录
- MCP 控制台
- 创建 API Key
- 账户充值
- 查看用量与账单
重要说明:
DAST platform
-> https://dast.133.cn
MCP Server
-> https://fly.huoli.com/mcp/dast_mcp
不得将 MCP Server 地址作为 DAST 平台地址使用。
MCP_SERVER
name: 航班管家 MCP 数据平台
endpoint:
https://fly.huoli.com/mcp/dast_mcp
protocol:
MCP (Model Context Protocol)
transport:
Streamable HTTP
rpc:
JSON-RPC 2.0
http_method:
POST
content_type:
application/json
encoding:
UTF-8
AUTHENTICATION
API Key 由用户登录 DAST 平台后,在 MCP 控制台创建。
DAST platform:
https://dast.133.cn
MCP Server endpoint:
https://fly.huoli.com/mcp/dast_mcp
以上两个 URL 用途不同,不得混用。
所有 MCP 请求必须携带:
Authorization: Bearer <API_KEY>
API Key 格式:
sk_phone_<32位随机字符>
Agent 禁止:
- 向最终用户输出完整 API Key
- 将 API Key 写入公开内容
- 在回答中复述 Authorization Header 中的真实 Key
IF_MCP_NOT_CONFIGURED
如果当前客户端尚未配置航班管家 MCP:
1. 不得声称航班管家 MCP Tool 已经可用。
2. 在当前客户端允许的情况下,帮助用户生成或补全 MCP Server 配置。
3. MCP endpoint 使用:
https://fly.huoli.com/mcp/dast_mcp
4. Authorization 保留为:
Bearer <API_KEY>
5. 不得猜测、生成或暴露用户真实 API Key。
6. 如需 API Key,引导用户前往 DAST MCP 控制台获取或创建:
https://dast.133.cn
7. 不得将 https://fly.huoli.com 用作注册、登录、API Key 创建、充值或控制台入口。
8. 配置完成后,重新加载或重新连接 MCP 客户端。
9. 调用 tools/list 验证 MCP Server 是否连接成功,并获取当前 Tool 定义。
10. 只有 tools/list 成功后,Agent 才可以认为航班管家 MCP Tool 已经可用。
configuration_goal:
MCP Server 已配置
-> 鉴权信息可用
-> 客户端已重新加载或重新连接
-> tools/list 调用成功
-> Tool 可用于正常用户请求
如果当前环境不允许 Agent 直接修改 MCP 配置:
向用户提供以下信息:
- 注册 / 登录 / 创建 API Key 的 DAST 平台:https://dast.133.cn
- 客户端配置使用的 MCP endpoint:https://fly.huoli.com/mcp/dast_mcp
- 鉴权占位符:Bearer <API_KEY>
- 当前客户端支持的 MCP 配置步骤
不得声称 MCP 配置已经完成。
CONNECTION_SEQUENCE
标准连接顺序:
1. initialize
2. notifications/initialized
3. tools/list
4. tools/call
initialize
当前文档中的初始化协议版本:
2025-03-26
实际使用的协议版本以 initialize 返回的 protocolVersion 为准。
示例:
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {
"name": "Your-Client",
"version": "1.0.0"
}
}
}
初始化成功后,客户端必须发送:
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}
该通知不包含 id,发送后再进入正常 Tool 操作阶段。
tools/list
首次接入或需要确认当前可用工具时,应调用:
tools/list
用途:
- 获取当前可用 Tool
- 获取 Tool
name - 获取 Tool
description - 获取最新
inputSchema
平台当前提供 6 个 Tool:
dast_flight_dynamic
dast_flight_route
dast_flight_happy
dast_delay_rate
dast_future_weather
dast_flight_path
如果本文件中的 Tool 参数定义与 tools/list 返回结果不同:
以 tools/list 返回结果为准。
TOOL_ROUTING
用户询问具体航班的实时或历史动态:
使用 dast_flight_dynamic
用户询问两个机场之间某一天有哪些航班:
使用 dast_flight_route
用户询问航班餐食、WiFi、座椅、娱乐、行李或舒适度:
使用 dast_flight_happy
用户询问未来航班延误概率或取消概率:
使用 dast_delay_rate
用户询问机场未来天气:
使用 dast_future_weather
用户询问航班当前位置、高度、速度或飞行轨迹:
使用 dast_flight_path
TOOL: dast_flight_dynamic
purpose:
按航班号查询指定日期的航班动态数据。
use_when:
- 用户已提供具体航班号
- 查询航班状态
- 查询计划起降时间
- 查询预计起降时间
- 查询实际起降时间
- 查询航站楼等航班动态信息
required_parameters:
fnum
- type: string
- meaning: 航班号
- example: CA1831
date
- type: string
- format: YYYY-MM-DD
- meaning: 航班出发机场当地日期(机场当地自然日),不是北京时间日期或 Agent 所在地日期
- example: 2026-08-10
example_arguments:
{
"fnum": "CA1831",
"date": "2026-08-10"
}
business_data_type:
array
relative_date_rule:
如果用户使用“今天”“明天”“后天”等相对日期,
而 Agent 无法可靠确定该航班的出发机场及其当地日期,
应向用户确认具体日期或出发机场,
不得直接使用北京时间或 Agent 所在地日期。
price:
0.5 CNY / 成功调用
TOOL: dast_flight_route
purpose:
按出发机场、到达机场和日期查询机场对航班动态列表。
use_when:
- 用户不知道具体航班号
- 用户需要查询两个机场之间的航班
- 用户询问某航线某天有哪些航班
required_parameters:
depCode
- type: string
- meaning: 出发机场 IATA 三字码
- example: PEK
arrCode
- type: string
- meaning: 到达机场 IATA 三字码
- example: SHA
date
- type: string
- format: YYYY-MM-DD
- meaning: 出发机场当地日期(机场当地自然日),不是北京时间日期或 Agent 所在地日期
- example: 2026-08-10
example_arguments:
{
"depCode": "PEK",
"arrCode": "SHA",
"date": "2026-08-10"
}
business_data_type:
array
price:
0.5 CNY / 成功调用
TOOL: dast_flight_happy
purpose:
查询航班舒适度相关数据。
available_information_may_include:
- 电源
- 座椅间距
- 餐食
- 娱乐设备
- WiFi
- 行李重量
- 舱等相关信息
required_parameters:
date
- type: string
- format: YYYY-MM-DD
query_mode:
必须满足以下两种条件之一:
OPTION_A:
fnum
- type: string
- meaning: 航班号
- example: 9C8672
OPTION_B:
depCode
- type: string
- meaning: 出发机场 IATA 三字码
- example: PVG
arrCode
- type: string
- meaning: 到达机场 IATA 三字码
- example: SZX
optional_parameters:
cabin
- meaning: 舱等
- example: Y
- behavior: 不传时返回所有可用舱等
example_arguments:
{
"fnum": "9C8672",
"date": "2026-08-15",
"cabin": "Y"
}
business_data_type:
array
price:
0.2 CNY / 成功调用
TOOL: dast_delay_rate
purpose:
查询未来航班延误概率及取消概率。
use_when:
- 用户询问未来航班是否容易延误
- 用户询问延误风险
- 用户询问取消风险
- 用户询问未来航班运行风险
required_parameters:
fnum
- type: string
- meaning: 航班号
depCode
- type: string
- meaning: 出发机场 IATA 三字码
arrCode
- type: string
- meaning: 到达机场 IATA 三字码
date
- type: string
- format: YYYY-MM-DD
supported_date_range:
当日至未来 15 天
example_arguments:
{
"fnum": "CZ3000",
"depCode": "PKX",
"arrCode": "CAN",
"date": "<YYYY-MM-DD>"
}
date 必须位于当日至未来 15 天范围内。
main_output:
- delayRate_30min
- delayRate_60min
- delayRate_90min
- cancelRate
business_data_type:
object
interpretation_rule:
这些字段表示预测概率,不表示确定事件。
推荐表达:
该航班延误 30 分钟以上的预测概率为 12.2%。
不推荐表达:
该航班会延误 30 分钟。
price:
0.5 CNY / 成功调用
TOOL: dast_future_weather
purpose:
查询机场未来天气预报。
use_when:
- 用户询问机场天气
- 用户询问机场未来天气变化
- 用户询问天气是否可能影响航班运行
required_parameters:
airport
- type: string
- meaning: 机场 IATA 三字码
- example: HFE
example_arguments:
{
"airport": "HFE"
}
forecast_range:
未来 48 小时
resolution:
逐小时天气预报
weather_information_may_include:
- 天气现象
- 风力
- 风速
- 风向
- 相对湿度
- 降水
- 气压
- 云量
- 温度
business_data_type:
object
price:
0.1 CNY / 成功调用
TOOL: dast_flight_path
purpose:
查询航班实时或历史飞行轨迹及飞行状态。
use_when:
- 用户询问航班当前飞到哪里
- 用户询问飞行轨迹
- 用户询问当前经纬度
- 用户询问飞行高度
- 用户询问飞行速度
- 用户询问实际飞行路线
required_parameters:
fnum
- type: string
- meaning: 航班号
depCode
- type: string
- meaning: 出发机场 IATA 三字码
arrCode
- type: string
- meaning: 到达机场 IATA 三字码
date
- type: string
- format: YYYY-MM-DD
example_arguments:
{
"fnum": "CZ3000",
"depCode": "PEK",
"arrCode": "CAN",
"date": "2026-08-06"
}
output_may_include:
- aircraftNo
- flightNo
- depAirport
- arrAirport
- curLat
- curLon
- curSpeed
- curHeight
- curAngle
- aircraftType
- aircraftAge
- airlineCompany
- flightState
- depPlanTime
- arrPlanTime
- flight path data
business_data_type:
object
price:
0.1 CNY / 成功调用
DATE_RULES
标准日期格式:
YYYY-MM-DD
对于以下 Tool:
dast_flight_dynamic
dast_flight_route
date 表示航班出发机场当地日期(机场当地自然日),不是北京时间日期,也不是 Agent 所在地日期。
日期解析规则:
查询“当地今天”
-> 使用出发机场当地的当前自然日
查询“当地明天”
-> 使用出发机场当地日期 + 1 day
查询“当地后天”
-> 使用出发机场当地日期 + 2 days
如果用户使用“今天”“明天”“后天”等相对日期,Agent 应结合用户所指航班出发机场的当地日期进行转换,不得直接以北京时间或 Agent 所在地日期替代。
如果用户明确给出具体日期:
直接使用该 YYYY-MM-DD 日期,并按出发机场当地自然日理解。
如果无法安全判断用户所指的机场当地日期:
向用户询问,或根据当前上下文明确解析。
不得猜测不确定的日期。
AIRPORT_RULES
机场参数使用 IATA 三字码。
Examples:
PEK = 北京首都国际机场
PKX = 北京大兴国际机场
SHA = 上海虹桥国际机场
PVG = 上海浦东国际机场
HFE = 合肥新桥国际机场
CAN = 广州白云国际机场
如果用户直接提供机场三字码:
直接使用该三字码。
agent_guidance:
如果用户只提供城市名称,且该城市存在多个机场,Agent 不应在缺乏依据时任意指定某一个机场。
可根据用户问题:
- 判断是否需要覆盖多个机场
- 或向用户确认具体机场
Examples:
北京 != 始终等同于 PEK
上海 != 始终等同于 SHA
FLIGHT_NUMBER_RULES
航班号示例:
CA1831
MU5105
CZ3000
9C8672
如果用户明确提供航班号:
除非只是明显的格式规范化,否则不得擅自修改航班号。
TOOL_CALL
标准 MCP Tool 调用:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "<TOOL_NAME>",
"arguments": {
"<parameter>": "<value>"
}
}
}
示例:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "dast_flight_dynamic",
"arguments": {
"fnum": "CA1831",
"date": "2026-08-10"
}
}
}
RESPONSE
MCP 返回示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{\"code\":0,\"msg\":\"success\",\"data\":...}"
}
],
"isError": false
}
}
业务 JSON 通常位于:
result.content[0].text
应将该字符串解析为 JSON。
解析后的业务返回示例:
{
"code": 0,
"msg": "success",
"data": {},
"count": 1
}
response_rules:
code == 0
-> 调用成功
code != 0
-> 业务调用失败
msg
-> 状态或错误说明
data
-> 业务数据
count
-> 返回结果数量
不得仅根据 HTTP 请求成功判断业务调用成功。
必须同时检查业务字段 code。
BUSINESS_DATA_TYPES
dast_flight_dynamic -> array
dast_flight_route -> array
dast_flight_happy -> array
dast_delay_rate -> object
dast_future_weather -> object
dast_flight_path -> object
BILLING
billing_model:
账户余额预付费
billing_rule:
Tool 调用成功
-> 扣减账户余额
Tool 调用失败
-> 不扣费
账户余额不足
-> Tool 调用失败
Agent 应:
- 避免无必要的重复调用
- 当前任务中已经获取的数据,在适用时应优先复用
ERRORS
PHONE_KEY_MISSING
code: 48001
meaning: 缺少 Authorization Bearer
action: 检查鉴权配置
PHONE_KEY_INVALID
code: 48002
meaning: API Key 无效或不存在
action: 检查或重新获取 API Key
PHONE_KEY_RATE_LIMITED
code: 48006
meaning: QPS 超限
action: 降低调用频率后重试
PARAM_INVALID
meaning: 请求参数无效
action: 检查 Tool inputSchema 与 arguments
MCP账户余额不足
meaning: 账户余额不足
action: 提示用户前往 DAST 平台充值
date 仅支持当日至未来15天
meaning: dast_delay_rate 查询日期超出支持范围
action: 使用支持范围内的日期
上游接口返回失败
meaning: 上游数据源异常
action: 稍后重试
AGENT_BEHAVIOR
调用 Tool 前:
1. 识别用户意图。
2. 选择满足需求的最少 Tool。
3. 检查必填参数。
4. 在可明确判断时解析相对日期;对于航班动态航班号查询和机场对查询,应按出发机场当地日期解析。
5. 在可明确判断时解析机场三字码。
6. 如果必填参数无法安全确定,向用户询问。
7. 仅在必填参数完整后调用 Tool。
调用 Tool 后:
1. 检查 MCP 返回结果。
2. 解析 result.content[0].text。
3. 检查业务 code。
4. 使用真实返回的业务数据回答用户。
5. 明确区分计划、预计、实际和预测信息。
6. 不得编造缺失值。
DATA_INTERPRETATION
航班时间字段可能表示不同含义:
planned time
estimated time
actual time
不得将计划时间描述为实际时间。
未来天气属于预报信息。
不得将天气预报描述为已经发生的事实。
延误概率属于预测信息。
不得将预测概率描述为已经确定的运行结果。
如果 Tool 未返回有效数据:
明确告知未查询到有效数据。
不得自行编造结果。
SECURITY
Agent 禁止:
- 暴露 API Key
- 暴露 Authorization 鉴权信息
- 编造航班数据
- 编造天气数据
- 编造轨迹数据
- 编造延误概率
- 在缺少必填参数时静默替换或猜测参数
- 在无必要情况下重复调用付费 Tool
QUICK_ROUTING_REFERENCE
航班号 + 航班动态
-> dast_flight_dynamic
出发机场 + 到达机场 + 日期 + 航班列表
-> dast_flight_route
餐食 / WiFi / 座椅 / 行李 / 舒适度
-> dast_flight_happy
未来延误 / 取消风险
-> dast_delay_rate
机场 + 未来天气
-> dast_future_weather
位置 / 高度 / 速度 / 飞行轨迹
-> dast_flight_path
SOURCE_OF_TRUTH
Tool 定义和入参的优先级:
1. MCP Server tools/list
2. 本 Agent 文档
业务数据的优先级:
1. MCP Tool 实际返回结果
2. 本 Agent 文档
如果信息存在冲突:
以更高优先级的数据源为准。