航班管家航空数据 MCP

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

Dokumentasi

航班管家 MCP Agent 文档

本文件用于 AI Agent、AI 编程工具及其他自动化客户端直接读取,用于快速理解航班管家 MCP 数据平台的能力、连接方式、工具选择方式、调用参数、返回结构及调用限制。

当前 9 个 Tool 包含两类能力:

  • 航班实时/查询类:航班动态、机场对航班、航班舒适度、未来延误预测、机场未来天气、飞行轨迹。
  • 运行统计/报表类:全国民航每日总览、国内机场运行数据统计、国内航司运行数据统计。

其中 3 个报表类 Tool 调用成功后返回 1 小时有效的 Excel 下载链接;各 Excel 的 Sheet、字段与数据口径见本文档 ## EXCEL_SHEET_FIELDS。调用报表类 Tool 生成文件时按次计费,使用返回的链接下载文件不重复计费。

如果本文件与 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

Remote MCP Endpoint
-> https://fly.huoli.com/mcp/dast_mcp

STDIO npm Package
-> @flightmaster/aviation-dast-mcp

不得将 Remote MCP Endpoint 作为 DAST 平台地址使用。


MCP_CONNECTION_MODES

name:

航班管家航空数据 MCP | Flight Master Aviation Data MCP

protocol:

MCP (Model Context Protocol)

supported_connection_modes:

1. Remote MCP via Streamable HTTP
2. Local MCP via STDIO

recommended_mode:

Remote MCP via Streamable HTTP

选择规则:

客户端支持 Remote Streamable HTTP
-> 默认优先使用 Remote MCP

客户端仅支持 STDIO
-> 使用 STDIO

用户明确要求 npm / npx / STDIO
-> 使用 STDIO

除非用户明确要求,不要同时配置两种模式。

REMOTE_MCP

endpoint:

https://fly.huoli.com/mcp/dast_mcp

transport:

Streamable HTTP

rpc:

JSON-RPC 2.0

http_method:

POST

上述方法适用于 Remote MCP JSON-RPC 请求。报表类 Tool 返回的 file_url 使用 HTTP GET 下载,不属于 MCP JSON-RPC 请求。

content_type:

application/json

encoding:

UTF-8

authentication:

Authorization: Bearer <API_KEY>

Remote MCP 适合:

  • 支持远程 MCP Server 的 AI Agent
  • 支持 Streamable HTTP 的 MCP Client
  • 不希望在本地安装 MCP Server 的用户
  • Hosted AI / coding clients

STDIO_MCP

package:

@flightmaster/aviation-dast-mcp

npm:

https://www.npmjs.com/package/@flightmaster/aviation-dast-mcp

command:

npx -y @flightmaster/aviation-dast-mcp

transport:

STDIO

required_environment_variables:

DAST_API_KEY=<API_KEY>

optional_environment_variables:

DAST_MCP_URL=<CUSTOM_GATEWAY_URL>

说明:

DAST_API_KEY 为必填环境变量。
缺少 DAST_API_KEY 时,STDIO 进程无法正常启动并会退出。

DAST_MCP_URL 为可选项,正常情况下不应设置。
只有需要覆盖默认 Flight Master DAST MCP Gateway 时才使用 DAST_MCP_URL。

STDIO MCP 适合:

  • 仅支持本地 STDIO MCP Server 的客户端
  • 用户明确要求 npm / npx / STDIO 接入
  • 本地开发工具需要通过标准输入输出启动 MCP Server

AUTHENTICATION

API Key 由用户登录 DAST 平台后,在 MCP 控制台创建。

DAST platform:

https://dast.133.cn

以上平台用于:

  • 用户注册
  • 用户登录
  • 创建 API Key
  • 账户充值
  • 查看用量与账单

Remote MCP authentication

Remote MCP endpoint:

https://fly.huoli.com/mcp/dast_mcp

Remote MCP 请求必须携带:

Authorization: Bearer <API_KEY>

STDIO MCP authentication

STDIO 使用环境变量:

DAST_API_KEY=<API_KEY>

DAST_API_KEY 为必填。

