Tripmatch MCP 开发者文档

服务端点
https://ai.variflight.com/servers/tripmatch/mcp
鉴权方式
请求头 X-API-Key(或 X-VARIFLIGHT-KEY / URL 参数 ?api_key=)

01

概述

Tripmatch MCP 面向中长距离跨城出行场景,在民航数据之外整合铁路时刻、余票与空铁联运中转方案,共 9 个工具。任何支持 MCP 的客户端或智能体框架——Claude Code、Codex CLI、Cursor、Claude Desktop,或使用官方 MCP SDK 自建的 Agent——都可以通过一个 URL 直接接入。

服务同时支持两种接入形态:MCP streamable HTTP(推荐,无状态、JSON 响应,协议版本 2025-03-26,无需本地进程)与 stdio(通过官方 npm 包在本地运行);另提供 OAuth 2.1 授权(PKCE + 动态客户端注册)供支持该流程的客户端使用。

02

快速开始

1

获取 API Key

注册并登录控制台,在「API Keys」页创建密钥。新用户注册即赠 50 元体验额度,无需充值即可开始调用。密钥仅在创建时完整显示一次,请妥善保存。 前往控制台创建 →

2

在客户端中添加服务

从下方「客户端接入」选择你使用的工具,把配置中的 YOUR_API_KEY 替换为你的密钥。添加完成后,客户端会自动发现全部工具。

3

开始对话

直接用自然语言向你的智能体提问,它会自行选择合适的工具并组合调用。试试这个提示词:

PROMPT
下周五从合肥去北京,帮我对比高铁和飞机方案(时间、价格、余票),如果直达不理想,给出空铁联运的中转建议。

03

客户端接入

推荐使用 API Key 方式接入(以下配置均已实测)。支持 OAuth 授权流程的客户端也可以不带 Key 直接添加 URL,按提示登录平台账号完成授权;access token 有效期 1 小时,由客户端通过 refresh token 自动续期,无需重复登录。无人值守的自动化任务建议使用 API Key。

Claude Code

终端执行一条命令:

TERMINAL
claude mcp add --transport http variflight-tripmatch https://ai.variflight.com/servers/tripmatch/mcp \
  --header "X-API-Key: YOUR_API_KEY"

Codex CLI

在 ~/.codex/config.toml 中添加(也可用 codex mcp add 交互式添加):

~/.codex/config.toml
[mcp_servers.variflight_tripmatch]
url = "https://ai.variflight.com/servers/tripmatch/mcp"
http_headers = { "X-API-Key" = "YOUR_API_KEY" }

Cursor

在项目 .cursor/mcp.json 或全局 ~/.cursor/mcp.json 中添加:

.cursor/mcp.json
{
  "mcpServers": {
    "variflight-tripmatch": {
      "url": "https://ai.variflight.com/servers/tripmatch/mcp",
      "headers": { "X-API-Key": "YOUR_API_KEY" }
    }
  }
}

Claude Desktop

在 claude_desktop_config.json 的 mcpServers 中通过 mcp-remote 桥接:

claude_desktop_config.json
{
  "mcpServers": {
    "variflight-tripmatch": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://ai.variflight.com/servers/tripmatch/mcp",
        "--header", "X-API-Key: YOUR_API_KEY"
      ]
    }
  }
}

通用 HTTP / 自建 Agent

任意语言直接调用 streamable HTTP 端点(官方 MCP SDK 均支持远程 HTTP server,也可裸调 JSON-RPC):

CURL
curl -X POST https://ai.variflight.com/servers/tripmatch/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

npm 包(stdio)

偏好本地 stdio 传输、或客户端不支持远程 HTTP 时,使用官方 npm 包(Aviation 对应 @variflight-ai/variflight-mcp,Tripmatch 对应 @variflight-ai/tripmatch-mcp),工具集与远程服务一致:

claude_desktop_config.json
{
  "mcpServers": {
    "variflight-tripmatch": {
      "command": "npx",
      "args": ["-y", "@variflight-ai/tripmatch-mcp"],
      "env": { "VARIFLIGHT_API_KEY": "YOUR_API_KEY" }
    }
  }
}

04

工具参考

参数标 * 为必填。机场/城市代码一律使用 IATA 三字码(城市如 BJS、SHA,机场如 PEK、PVG),日期格式 YYYY-MM-DD;火车相关工具的城市与车站使用中文名称。

