LiteAPI MCP Server について
LiteAPI MCP Serverは、LiteAPIの旅行関連エンドポイントをMCPクライアントに公開します。OpenAPI仕様から型付きツールを生成し、検索、予約、バウチャー、分析などのAPIモジュールを扱います。
主な機能
- 01OpenAPI仕様からツールを生成
- 02複数のLiteAPIモジュールに対応
- 03Zodによるスキーマ検証
- 04APIキー認証
活用シーン
- 01MCPクライアントからホテル料金を検索
- 02LiteAPIのエンドポイントで予約を作成
- 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 キー
インストール
- リポジトリをクローンし、依存関係をインストールします:
npm install
- TypeScript コードをビルドします:
npm run build
- 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 を使わずにツールを調べたり、呼び出しをテストしたり、デバッグしたりするのに最適です。
- 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
-
Inspector では、次の操作が行われます:
http://localhost:6274でブラウザーウィンドウを開きます- ポート 6277 でプロキシサーバーを起動します
- スキーマとともに利用可能なすべてのツールを表示します
- ツールの呼び出しを対話的にテストできます
- リアルタイムの通知と応答を表示します
-
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 に接続する
- プロジェクトの絶対パスを取得します:
# macOS/Linux
pwd
# Output: /Users/nicholas/Documents/nuitee/liteapi/mcp-server
# Windows (PowerShell)
(Get-Location).Path
-
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 オブジェクト
{}を記述して作成します。 - macOS:
-
サーバーの設定を追加します:
{
"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 がプロジェクトのルートディレクトリから実行するようにしてください。
-
Claude Desktop を完全に再起動します(終了してから再度開きます)
-
接続を確認します:
- Claude Desktop を開きます
- 新しい会話を開始します
- MCP ツールのインジケーターを探します(通常、利用可能なツールが表示されます)
- 「利用可能な LiteAPI ツールは何ですか?」または「パリのホテルを検索して」と尋ねてみます
接続の問題のトラブルシューティング
Claude Desktop がサーバーを認識しない場合:
-
パスが正しいことを確認します:
# 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 -
Claude Desktop のログを確認します:
- macOS:
~/Library/Logs/Claude/claude_desktop.log - Windows:
%APPDATA%\Claude\logs\ - MCP サーバーの起動に関連するエラーを探します
- macOS:
-
JSON の構文を確認します:
# Validate JSON syntax cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | python3 -m json.tool -
サーバーを手動でテストします:
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" -
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 仕様の追加
- OpenAPI 仕様の JSON ファイルを
openapi-schemas/に追加します - 必要に応じて、
src/utils/openapi-parser.tsのspecFiles配列を更新します - サーバーを再ビルドして再起動します
環境変数
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 サポートにお問い合わせください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。