STDIO 模式不得描述为通过 HTTP Authorization Header 直接向本地进程传递 API Key。

可选 Gateway 覆盖变量:

DAST_MCP_URL=<CUSTOM_GATEWAY_URL>

除非用户明确需要自定义 Gateway,否则不要设置 DAST_MCP_URL。

API Key 格式:

sk_phone_<32位随机字符>

Agent 禁止:

  • 向最终用户输出完整 API Key
  • 将 API Key 写入公开内容
  • 在回答中复述 Authorization Header 中的真实 Key
  • 在回答中输出真实 DAST_API_KEY
  • 将真实 DAST_API_KEY 写入公开 GitHub、配置示例、日志或代码块

IF_MCP_NOT_CONFIGURED

如果当前客户端尚未配置航班管家 MCP:

1. 不得声称航班管家 MCP Tool 已经可用。
2. 首先判断当前客户端支持的 MCP 连接模式。
3. 如果客户端支持 Remote Streamable HTTP,默认优先推荐 Remote MCP。
4. 如果客户端仅支持 STDIO,或用户明确要求 npm / npx / STDIO,则使用 STDIO 模式。
5. 不得猜测、生成或暴露用户真实 API Key。
6. 如需 API Key,引导用户前往 DAST MCP 控制台获取或创建:
   https://dast.133.cn
7. 不得将 https://fly.huoli.com 用作注册、登录、API Key 创建、充值或控制台入口。
8. 配置完成后,重新加载或重新连接 MCP 客户端。
9. 调用 tools/list 验证连接成功,并获取当前 Tool 定义。
10. 只有 tools/list 成功后,Agent 才可以认为航班管家 MCP Tool 已经可用。

Remote configuration

Remote endpoint:

https://fly.huoli.com/mcp/dast_mcp

Authentication placeholder:

Authorization: Bearer <API_KEY>

generic_remote_config:

