TripNow (航班管家) MCP Server

$git clone https://github.com/sunbeibei-hub/tripnow-mcp && cd tripnow-mcp && pip install -r requirements.txt && python api_mcp.py
README.md

一站式航铁票务查询 实时动态智能追踪

MCP Server 航班管家

版本: v1

产品描述

短描述(20字): 一站式航铁票务查询 实时动态智能追踪

长描述(50-100字): 覆盖机票、火车票实时查询,航铁动态精准追踪,内置铁路航空领域知识库,解答出行高频问题,为MCP广场用户提供一站式出行信息服务

分类: 出行服务

标签: 票务查询,实时动态,航铁问答,出行资讯

功能特性

本 MCP Server 产品提供以下 Tools(工具/能力):

Tool1: 航铁票务实时查询

详细描述

支持机票、火车票实时查询,根据出发地、目的地、出行日期,快速返回对应航班/车次核心信息,高效满足出行票务查询需求

调试所需的输入参数

输入:

  • 出发地(字符串):出行的起始地点
  • 目的地(字符串):出行的目的地
  • 出行日期(字符串):计划出行的具体日期
  • 票务类型(字符串):机票/火车票

输出:

  • 对应航班/车次的实时信息,含编号、出发到达时间、坐席/舱位等相关内容
最容易被唤起的 Prompt 示例
帮我查询明天北京到上海的火车票

Tool2: 航铁动态精准追踪

详细描述

支持列车、航班动态实时查询,返回列车位置、检票口等信息及航班起降、登机口等状态,同步说明延误等异常原因

调试所需的输入参数

输入:

  • 航铁编号(字符串):列车车次/航班号
  • 查询类型(字符串):列车动态/航班动态

输出:

  • 对应航铁的实时动态信息,含位置/状态、配套设施、异常原因等
最容易被唤起的 Prompt 示例
帮我看看G123次列车现在到哪了

Tool3: 航铁知识智能问答

详细描述

内置铁路、航空领域知识库,针对票务政策、退改签、行李规定等高频问题,快速给出精准、规范的解答

调试所需的输入参数

输入:

  • 问题内容(字符串):铁路/航空领域的出行相关问题

输出:

  • 基于知识库的专业、准确的问题解答内容
最容易被唤起的 Prompt 示例
学生票每年能买几次,要什么证件核验

可适配平台

方舟,Python,Cursor

前置要求

  • Python >= 3.11
  • TripNow API Key(需要从产品服务开通链接提交申请获取)

鉴权方式

APIKey:通过产品服务开通链接提交申请,审核通过后获取专属APIKey,调用接口时在请求头中携带该APIKey完成鉴权

服务开通链接(整体产品): [产品服务开通链接待补充]

安装部署

客户部署服务(情况一)

若客户采用此方式,需提供 api key 以直接调取服务,具体步骤如下:

  1. 从产品服务开通链接提交申请,获取专属APIKey;
  2. 查阅产品官方接口文档,按规范构造请求参数;
  3. 在自有系统/平台中集成接口,请求时携带APIKey;
  4. 接收接口返回的JSON格式数据,解析并展示。

安装步骤

1. 克隆或下载项目
cd tripnow-mcp
2. 安装依赖
pip install -r requirements.txt

或者使用 pip 直接安装:

pip install httpx>=0.25.0 mcp>=1.0.0 pydantic>=2.0.0

配置 API Key

在 MCP 客户端配置中,可以通过 HTTP Header 传递 API Key:
  • tripnow-api-key
在 MCP 客户端配置中,可以通过环境变量 `tripnow_api_key` 传递 API Key。
  • tripnow_api_key

使用方法

一、STDIO 方式(本地运行)

Python 方式:直接运行
python api_mcp.py
在 MCP 客户端中配置

在您的 MCP 客户端配置文件(如 Cursor 的 mcp.json)中添加:

{
  "mcpServers": {
    "tripnow": {
      "command": "python",
      "args": [
        "/path/to/tripnow-mcp/api_mcp.py"
      ],
      "env": {
        "tripnow_api_key": "YOUR_API_KEY"
      }
    }
  }
}

二、Streamable HTTP 方式(推荐)

如果您的 MCP 服务器部署在远程服务器上,可以使用 Streamable HTTP 方式:

{
  "mcpServers": {
    "tripnow": {
      "url": "https://tripnowengine.133.cn/mcp",
      "headers": {
        "tripnow-api-key": "YOUR_API_KEY"
      }
    }
  }
}

API 工具说明

chat_completions

