使用说明
项目简介
该仓库实现了一个同时具备 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 客户端不需要特定的实现细节,只需知道服务器的地址与暴露的工具即可进行调用。
基本使用方法
- 启动服务器
- 使用 npm run dev 或在生产环境中以合适的进程管理器部署服务器。
- 配置 MCP 客户端
- 将上述配置(serverName、command、args)填入客户端的 MCP 服务器配置区域。
- 重载配置后,客户端应在工具/搜索面板中看到 iata-code-decoder-api 提供的工具。
- 使用工具
- 调用 lookup_airport、lookup_airline、lookup_aircraft 进行查询,传入 query 参数(如机场 IATA 代码、部分代码等),将得到相应的结果集。
- 监控与维护
- 通过服务器日志查看请求处理情况与潜在错误,必要时清理无效会话以释放资源。
信息
分类
AI与计算