{
  "mcpServers": {
    "flight-master-dast": {
      "url": "https://fly.huoli.com/mcp/dast_mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}

STDIO configuration

package:

@flightmaster/aviation-dast-mcp

generic_stdio_config:

{
  "mcpServers": {
    "flight-master-dast": {
      "command": "npx",
      "args": [
        "-y",
        "@flightmaster/aviation-dast-mcp"
      ],
      "env": {
        "DAST_API_KEY": "<API_KEY>"
      }
    }
  }
}

如果客户端允许配置可选环境变量,并且用户明确需要自定义 Gateway:

DAST_MCP_URL=<CUSTOM_GATEWAY_URL>

否则不要主动设置 DAST_MCP_URL。

configuration_goal:

选择合适连接模式
-> MCP Server 已配置
-> 鉴权信息可用
-> 客户端已重新加载或重新连接
-> tools/list 调用成功
-> Tool 可用于正常用户请求

如果当前环境不允许 Agent 直接修改 MCP 配置:

向用户提供:
- 注册 / 登录 / 创建 API Key:https://dast.133.cn
- Remote Endpoint:https://fly.huoli.com/mcp/dast_mcp
- STDIO npm Package:@flightmaster/aviation-dast-mcp
- Remote 鉴权占位符:Bearer <API_KEY>
- STDIO 环境变量占位符:DAST_API_KEY=<API_KEY>
- 当前客户端适用的 MCP 配置步骤

不得声称 MCP 配置已经完成。

CONNECTION_SEQUENCE

以下 MCP 协议流程适用于 Remote 与 STDIO 两种连接模式。

区别仅在 Transport:

Remote -> Streamable HTTP
STDIO  -> stdin / stdout

Transport 建立后,标准 MCP 交互顺序一致:

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

平台当前提供 9 个 Tool:

dast_flight_dynamic
dast_flight_route
dast_flight_happy
dast_delay_rate
dast_future_weather
dast_flight_path
dast_flight_overview_daily
dast_airport_operation_statistics
dast_airline_operation_statistics

如果本文件中的 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

用户询问全国民航单日航班运行汇总、全行业日度运行数据:

使用 dast_flight_overview_daily

用户询问指定机场的航班运行数据、航班波、通航点、航司或机型运力:

使用 dast_airport_operation_statistics

用户询问指定航司的运行数据、机队效率、热门航线或运力趋势:

使用 dast_airline_operation_statistics


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 / 成功调用


TOOL: dast_flight_overview_daily

purpose:

按日期查询全国民航单日运行总览数据,返回 Excel 下载链接。

use_when:

  • 用户需要全国层面单日民航运行汇总
  • 查询客运航班量、执飞率、同比数据
  • 查询可用座公里、飞机利用率
  • 查询航司执飞量、千万级机场进出港量
  • 查询货运航班量日趋势

required_parameters:

date

  • type: string
  • format: YYYY-MM-DD
  • pattern: ^\d{4}-\d{2}-\d{2}$
  • meaning: 统计日期,范围为 2019-01-01 至昨日;日期无可导出数据时调用失败
  • example: 2026-08-10

example_arguments:

{
  "date": "2026-08-10"
}

business_data_type:

object

return_description:

调用成功后,data.file_url 返回默认 1 小时有效的 Excel 下载链接,实际过期时间以 data.expires_at 为准;data.expires_at 为字符串,格式 Y-m-d H:i:s,使用北京时间(UTC+8)。Excel 包含 8 个 Sheet,各 Sheet 字段明细与数据口径见本文档 ## EXCEL_SHEET_FIELDS。

price:

6 CNY / 成功调用


TOOL: dast_airport_operation_statistics

purpose:

按机场、日期范围、航线类型查询国内机场运行数据统计,返回 Excel 下载链接。

use_when:

  • 用户需要指定机场的运行指标
  • 查询机场每日航班量、放行正常率、执飞率
  • 查询机场半小时航班波分布
  • 查询机场通航点、执飞航司、执飞机型排名

required_parameters:

airport

  • type: string
  • meaning: 机场代码,优先使用 IATA 三字码
  • example: PEK

route_type

  • type: string
  • enum: dom / area / inter / all
  • meaning: dom 国内航线,area 地区航线,inter 国际航线,all 全部航线
  • example: all

start_time

  • type: string
  • format: YYYY-MM-DD
  • pattern: ^\d{4}-\d{2}-\d{2}$
  • meaning: 统计开始日期,范围为 2019-01-01 至昨日
  • example: 2026-08-01

end_time

  • type: string
  • format: YYYY-MM-DD
  • pattern: ^\d{4}-\d{2}-\d{2}$
  • meaning: 统计结束日期,范围为 2019-01-01 至昨日;不得早于 start_time,与 start_time 最多相差 90 天
  • example: 2026-08-10

example_arguments:

{
  "airport": "PEK",
  "route_type": "all",
  "start_time": "2026-08-01",
  "end_time": "2026-08-10"
}

business_data_type:

object

return_description:

调用成功后,data.file_url 返回默认 1 小时有效的 Excel 下载链接,实际过期时间以 data.expires_at 为准;data.expires_at 为字符串,格式 Y-m-d H:i:s,使用北京时间(UTC+8)。Excel 包含 6 个 Sheet,各 Sheet 字段明细与数据口径见本文档 ## EXCEL_SHEET_FIELDS。

price:

6 CNY / 成功调用


TOOL: dast_airline_operation_statistics

purpose:

按航司、日期范围、运输类型查询国内航司运行数据统计,返回 Excel 下载链接。

use_when:

  • 用户需要指定航司的运行全貌
  • 查询航司执飞航班量、执行率、航线数、座位数
  • 查询航司机队规模、飞机利用率
  • 查询航司热门航线排名、机型构成

required_parameters:

airline

  • type: string
  • meaning: 航司二字码
  • example: CA

start_time

  • type: string
  • format: YYYY-MM-DD
  • pattern: ^\d{4}-\d{2}-\d{2}$
  • meaning: 统计开始日期,范围为 2019-01-01 至昨日
  • example: 2026-08-01

end_time

  • type: string
  • format: YYYY-MM-DD
  • pattern: ^\d{4}-\d{2}-\d{2}$
  • meaning: 统计结束日期,范围为 2019-01-01 至昨日;不得早于 start_time,与 start_time 最多相差 90 天
  • example: 2026-08-10

optional_parameters:

passenger

  • type: integer
  • enum: 0 / 1
  • default: 1
  • meaning: 0 货运,1 客运
  • example: 1

example_arguments:

{
  "airline": "CA",
  "start_time": "2026-08-01",
  "end_time": "2026-08-10",
  "passenger": 1
}

business_data_type:

object

return_description:

调用成功后,data.file_url 返回默认 1 小时有效的 Excel 下载链接,实际过期时间以 data.expires_at 为准;data.expires_at 为字符串,格式 Y-m-d H:i:s,使用北京时间(UTC+8)。Excel 包含 5 个 Sheet;客运与货运文件字段不同,各 Sheet 字段明细与数据口径见本文档 ## EXCEL_SHEET_FIELDS。

price:

12 CNY / 成功调用


DATE_RULES

标准日期格式:

YYYY-MM-DD

对于以下 Tool:

dast_flight_dynamic
dast_flight_route

date 表示航班出发机场当地日期(机场当地自然日),不是北京时间日期,也不是 Agent 所在地日期。

日期解析规则:

查询“当地今天”
-> 使用出发机场当地的当前自然日

查询“当地明天”
-> 使用出发机场当地日期 + 1 day

查询“当地后天”
-> 使用出发机场当地日期 + 2 days

如果用户使用“今天”“明天”“后天”等相对日期,Agent 应结合用户所指航班出发机场的当地日期进行转换,不得直接以北京时间或 Agent 所在地日期替代。

如果用户明确给出具体日期:

直接使用该 YYYY-MM-DD 日期,并按出发机场当地自然日理解。

如果无法安全判断用户所指的机场当地日期:

向用户询问,或根据当前上下文明确解析。

不得猜测不确定的日期。

报表类 Tool

对于:

dast_flight_overview_daily
dast_airport_operation_statistics
dast_airline_operation_statistics

日期参数均为自然日,按北京时间自然日统计。

支持范围与跨度:

dast_flight_overview_daily
-> date 范围为 2019-01-01 至昨日

dast_airport_operation_statistics
dast_airline_operation_statistics
-> start_time、end_time 范围均为 2019-01-01 至昨日
-> end_time 不得早于 start_time
-> end_time 与 start_time 最多相差 90 天

相对日期解析规则:

查询“今天”
-> 报表仅支持到昨日,不能直接调用;应说明限制并请用户改查昨日或更早日期

查询“昨天”
-> 使用北京时间当前自然日 - 1 day

查询“近7天”
-> 结束日期为北京时间昨日,开始日期为结束日期 - 6 days

如果用户使用相对日期表述,Agent 应结合统计场景转换为北京时间对应的具体日期,不得直接使用其他时区日期。

如果无法安全判断报表日期,应向用户询问,不得猜测不确定的日期。


AIRPORT_RULES

机场参数使用 IATA 三字码。

Examples:

PEK = 北京首都国际机场
PKX = 北京大兴国际机场
SHA = 上海虹桥国际机场
PVG = 上海浦东国际机场
HFE = 合肥新桥国际机场
CAN = 广州白云国际机场

如果用户直接提供机场三字码:

直接使用该三字码。

agent_guidance:

如果用户只提供城市名称,且该城市存在多个机场,Agent 不应在缺乏依据时任意指定某一个机场。

可根据用户问题:

  • 判断是否需要覆盖多个机场
  • 或向用户确认具体机场

Examples:

北京 != 始终等同于 PEK
上海 != 始终等同于 SHA

报表类机场 Tool

dast_airport_operation_statistics 的 airport 参数使用机场代码,优先使用 IATA 三字码。

如果用户只提供机场名称,Agent 应先可靠转换为机场代码;无法确认时向用户询问,不得把机场名称直接作为参数传入。

城市名称不等同于具体机场名称。对于多机场城市,如果用户未明确机场,应先确认具体机场,不得任意指定。


AIRLINE_RULES

dast_airline_operation_statistics 的 airline 参数使用航司二字码。

Examples:

CA = 中国国际航空
MU = 中国东方航空
CZ = 中国南方航空
HU = 海南航空

如果用户直接提供航司二字码:

直接使用该二字码。

如果用户提供航司全称,Agent 应可靠转换为对应二字码后调用;无法确认时向用户询问,不得把航司名称直接作为参数传入。


REPORT_PARAMETER_RULES

三个报表类 Tool 的 inputSchema 允许额外属性,但 Agent 应只发送对应 Tool 明确定义的参数,不附带无关字段。

dast_flight_overview_daily
required: date

dast_airport_operation_statistics
required: airport, route_type, start_time, end_time
route_type: dom | area | inter | all

dast_airline_operation_statistics
required: airline, start_time, end_time
optional: passenger
passenger: 0(货运)| 1(客运,默认)

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"
    }
  }
}

