使用说明

项目简介

该仓库实现了一个同时具备 REST API 和 MCP 服务端能力的应用。MCP 服务端通过 /mcp 路径提供对外的模型上下文协议支持,定义了三个工具(lookup_airport、lookup_airline、lookup_aircraft),用于根据 IATA 代码进行数据查询与展示。服务器使用 StreamableHTTPServerTransport 处理传输,并通过 MCP SDK 提供的工具注册、请求处理机制实现对外暴露的能力。

主要功能点

  • MCP 服务器核心能力
    • 支持初始化请求并创建会话,将会话与传输对象绑定,完成后续工具调用与数据交互。
    • 提供三项查询工具,分别对应机场、航空公司和机型数据的按需筛选。
    • 使用标准的 MCP 传输通道进行请求处理与响应返回,支持错误处理和会话清理。
  • REST API 支持
    • 健康检查、机场/航空公司/机型的查询接口,便于本地开发与调试。
  • 会话管理
    • 基于会话 ID 的传输对象管理,支持会话初始化、请求转发与会话关闭。

安装步骤

  • 环境要求:Node.js 版本建议24及以上。
  • 安装依赖:
    • npm install
  • 运行方式:
    • npm run dev(本地开发模式)
    • 服务器默认监听端口为 3000(可通过 PORT 环境变量修改)
  • 数据准备与更新:
    • 数据源来自 Duffel API 的缓存数据,包含 airports.json、airlines.json、aircraft.json 等文件。数据生成脚本在 scripts 目录下,需配置 Duffel 的访问令牌(DUFFEL_ACCESS_TOKEN)后执行相应脚本生成最新数据。

服务器配置(MCP 客户端配置说明)

MCP 客户端连接此 MCP 服务器以获取工具并执行工具请求。下面提供一个示例配置信息的结构描述,实际使用请以 MCP 客户端所需的具体格式为准。

  • serverName: iata-code-decoder-api
  • command: npx
  • args: ["mcp-remote", "http://localhost:3000/mcp"]

说明:

  • serverName:服务器在客户端配置中的名称标识,建议与实际服务端名称保持一致,便于在客户端菜单中定位。
  • command 与 args:告诉 MCP 客户端应如何启动对端服务。此示例表示通过 npx 启动一个远程 MCP 客户端进程,连接到 http://localhost:3000/mcp。即使端口在实际部署中可能不同,客户端通过该地址建立连接即可。
  • 备注:MCP 客户端不需要特定的实现细节,只需知道服务器的地址与暴露的工具即可进行调用。

基本使用方法

  1. 启动服务器
    • 使用 npm run dev 或在生产环境中以合适的进程管理器部署服务器。
  2. 配置 MCP 客户端
    • 将上述配置(serverName、command、args)填入客户端的 MCP 服务器配置区域。
    • 重载配置后,客户端应在工具/搜索面板中看到 iata-code-decoder-api 提供的工具。
  3. 使用工具
    • 调用 lookup_airport、lookup_airline、lookup_aircraft 进行查询,传入 query 参数(如机场 IATA 代码、部分代码等),将得到相应的结果集。
  4. 监控与维护
    • 通过服务器日志查看请求处理情况与潜在错误,必要时清理无效会话以释放资源。

信息

分类

AI与计算