mcpField
L
LiteAPI MCP Server

LiteAPI MCP Server

本地服务
github.com/liteapi-travel媒体与设计41 周前更新

关于 LiteAPI MCP Server

LiteAPI MCP Server 将 LiteAPI 旅游接口开放给 MCP 客户端。它根据 OpenAPI 规范生成类型化工具,涵盖搜索、预订、凭证、分析等 API 模块。

主要功能

  1. 01根据 OpenAPI 规范生成工具
  2. 02支持多个 LiteAPI 模块
  3. 03使用 Zod 校验架构
  4. 04通过 API 密钥认证

适用场景

  1. 01通过 MCP 客户端搜索酒店价格
  2. 02使用 LiteAPI 接口创建预订
  3. 03调用凭证和忠诚度操作

MCP 相关

该服务将 LiteAPI 端点作为 MCP 工具开放,并根据 OpenAPI 规范生成工具名称、说明和经过校验的参数。它通过 stdio 通信,也提供 Streamable HTTP 端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

LiteAPI MCP 服务

使用 Next.js 和 mcp-handler(Streamable HTTP)的 LiteAPI MCP 服务。部署到 Vercel。

快速开始

npm install
npm run dev

MCP 端点:http://localhost:3000/api/mcp

ChatGPT 设置

将其添加到 ChatGPT MCP 服务 URL:

https://mcp.liteapi.travel/api/mcp?apiKey=YOUR_LITEAPI_KEY

或者在 Vercel 环境变量中设置 LITEAPI_API_KEY,以进行单租户部署。


功能

  • 🔄 动态生成工具:根据 OpenAPI 规范自动生成 MCP 工具
  • 📚 多个 API 模块:支持 Search、Booking、Vouchers、Analytics、Static、Loyalty 和 Supply Customization API
  • 🔐 API 密钥身份验证:通过环境变量安全管理 API 密钥
  • 🎯 类型安全:使用 Zod 进行模式验证和类型安全检查
  • 🚀 轻松集成:兼容 Claude Desktop 和其他 MCP 客户端

前提条件

  • Node.js 18+
  • npm 或 yarn
  • LiteAPI API 密钥

安装

  1. 克隆仓库并安装依赖项:
npm install
  1. 构建 TypeScript 代码:
npm run build
  1. 将 LiteAPI API 密钥设为环境变量:
export LITEAPI_API_KEY=your_api_key_here

使用方法

运行服务

服务通过 stdio(标准输入/输出)进行 MCP 通信:

npm start

或者在开发模式下运行并自动重新加载:

npm run dev

测试

快速测试

测试服务是否正常运行:

export LITEAPI_API_KEY=your_api_key_here
npm test

这将连接到服务并列出所有可用工具。

选项 1:使用 MCP Inspector(推荐用于开发)

MCP Inspector 是一款基于浏览器的工具,可用于测试和调试 MCP 服务。它非常适合检查工具、测试调用,以及在不需要 Claude Desktop 的情况下进行调试。

  1. 安装并运行 MCP Inspector:
# Make sure your API key is set
export LITEAPI_API_KEY=your_api_key_here

# Run the inspector (it will automatically start your server)
npm run inspect
# Or directly:
npx @modelcontextprotocol/inspector node dist/index.js
  1. Inspector 将会:

    • 在 http://localhost:6274 打开浏览器窗口
    • 在端口 6277 上启动代理服务
    • 显示所有可用工具及其架构
    • 允许你交互式测试工具调用
    • 实时显示通知和响应
  2. 在 Inspector UI 中,你可以:

    • 工具选项卡:查看所有可用工具、说明和输入架构
    • 测试工具:点击任意工具,使用示例参数进行测试
    • 查看响应:查看 API 调用返回的格式化 JSON 响应
    • 调试:检查错误和验证问题

**注意:**使用 MCP Inspector 需要安装 Node.js 22.7.5+(使用 node --version 检查)。

选项 2:使用简单的客户端脚本进行测试

创建测试脚本以验证服务是否正常运行:

# Create test-client.js
cat > test-client.js << 'EOF'
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';

async function test() {
  const transport = new StdioClientTransport({
    command: 'node',
    args: ['dist/index.js'],
    env: { LITEAPI_API_KEY: process.env.LITEAPI_API_KEY }
  });

  const client = new Client({
    name: 'test-client',
    version: '1.0.0'
  }, {
    capabilities: {}
  });

  await client.connect(transport);

  // List all available tools
  const tools = await client.listTools();
  console.log(`Found ${tools.tools.length} tools:`);
  tools.tools.forEach(tool => {
    console.log(`  - ${tool.name}: ${tool.description}`);
  });

  await client.close();
}

test().catch(console.error);
EOF

# Run the test
export LITEAPI_API_KEY=your_api_key_here
node test-client.js
选项 3:连接到 Claude Desktop
  1. 获取项目的绝对路径:
# macOS/Linux
pwd
# Output: /Users/nicholas/Documents/nuitee/liteapi/mcp-server