说明:

Remote 模式:JSON-RPC 消息通过 Streamable HTTP 传输。
STDIO 模式:JSON-RPC 消息通过 stdin / stdout 传输。
Tool 名称、arguments 和 MCP 方法语义不因 Transport 改变。

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:

1. 先检查 MCP result.isError。
2. 如果 isError == true,按 MCP Tool 调用失败处理。
3. 如果 isError == false,再解析 result.content 中的业务 JSON。
4. 检查业务字段 code。
5. code == 0 才表示业务调用成功。

msg
-> 状态或错误说明

data
-> 业务数据

count
-> 返回结果数量

Remote 模式不得仅根据 HTTP 请求成功判断业务调用成功。

Remote 与 STDIO 两种模式都必须先检查 MCP 层 isError,再检查业务字段 code。

航班实时 / 查询类 Tool

航班实时 / 查询类 Tool 的 data 为实际业务数据,可能为 array 或 object。Agent 应根据对应 Tool 的 business_data_type 解析,并使用真实返回数据回答用户。

报表类 Tool

3 个报表类 Tool 调用成功后,data 中包含 Excel 下载信息。Remote 与 STDIO 模式的 Tool 返回结构相同,均通过返回的 HTTP 地址下载文件。

示例:

{
  "code": 0,
  "msg": "success",
  "data": {
    "file_url": "https://data-api.133.cn/mcp/v1/flight/statistics/airportDaily/export?order_no=0123456789abcdef0123456789abcdef",
    "expires_at": "2026-10-08 18:30:00"
  },
  "count": 1
}

