Token导航 LogoToken导航TokenDH.com
Mcpsample Flight logo
搜索检索stdio官方级别未说明来源级核验

Mcpsample Flight

MCP Server

tsc

一个基于自然语言处理的AI航班搜索服务,通过微服务架构实现与Amadeus GDS的实时航班数据集成。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude微服务Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

TORU0239

提供方

TORU0239

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx tsc --noEmit

详细介绍

会话航班搜索

基于人工智能的航班搜索服务,具有自然语言处理功能,采用微服务架构构建。

概述

一个双层系统,使用户能够通过自然对话搜索航班:

  • API网关 -处理聊天互动,使用LLM(OpenAI/Anthropic)理解自然语言
  • MCP飞行服务器 -与Amadeus GDS集成,获取实时航班数据

建筑

User → [/chat] → API Gateway (:8787) → [MCP Protocol] → Flight Server (:8700) → Amadeus API
                       ↓                                         
                  OpenAI/Claude                              

快速开始

先决条件

安装

  1. 克隆并安装依赖项
# Clone repository
git clone 
cd 

# Install Flight Server
cd mcp-flight-server
npm install
cp .env.example .env  # Add Amadeus credentials

# Install API Gateway
cd ../api-gateway
npm install
cp .env.example .env  # Add LLM API keys
  1. 配置环境变量

mcp飞行服务器/env

AMADEUS_CLIENT_ID=your_amadeus_client_id
AMADEUS_CLIENT_SECRET=your_amadeus_client_secret
PORT=8700

api网关/.env

# Server
PORT=8787
FLIGHT_SERVER_URL=http://localhost:8700

# LLM Provider (choose one)
LLM_PROVIDER=openai  # or anthropic

# OpenAI
OPENAI_API_KEY=your_openai_key
OPENAI_MODEL=gpt-4o-mini

# OR Anthropic
ANTHROPIC_API_KEY=your_anthropic_key
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022
  1. 启动服务
# Terminal 1: Start Flight Server
cd mcp-flight-server
npm run dev

# Terminal 2: Start API Gateway
cd api-gateway
npm run dev

用法

与助手聊天

发布 http://localhost:8787/chat

curl -X POST http://localhost:8787/chat \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {
        "role": "user",
        "content": "Find me flights from Seoul to New York next Monday"
      }
    ]
  }'

答复:

{
  "message": "I found 15 flights from ICN to JFK. The cheapest option is $890 with one stop...",
  "flights": {
    "currency": "USD",
    "items": [...]
  },
  "cards": [
    {"title": "Local Food", "summary": "Must-try NYC dishes..."},
    {"title": "Top Attractions", "summary": "Empire State, Central Park..."},
    {"title": "Travel Tips", "summary": "NYC subway guide..."}
  ]
}

直达航班搜索

发布 http://localhost:8787/search-flights

{
  "origin": "ICN",
  "destination": "JFK",
  "departDate": "2025-03-15",
  "returnDate": "2025-03-22",
  "adults": 2,
  "currency": "USD"
}

API终点

API网关(端口8787)

端点方法描述
/chatPOST自然语言航班搜索
/search-flightsPOST直达航班搜索
/locationsGETIATA代码查询
/healthGET服务健康检查

飞行服务器(端口8700)

端点方法描述
/mcpPOSTMCP协议处理程序
/api/search-flightsPOSTREST API(旧版)
/healthGET服务健康检查

技术栈

组件技术
运行时Node.js 18+
框架禁食5
语言TypeScript 5.9
法学硕士OpenAI GPT-4/人类学克劳德3.5
GDSAmadeus测试API
验证Zod
协议MCP(消息通信协议)

项目结构

.
├── api-gateway/
│   └── src/
│       ├── index.ts        # Main gateway server
│       ├── llm.ts          # LLM integration
│       ├── mcpClient.ts    # MCP client
│       └── types.ts        # TypeScript types
│
└── mcp-flight-server/
    └── src/
        ├── index.ts        # Flight server with Amadeus
        ├── types.ts        # Type definitions
        └── schema.ts       # Zod schemas

特性

  • 自然语言处理 -理解会话查询
  • 智能意图检测 -从文本中提取航班搜索参数
  • 旅行建议 -生成目的地信息卡
  • OAuth令牌管理 -Amadeus代币自动刷新
  • 速率限制 -每个客户端每分钟100个请求
  • 类型安全 -带有运行时验证的完整TypeScript

发展

# Build for production
npm run build

# Start production server
npm start

# Type checking
npx tsc --noEmit

故障排除

问题解决方案
“AMADEUS_CLIENT_ID未设置”将AMADEUS凭据添加到 .env
“未配置LLM提供程序”设置OpenAI或Anthropic API密钥
无航班结果检查IATA代码和日期格式(YYYY-MM-DD)
连接被拒绝确保两台服务器都在运行

许可证

麻省理工学院

作者

Choi Wonyoung

目录标签

目录标签

TypeScriptClaude微服务航班搜索本地部署自然语言处理实时数据旅行推荐

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

tsc

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP