航班管家航空数据 MCP

航班管家 DAST 官方航空数据 MCP,提供航班动态、延误预测、机场天气、飞行轨迹及航班舒适度等数据能力。

文件

航班管家 MCP Agent 文档

本文件用于 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 文档

如果信息存在冲突:

以更高优先级的数据源为准。