其中:

data.file_url
-> Excel 文件下载链接,默认 1 小时有效,实际过期时间以 data.expires_at 为准
-> order_no 是服务端动态生成的短期下载令牌,示例令牌不可直接使用

data.expires_at
-> 下载地址过期时间,字符串,格式 Y-m-d H:i:s,北京时间(UTC+8)
-> 与服务端下载令牌记录的过期时间一致,下载不会续期

下载规则:

HTTP method: GET
Authorization: 不需要再次携带 Bearer,下载令牌已包含在 file_url 中
response: xlsx 二进制文件,不是 JSON
billing: 下载已生成文件不重复扣费
expiration: 下载不会延长有效期;链接过期后需要重新调用付费 Tool 生成文件

三个 Tool 的下载地址格式:

dast_flight_overview_daily
-> https://data-api.133.cn/mcp/v1/flight/statistics/airportDaily/export?order_no=<TOKEN>

dast_airport_operation_statistics
-> https://data-api.133.cn/mcp/v1/airport/statistics/export?order_no=<TOKEN>

dast_airline_operation_statistics
-> https://data-api.133.cn/mcp/v1/airline/statistics/export?order_no=<TOKEN>

下载文件名示例:

全国民航每日总览_20260810.xlsx
国内机场运行数据统计_PEK_20260801_20260810_全部航线.xlsx
国内航司运行数据统计_CA_20260801_20260810.xlsx
国内航司运行数据统计_CA_20260801_20260810_货运航班.xlsx