航班列表与中转方案类工具(Aviation 的 searchFlightsByDepArr、getFlightTransferInfo,Tripmatch 的 searchFlightsByDepArr、getFlightAndTrainTransferInfo)支持可选参数 limit、offset、detail,远程服务与 npm 包 1.1.0 及以上版本均支持:limit 限制返回条数;offset 跳过前若干条用于翻页,取上次返回的 next_offset;detail 取 summary 时仅返回核心字段,取 full(默认)时返回全部字段。传入任一参数时,返回中附带 total、offset、returned 与 next_offset;均不传时返回格式不变。每页按一次调用计费。远程服务地址追加 ?profile=compact 时,上述工具默认按 summary 返回前 20 条。

searchFlightsByDepArr50 积分/次

按出发地、到达地和日期查询直飞航班(含机型、计划/实际起降时间、值机柜台等)。城市用 depcity/arrcity,机场用 dep/arr,同侧不要混用。

date* dep|depcity arr|arrcity limit offset detail

searchFlightsByNumber50 积分/次

按航班号(含航司二字码,如 MU2157)和日期查询航班详情。

fnum* date* dep arr

getFlightAndTrainTransferInfo25 积分/次

按出发城市、到达城市和日期查询空铁联运中转方案(航班 + 火车组合)。

depcity* arrcity* depdate* limit offset detail

flightHappinessIndex25 积分/次

查询指定航班的舒适度信息:准点率、机型座椅、餐食娱乐、行李额等。

fnum* date* dep arr

getTodayDate免费

获取今天的日期(本地计算,避免模型硬编码日期出错)。

—

getFutureWeatherByAirport10 积分/次

按机场三字码查询未来三天的机场天气预报。

airport*

searchTrainTickets25 积分/次

按出发城市、到达城市(中文名)和日期查询火车票时刻与余票。

from_city* to_city* date*

getFlightPriceByCities25 积分/次

返回两城之间在售航班的结构化票价数据(逐航班、逐舱位)。

dep_city* arr_city* dep_date*

searchTrainStations5 积分/次

按关键词模糊搜索火车站(返回站名、站码、所在城市)。

query*

05

计费说明

以积分计费,1 积分 = 0.01 元(人民币 1 分)。每次工具调用按上表单价从账户余额扣减,先扣赠送额度(按到期时间先后),再扣充值余额。

协议层调用(initialize、tools/list 等)与 getTodayDate 免费;调用失败(上游错误、超时)不扣费。

新用户注册赠送 50 元体验额度;充值另赠 4 倍等值使用额度(30 天有效)。支持支付宝与国际卡(Stripe)充值。

账户总余额大于 0 即可调用;余额耗尽后调用返回 403,请前往控制台充值。

06

注意事项

日期与代码格式

日期必须为 YYYY-MM-DD;机场/城市使用 IATA 三字码。建议智能体先调用 getTodayDate 获取当前日期,再计算「明天」「下周五」等相对日期,避免模型凭记忆硬编码。

调用超时

单次工具调用超时上限约 30 秒。航班列表与中转方案类查询在热门航线上数据量较大,建议使用 limit 与 detail 参数控制返回规模,或连接 ?profile=compact 地址。

错误的返回形式

工具执行失败时返回以 Error executing tool 开头的文本内容(而非协议级错误),智能体一般能自行识别并重试或修正参数。

API Key 安全

Key 等同账户余额的使用权,请勿提交到公开仓库或暴露在前端代码中。泄露时请立即在控制台撤销并重建。

OAuth 授权说明

OAuth 2.1(授权码 + PKCE + 动态客户端注册)可用于支持该流程的客户端。access token 有效期 1 小时,到期由客户端使用 refresh token 自动换取新令牌;refresh token 有效期 30 天,每次续期后更换为新令牌,连续 30 天未使用需重新授权。无人值守的自动化任务建议使用 API Key。

调用返回 401 / 403 是什么意思?

401 表示未携带或携带了无效的 API Key,请检查 X-API-Key 请求头,并到控制台"密钥"页核对;403 通常是余额不足(请到"充值"页充值),也可能是 Key 或账号已停用。错误信息中会附带具体原因与处理链接。