# Windows (PowerShell)
(Get-Location).Path
  1. 打开 Claude Desktop 配置文件:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
    • Linux:~/.config/Claude/claude_desktop_config.json

    如果文件不存在,请创建该文件,并写入一个空 JSON 对象:{}

  2. 添加服务配置:

{
  "mcpServers": {
    "liteapi": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server/run-mcp-server.mjs"],
      "env": {
        "LITEAPI_API_KEY": "your_api_key_here"
      }
    }
  }
}

重要:

  • 使用 run-mcp-server.mjs,而不是 dist/index.js,以确保 ES 模块正常工作
  • 将 /absolute/path/to/mcp-server 替换为此项目的实际绝对路径
  • 将 your_api_key_here 替换为你的 LiteAPI API 密钥
  • 在 Windows 上,路径中使用正斜杠 / 或转义后的反斜杠 \\

macOS 示例:

{
  "mcpServers": {
    "liteapi": {
      "command": "node",
      "args": ["/Users/nicholas/Documents/nuitee/liteapi/mcp-server/run-mcp-server.mjs"],
      "env": {
        "LITEAPI_API_KEY": "sand_c0155ab8-c683-4f26-8f94-b5e92c5797b9"
      }
    }
  }
}

注意:.mjs 包装脚本可确保 Node.js 从 Claude Desktop 运行时正确识别 ES 模块。如果希望直接使用 dist/index.js,请确保 Claude Desktop 从项目根目录运行该文件。

  1. 完全重启 Claude Desktop(退出后重新打开)

  2. 验证连接:

    • 打开 Claude Desktop
    • 开始新对话
    • 查找 MCP 工具指示器(通常会显示可用工具)
    • 尝试询问:“有哪些 LiteAPI 工具可用?”或“搜索巴黎的酒店”
连接问题排查

如果 Claude Desktop 无法识别服务:

  1. 检查路径是否正确:

    # Test that the file exists and is executable
    ls -la /absolute/path/to/mcp-server/dist/index.js
    node /absolute/path/to/mcp-server/dist/index.js
    
  2. 检查 Claude Desktop 日志:

    • macOS:~/Library/Logs/Claude/claude_desktop.log
    • Windows:%APPDATA%\Claude\logs\
    • 查找与 MCP 服务启动相关的错误
  3. 验证 JSON 语法:

    # Validate JSON syntax
    cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | python3 -m json.tool
    
  4. 手动测试服务:

    export LITEAPI_API_KEY=your_api_key_here
    node dist/index.js
    # Should output: "Loaded X endpoints from Y OpenAPI specs"
    # Should output: "LiteAPI MCP Server running on stdio"
    
  5. 检查 Node.js 版本:

    node --version
    # Should be 18.0.0 or higher
    
可用工具

服务会自动从 openapi-schemas/ 目录中的所有 OpenAPI 规范生成工具。每个端点都会成为可调用的 MCP 工具,并包含:

  • 作为工具名称的 Operation ID
  • 来自 OpenAPI 规范的 描述
  • 自动提取并验证的 参数

工具示例包括:

  • post_hotels_rates - 搜索酒店价格
  • get_prebooks_{prebookId} - 获取预订详情
  • post_bookings - 创建预订
  • 以及更多……

项目结构

.
├── src/
│   ├── index.ts              # Entry point
│   ├── server.ts              # Main MCP server implementation
│   └── utils/
│       ├── openapi-parser.ts  # OpenAPI spec parsing
│       ├── schema-converter.ts # OpenAPI to Zod conversion
│       └── api-client.ts      # HTTP client for API calls
├── openapi-schemas/           # OpenAPI specification files
├── dist/                      # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md

开发

构建
npm run build
监视更改
npm run watch
添加新的 OpenAPI 规范
  1. 将 OpenAPI 规范 JSON 文件添加到 openapi-schemas/
  2. 如有需要,更新 src/utils/openapi-parser.ts 中的 specFiles 数组
  3. 重新构建并重启服务

环境变量

  • LITEAPI_API_KEY(必需):用于身份验证的 LiteAPI API 密钥

API 模块

该服务支持以下 LiteAPI 模块:

  • 搜索(search.json)- 酒店搜索和价格查询
  • 预订(booking.json)- 预订管理和预订前操作
  • 代金券(voucher.json)- 代金券创建和管理
  • 分析(analytics.json)- 分析和报告
  • 静态数据(static.json)- 静态数据端点
  • 忠诚度(loyalty.json)- 忠诚度计划操作
  • 供应定制(supplyCustomization.json)- 供应定制

错误处理

该服务包含全面的错误处理:

  • 启动时会捕获缺失的 API 密钥
  • 无效的工具调用会返回描述性错误消息
  • API 请求失败会经过适当格式化后返回

许可证

MIT

支持

如有以下相关问题:

  • MCP 服务:在此代码库中提交问题
  • LiteAPI:联系 LiteAPI 支持团队

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。