mcpField
L
LiteAPI MCP Server

LiteAPI MCP Server

ローカル
github.com/liteapi-travelメディア・デザイン41 週間前に更新

LiteAPI MCP Server について

LiteAPI MCP Serverは、LiteAPIの旅行関連エンドポイントをMCPクライアントに公開します。OpenAPI仕様から型付きツールを生成し、検索、予約、バウチャー、分析などのAPIモジュールを扱います。

主な機能

  1. 01OpenAPI仕様からツールを生成
  2. 02複数のLiteAPIモジュールに対応
  3. 03Zodによるスキーマ検証
  4. 04APIキー認証

活用シーン

  1. 01MCPクライアントからホテル料金を検索
  2. 02LiteAPIのエンドポイントで予約を作成
  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

使用方法

サーバーの起動

サーバーは MCP 通信に stdio(標準入出力)を使用して実行されます:

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 では、次の操作ができます:

    • Tools タブ:利用可能なすべてのツール、その説明、入力スキーマを確認できます
    • ツールのテスト:任意のツールをクリックし、サンプルパラメーターでテストできます
    • 応答の表示: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"
      }
    }
  }
}

重要:

  • ES モジュールが正しく動作するように、dist/index.js ではなく run-mcp-server.mjs を使用してください
  • /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 ラッパースクリプトを使うと、Claude Desktop から実行する際に Node.js が 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 サーバー:このリポジトリで Issue を作成してください
  • LiteAPI:LiteAPI サポートにお問い合わせください

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。