Agent 获取报表类返回后,应在有效期内下载并解析 Excel,根据用户需求读取对应 Sheet;字段、单位与统计口径见 ## EXCEL_SHEET_FIELDS。不得向不相关第三方泄露包含下载令牌的 file_url。


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
dast_flight_overview_daily        -> object
dast_airport_operation_statistics -> object
dast_airline_operation_statistics -> object

BILLING

billing_model:

账户余额预付费

billing_rule:

Tool 调用成功
-> 扣减账户余额

Tool 调用失败
-> 不扣费

账户余额不足
-> Tool 调用失败

报表类 Tool 返回 file_url 后下载文件
-> 不重复扣费

file_url 过期后重新调用报表类 Tool 生成文件
-> 视为一次新的付费调用

各 Tool 单价见对应 Tool 的 price。

Agent 应:

  • 避免无必要的重复调用
  • 当前任务中已经获取的数据,在适用时应优先复用
  • 报表类 Tool 的 Excel 下载后可缓存解析结果,在当前任务中无需重复调用

ERRORS

PHONE_KEY_MISSING

code: 48001
meaning: MCP 服务端未收到有效 API Key

action:
- Remote 模式:检查 Authorization: Bearer <API_KEY> 是否正确配置
- STDIO 模式:如果进程已经启动但仍返回该错误,检查 DAST_API_KEY 是否正确传入

STDIO_LOCAL_API_KEY_MISSING

condition: DAST_API_KEY 未设置
meaning: STDIO MCP 进程启动失败
action: 设置 DAST_API_KEY 后重新启动 STDIO MCP 进程

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: 报表类 Tool 日期格式错误、超出 2019-01-01 至昨日,或日期区间超过 90 天
action: 修正为 YYYY-MM-DD;范围类 Tool 还需保证 end_time 不早于 start_time 且跨度不超过 90 天

查询日期暂无可导出数据 / 查询范围暂无可导出数据

meaning: 参数有效,但指定日期或日期范围内没有满足条件的数据
action: 明确告知用户无可导出数据;不要把调用描述为成功

文件生成失败,请稍后重试

meaning: Excel 文件生成或校验失败
action: 稍后重试;避免立即连续重复调用付费 Tool

下载地址不存在或已过期 / 下载文件不存在或已过期

meaning: file_url 中的下载令牌无效、已过期,或对应文件已清理
action: 不要反复请求旧链接;征得用户同意后重新调用报表类 Tool 生成文件,该调用将重新计费

上游接口返回失败

meaning: 上游数据源异常
action: 稍后重试

AGENT_BEHAVIOR

调用 Tool 前:

1. 识别用户意图。
2. 选择满足需求的最少 Tool。
3. 检查必填参数。
4. 在可明确判断时解析相对日期;对于航班动态航班号查询和机场对查询,应按出发机场当地日期解析。
5. 在可明确判断时解析机场三字码。
6. 如果必填参数无法安全确定,向用户询问。
7. 仅在必填参数完整后调用 Tool。

报表类 Tool 调用前的补充规则:

1. 按北京时间自然日解析日期,并检查日期范围与跨度。
2. 在可明确判断时解析航司二字码。
3. 仅发送对应报表 Tool 明确定义的参数。

调用 Tool 后:

1. 先检查 MCP result.isError。
2. 如果 isError == true,按 MCP Tool 调用失败处理,不继续解析为正常业务结果。
3. 如果 isError == false,解析 result.content 中包含业务 JSON 的 text 内容(通常为 result.content[0].text)。
4. 检查业务 code;仅 code == 0 视为业务调用成功。
5. 使用真实返回的业务数据回答用户。
6. 明确区分计划、预计、实际和预测信息。
7. 不得编造缺失值。

报表类 Tool 调用后的补充规则:

1. 获取下载链接并在有效期内下载 Excel。
2. 先读取“数据说明”Sheet,再按用户需求解析相关 Sheet。
3. 明确区分统计值、同期值和同比值。

DATA_INTERPRETATION

航班时间字段可能表示不同含义:

planned time
estimated time
actual time

不得将计划时间描述为实际时间。

未来天气属于预报信息。

不得将天气预报描述为已经发生的事实。

延误概率属于预测信息。

不得将预测概率描述为已经确定的运行结果。

报表类统计数据

报表字段可能包含:

当期值
去年同期值
2019年同期值
同比增长率

不得将同期值描述为当期值。

报表统计数据均为历史已发生数据,不得描述为预测值。

Top 榜类 Sheet 为统计周期内合计值,不等同于单日值;航班波为 30 分钟粒度的日均值。

如果 Tool 未返回有效数据:

明确告知未查询到有效数据。
不得自行编造结果。

SECURITY

Agent 禁止:

  • 暴露真实 API Key
  • 暴露包含真实 API Key 的 Authorization Header
  • 暴露真实 DAST_API_KEY
  • 编造航班数据
  • 编造天气数据
  • 编造轨迹数据
  • 编造延误概率
  • 编造机场 / 航司运行统计数据
  • 在缺少必填参数时静默替换或猜测参数
  • 在无必要情况下重复调用付费 Tool
  • 向不相关第三方泄露包含短期下载令牌的 file_url
  • 泄露未公开的 Excel 数据内容

QUICK_ROUTING_REFERENCE

航班号 + 航班动态
-> dast_flight_dynamic

出发机场 + 到达机场 + 日期 + 航班列表
-> dast_flight_route

餐食 / WiFi / 座椅 / 行李 / 舒适度
-> dast_flight_happy

未来延误 / 取消风险
-> dast_delay_rate

机场 + 未来天气
-> dast_future_weather

位置 / 高度 / 速度 / 飞行轨迹
-> dast_flight_path

全国单日民航运行总览
-> dast_flight_overview_daily

机场维度航班运行数据 / 航班波 / 通航点 / 运力
-> dast_airport_operation_statistics

航司维度运行 / 机队效率 / 热门航线 / 运力趋势
-> dast_airline_operation_statistics

EXCEL_SHEET_FIELDS

本章节用于 Agent 在报表类 Tool 返回 Excel 后准确解析各 Sheet、理解字段含义与统计口径。

三个报表类 Tool 的 Excel 均包含“数据说明”Sheet。解析报表前应优先读取该 Sheet,并结合以下字段说明处理。

dast_flight_overview_daily

返回文件基本信息:

项目说明
返回格式xlsx
Sheet数量8个
下载链接有效期1小时

各Sheet字段明细:

Sheet名称核心字段单位/说明
全国(含国际/地区)客运日航班量日期、全国航线执行航班量、执飞率、去年同期执行航班量、2019年同期执行航班量、国内/国际/地区航线对应指标航班量为架次,执飞率为百分比
国内航司可用座公里日趋势日期、可用座公里、去年同期可用座公里座公里
中国民航飞机日利用率趋势日期、全机队、宽体机、窄体机、支线客机小时/天
航班量Top10航司飞机利用率航司名称、航司代码、全机队/宽体/窄体/支线飞机利用率小时/天
国内航司客运航班量航司名称、航司代码、执飞航班量、取消航班量、执飞率航班量为架次,执飞率为百分比
国内千万级机场客运航班量机场名称、机场代码、执飞进出港航班量、取消进出港航班量、同比去年增长率、取消率航班量为架次,增长率/取消率为百分比
国内货运日航班量日期、执飞航班量、去年同期执飞航班量架次
数据说明数据口径备注-

数据口径备注:

数据来源:航班管家
统计范围:国内、国际、港澳台航司,国内、国际、地区航线
客运航班:仅定期客运航班,不含包机、公务机、调飞等
货运航班:仅货运航班,不含客改货等
统计时间:按航班实际出港时间计算
飞行时间:仅计算空中飞行时间,不含地面滑行时间

dast_airport_operation_statistics

返回文件基本信息:

项目说明
返回格式xlsx
Sheet数量6个
下载链接有效期1小时

各Sheet字段明细:

Sheet名称核心字段单位/说明
每日航班量日期、计划进港航班量、实际进港航班量、计划出港航班量、实际出港航班量、放行正常率、执飞率航班量为架次,率值为百分比
航班波时刻(30分钟粒度)、计划进港航班量、实际进港航班量、计划出港航班量、实际出港航班量日均值,可为小数
通航点往返执行航班量Top10机场名称、机场代码、执行航班量架次
航司出港执行航班量航司名称、航司代码、执行航班量、运力投入占比占比为百分比
各机型出港执行航班量机型、执行航班量架次
数据说明数据口径备注-

数据口径备注:

数据来源:航班管家
统计范围:国内、国际、港澳台航司,国内、国际、地区航线
客运航班:仅定期客运航班,不含货运航班、包机等
统计属性:不含经停航班、共享航班、虚拟航班
统计时间:按航班实际出港时间计算
放行正常率滑行时间标准:4000万吞吐量以上机场30分钟,2000万以上25分钟,1000万以上20分钟,其他机场15分钟

dast_airline_operation_statistics

返回文件基本信息:

项目说明
返回格式xlsx
Sheet数量5个
下载链接有效期1小时

passenger=1 或不传 passenger 时,返回客运统计文件;passenger=0 时,返回货运统计文件。两类文件均包含 5 个 Sheet,但前两个 Sheet 的指标不同。

客运文件各 Sheet 字段明细(passenger=1,默认):

Sheet名称核心字段单位/说明
总体数据统计(单行汇总)执飞航班总量、航线总数、可利用座位总数、机队总数、平均飞机利用率、执行率、宽体/窄体/支线机数量与执飞航班量率值为百分比,其余为绝对值
每日统计日期、执行航班量、可利用座位数、机队总体利用率、宽体/窄体/支线机利用率利用率单位:小时/天
国内航线往返航班量Top20机场1名称、机场1代码、机场2名称、机场2代码、执行航班量架次
国际及地区航线往返航班量Top20机场1名称/代码/国家、机场2名称/代码/国家、执行航班量架次
数据说明数据口径备注-

货运文件各 Sheet 字段明细(passenger=0):

Sheet名称核心字段单位/说明
总体数据统计(单行汇总)执飞航班总量、航线总数、理论业载总量、机队总数、平均飞机利用率、执行率、宽体/窄体/支线机数量与执飞航班量率值为百分比,其余为绝对值
每日统计日期、执行航班量、理论业载总量航班量为架次,业载按文件实际单位解释
国内航线往返航班量Top20机场1名称、机场1代码、机场2名称、机场2代码、执行航班量架次
国际及地区航线往返航班量Top20机场1名称/代码/国家、机场2名称/代码/国家、执行航班量架次
数据说明数据口径备注-

数据口径备注:

数据来源:航班管家
统计范围:仅境内、港澳台航司,国内、国际(含纯国际)、地区航线
客运文件:仅定期客运航班,不含货运航班、包机等
货运文件:按实际下载文件“数据说明”Sheet中的货运口径解释
统计属性:不含经停航班、共享航班、虚拟航班
统计时间:按航班实际出港时间计算
延误标准:实际起飞时间比计划晚30分钟以上记为延误

Excel解析注意

1. 三个Tool的Excel均包含“数据说明”Sheet,解析前应先读取该Sheet确认口径。
2. 机场类与航司类Excel的“每日统计/每日航班量”Sheet按日期逐行展开,航班波为30分钟粒度的日均值。
3. Top榜类Sheet(Top10通航点、Top20航线等)为统计周期内合计值,不等于单日值。
4. 明确区分当期值、去年同期值、2019年同期值、同比增长率,不得混用。
5. Sheet名称与字段以实际下载文件为准,若与本文件描述不一致,以Excel内“数据说明”Sheet为准。

SOURCE_OF_TRUTH

Tool 定义和入参的优先级:

1. MCP Server tools/list
2. 本 Agent 文档

业务数据的优先级:

1. MCP Tool 实际返回结果
2. 报表类 Tool 实际下载的 Excel 内容及其中“数据说明”Sheet(如适用)
3. 本 Agent 文档

连接与发布信息的优先级:

1. Official MCP Registry
2. Official GitHub README / npm package metadata
3. 本 Agent 文档

如果信息存在冲突:

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