调用 TripNow 旅行助手 API,可以查询火车票、机票、酒店等旅行相关信息。该工具支持以下三种主要功能:

  1. 航铁票务实时查询:根据出发地、目的地、出行日期查询机票或火车票信息
  2. 航铁动态精准追踪:根据航铁编号查询列车或航班的实时动态信息
  3. 航铁知识智能问答:回答铁路、航空领域的出行相关问题
参数说明
  • messages (List[dict]): 消息列表,支持多轮对话
    • 每个消息包含:
      • role (str): 消息角色,如 'user', 'assistant', 'system'
      • content (str): 消息内容
返回格式

返回标准的 ChatCompletion 响应,包含:

  • 模型回复内容
  • Token 使用统计
  • 响应元数据

使用示例

示例 1:航铁票务实时查询

# 查询火车票
messages = [
    {
        "role": "user",
        "content": "帮我查询明天北京到上海的火车票"
    }
]

# 调用 chat_completions 工具
result = await chat_completions(messages=messages)
# 查询机票
messages = [
    {
        "role": "user",
        "content": "帮我查一下北京到上海的机票,日期是2024年12月25日"
    }
]

示例 2:航铁动态精准追踪

# 查询列车动态
messages = [
    {
        "role": "user",
        "content": "帮我看看G123次列车现在到哪了"
    }
]
# 查询航班动态
messages = [
    {
        "role": "user",
        "content": "CA1234航班现在什么状态"
    }
]

示例 3:航铁知识智能问答

# 询问票务政策
messages = [
    {
        "role": "user",
        "content": "学生票每年能买几次,要什么证件核验"
    }
]
# 询问退改签政策
messages = [
    {
        "role": "user",
        "content": "火车票退票手续费怎么算"
    }
]

示例 4:多轮对话查询

# 第一轮:查询机票
messages = [
    {
        "role": "user",
        "content": "我想从北京飞往上海"
    }
]

# 第二轮:继续对话
messages.append({
    "role": "assistant",
    "content": "为您找到了以下航班..."
})

messages.append({
    "role": "user",
    "content": "帮我看看最早那班的状态"
})

响应格式示例

成功响应

## TripNow 旅行助手回复

- **模型**: tripnow-travel-pro
- **响应ID**: chatcmpl-xxx

### 回复内容

为您找到了以下从北京到长沙的火车班次:
1. G501 次,08:00-14:30,二等座 ¥553
2. G503 次,10:00-16:30,二等座 ¥553
...

### Token使用统计
- **提示词Token**: 25
- **完成Token**: 150
- **总Token**: 175

错误响应

如果 API Key 未设置或无效,会返回错误信息:

⚠️ **错误**: error: tripnow-api-key not set

项目结构

tripnow-mcp/
├── api_mcp.py          # MCP 服务器主文件
├── models.py           # 数据模型定义
├── markdown_utils.py   # Markdown 工具函数
├── requirements.txt    # Python 依赖
├── pyproject.toml      # 项目配置
└── README.md          # 本文件

开发说明

运行开发服务器

python api_mcp.py

服务器将启动在 Streamable HTTP 模式下,可以通过 HTTP 请求调用。

代码结构说明

  • api_mcp.py:

    • 定义 MCP 服务器实例
    • 实现 chat_completions 工具
    • 处理 API Key 获取和 HTTP 请求
  • models.py:

    • Message: 消息模型
    • ChatCompletionResponse: API 响应模型
    • ErrorResponse: 错误响应模型
  • markdown_utils.py:

    • 提供 Markdown 格式化工具函数

常见问题

Q1: 如何获取 TripNow API Key?

A: 请访问 TripNow 官方网站或联系客服获取 API Key。

Q2: API Key 应该放在哪

Tools (1)

chat_completions调用 TripNow 旅行助手 API for real-time flight/train ticket queries, status tracking, and knowledge Q&A.

Environment Variables

tripnow_api_keyrequiredAPI Key for TripNow service authentication via environment variable

Configuration

claude_desktop_config.json
{
  "mcpServers": {
    "tripnow": {
      "url": "https://tripnowengine.133.cn/mcp",
      "headers": {
        "tripnow-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Try it

Query train tickets from Beijing to Shanghai tomorrow
Check current location of train G123
How many student train tickets can I buy per year and what documents are required
What's the status of flight CA1234
How are train ticket refund fees calculated

Frequently Asked Questions

How do I install TripNow (航班管家)?

Install TripNow (航班管家) by running: git clone https://github.com/sunbeibei-hub/tripnow-mcp && cd tripnow-mcp && pip install -r requirements.txt && python api_mcp.py

What MCP clients work with TripNow (航班管家)?

TripNow (航班管家) works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use TripNow (航班管家) with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free