MAQAMI Travel について
MAQAMI Travelは、旅行や予約のワークフロー向けMCPサーバーです。ホテルと航空券をリアルタイム検索し、選んだプランのチェックアウトリンクを返します。予約と支払いはMAQAMIのウェブサイトで行います。
主な機能
- 01ホテル料金のリアルタイム検索
- 02航空券のリアルタイム検索
- 03都市・空港・ホテル情報の検索
- 04プランの仮予約とチェックアウトリンクの発行
- 05APIキー不要
活用シーン
- 01旅行先のホテル候補探し
- 02利用可能な航空便の比較
- 03ホテルの設備やレビューの確認
- 04選んだプランをMAQAMIのチェックアウトへ引き継ぎ
MCP 対応
MCPクライアントに、ホテル・航空券の検索、詳細確認、空き状況の検証、仮予約のツールを提供します。Streamable HTTPで接続でき、stdioのみ対応するクライアント向けにnpmのブリッジもあります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.maqami.co/claude mcp add --transport http negm17111995 https://mcp.maqami.co/{"mcpServers":{"negm17111995":{"type":"http","url":"https://mcp.maqami.co/"}}}Cursor で開く{"servers":{"negm17111995":{"type":"http","url":"https://mcp.maqami.co/"}}}VS Code で開く{"mcpServers":{"negm17111995":{"type":"http","url":"https://mcp.maqami.co/"}}}{"mcpServers":{"negm17111995":{"serverUrl":"https://mcp.maqami.co/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
41| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| zip | string | いいえ | 検索場所の郵便番号です。メインクエリに追加するフィルターです。 |
| feed | string | いいえ | 検索する料金フィードです。未設定の場合はデフォルトのフィードが使用されます。 |
| sort | array | いいえ | 結果の並べ替え条件です。複数の条件を指定でき、指定順に処理されます。デフォルトではおすすめ順(検索人気度、レビュー品質、コンテンツの充実度に基づく重み付け)です。過去の予約金額と収益実績で並べ替えるには 'revenue' を使用します。 |
| limit | integer | いいえ | 返す結果の最大数です。デフォルトは 200、最大値は 5000 です。 |
| offset | integer | いいえ | ページネーションでスキップする結果数です。このページネーションは返された結果ではなく、渡されたホテルを対象とするため、実際に返される結果数は変動します。 |
| radius | integer | いいえ | 位置ベース検索の半径をメートル単位で指定します。緯度と組み合わせて緯度・経度検索を行います。 |
| stream | boolean | いいえ | true の場合、ストリーミングモードが有効になり、レスポンスデータは単一のペイロードではなく、段階的に送信されます。 |
| checkin | string | はい | チェックイン日。形式は YYYY-MM-DD(ISO 8601)です。 |
| placeId | string | いいえ | 検索場所の一意の Place ID です。ホテル ID の代わりに Place ID を渡すと、指定地域内のすべてのホテルを取得できます。これは有効なメインクエリです。 |
| timeout | integer | いいえ | リクエストがタイムアウトするまでの最大時間を秒単位で指定します。この時間になると、料金のライブリクエストへのレスポンスが打ち切られます。値が返るまでにはさらに数ミリ秒かかります。 |
| aiSearch | string | いいえ | 自然言語クエリに基づく AI ホテル検索です。セマンティック検索を使用して、クエリの意図に合ったホテルを見つけます。例:'Romantic getaway with Italian vibes in London near the London Eye'、'hotels near Paris'。これは有効なメインクエリです。 |
| bedTypes | array | いいえ | 客室名から抽出されたベッドタイプで結果を絞り込みます。指定したベッドタイプに一致する客室の料金のみが返されます。値の例:'double'、'twin'、'king'、'queen'、'single'。 |
| chainIds | array | いいえ | 検索結果の絞り込みに使用するホテルチェーン ID の配列です。メインクエリに追加するフィルターです。 |
| checkout | string | はい | チェックアウト日。形式は YYYY-MM-DD(ISO 8601)です。 |
| cityName | string | いいえ | ホテルを検索する都市名です。countryCode と組み合わせて国/都市検索を行います。 |
| currency | string | はい | 価格の表示に使用する通貨。 |
| hotelIds | array | いいえ | 空室状況と料金の検索に使用するホテル ID の配列。`get_data_hotels` または `get_data_hotel_search` から取得してください。 |
| iataCode | string | いいえ | 検索場所の IATA コード。通常は空港コードです。ホテル ID の代わりに IATA コードで検索できます。これは有効なメインクエリです。 |
| latitude | number | いいえ | 位置に基づいてホテルを検索するための緯度座標。ホテル ID の代わりに、緯度/経度とその地点を中心とする半径を指定して検索できます。これは有効なメインクエリです。 |
| boardType | string | いいえ | 食事タイプで結果を絞り込みます。単一の値(例:'BI')またはカンマ区切りの値(例:'BI,HB')を指定でき、OR 条件で適用されます。値の例:RO(食事なし)、BI(朝食付き)、HB(2食付き)、FB(3食付き)、AI(オールインクルーシブ)、DI(夕食付き)、LI(昼食付き)、BDI(朝食・夕食付き)、BLI(朝食・昼食付き)、LDI(昼食・夕食付き)。 |
| hotelName | string | いいえ | ホテル名を大文字と小文字を区別せずに検索します(例:'Hilton')。 |
| longitude | number | いいえ | 位置に基づいてホテルを検索するための経度座標。緯度と組み合わせて緯度/経度検索を行います。 |
| minRating | number | いいえ | 検索結果に含めるホテルの最低評価(0~5 段階)。メインクエリに追加するフィルターです。 |
| sessionId | string | いいえ | ユーザーの検索セッションで料金の一貫性を確保するための、任意のクライアント生成セッション識別子です。セッション内の関連リクエストでは、同じ `sessionId`、`checkin`、`checkout` を渡してください。 |
| facilities | array | いいえ | 施設 ID の配列。デフォルトでは、これらの施設のうち少なくとも 1 つを備えたホテルが結果に含まれます。メインクエリに追加するフィルターです。 |
| starRating | array | いいえ | 含めるホテルの星評価の配列。評価は最も近い半星単位に丸められます(例:[3.5, 4.0, 4.5, 5.0])。メインクエリに追加するフィルターです。 |
| countryCode | string | いいえ | ISO 2 文字形式の国コード(例:シンガポールは 'SG')。ホテル ID の代わりに国または都市で検索できます。これは有効なメインクエリです。 |
| occupancies | array | はい | 各客室の宿泊人数を指定するオブジェクトの配列。必須です。 |
| roomMapping | boolean | いいえ | 客室マッピングを有効にして、各客室の mappedRoomId を取得します。ホテルの詳細と組み合わせることで、料金を特定の客室に関連付け、客室画像や追加情報にアクセスできます。 |
| hotelTypeIds | array | いいえ | 検索結果を絞り込むホテルタイプ ID の配列です。メインクエリに追加するフィルターです。 |
| roomAmenities | array | いいえ | 旧式の客室レベルのアメニティフィルターです。指定したアメニティに一致する客室の料金のみを返します。amenityFilterLogic でフラットな AND/OR 条件を制御します。roomAmenitiesFilter が指定されている場合は、そちらが優先されます。 |
| loyaltyProgram | string | いいえ | 対応するサプライヤーにロイヤルティプログラム対象料金をリクエストするための識別子です。設定すると、プログラムに対応した料金で会員価格や特典が返される場合があります。 |
| minReviewsCount | integer | いいえ | 結果に含めるホテルに必要な最低レビュー件数です。メインクエリに追加するフィルターです。 |
| guestNationality | string | はい | 宿泊者の国籍を ISO 2 文字の国コード形式で指定します。 |
| includeHotelData | boolean | いいえ | `true` の場合、ホテル ID を直接指定して検索する場合でも、レスポンスにホテルデータ(名前、メイン写真、住所、評価)が含まれます。デフォルトでは、フィルターを使用した検索(`aiSearch`、`countryCode`、`cityName` など)の場合にのみホテルデータが含まれます。これを `true` に設定すると、すべての検索タイプでホテルデータが含まれます。 |
| maxRatesPerHotel | integer | いいえ | ホテルごとに返す料金の数です。価格の安い順に並びます。1 に設定すると、各ホテルの最安料金のみを取得できます。これは一覧ページに便利です。料金タイプが不足している場合は値を増やしてください。上限は客室のマッピング前に適用される点にご注意ください。 |
| amenityFilterLogic | enum | いいえ | roomAmenities に適用される旧形式のロジックです。'AND':客室に指定されたすべての設備が必要です。'OR':客室に指定された設備が少なくとも 1 つ必要です。roomAmenitiesFilter が指定されている場合は無視されます。AND | OR |
| refundableRatesOnly | boolean | いいえ | true の場合、返されるのは返金可能な料金(RFN)のみです。 |
| roomAmenitiesFilter | string | いいえ | 客室レベルの設備をグループで絞り込みます。グループ内の OR には '-'、グループ間の AND には ',' を使用します。例:'1-2,3-4' は (1 OR 2) AND (3 OR 4) を意味します。このフィールドを指定すると、roomAmenities と amenityFilterLogic より優先されます。 |
| loyaltyProgramDetails | array | いいえ | 会員料金や特典を利用するため、対応するサプライヤーに転送されるロイヤルティプログラムの会員情報です。ロイヤルティプログラムの会員資格ごとに 1 件指定してください。 |
| strictFacilityFiltering | boolean | いいえ | 有効にすると、指定されたすべての設備を備えたホテルのみを返します。 |
| advancedAccessibilityOnly | boolean | いいえ | true の場合、高度なアクセシビリティ機能を備えたホテルのみを返します。 |
詳細
MAQAMI トラベル MCP サーバー
MAQAMI 公式 MCP サーバーです。MAQAMI は 300 万件以上のホテルを扱う、ホテルと航空券の予約プラットフォームです。ホテルの最新料金や航空券を検索し、都市、空港、ホテルの詳細を調べたうえで、お客様が選んだ部屋または運賃の予約用セキュアチェックアウトリンクを book.maqami.co でお客様に送信できます。リモート Streamable HTTP エンドポイントで、API キーは不要です。
https://mcp.maqami.co/
クイックスタート
お使いのクライアントを選択してください。各行の設定だけで接続できます。詳しい手順は接続をご覧ください。
| クライアント | 最速の接続方法 |
|---|---|
| Claude Code | claude mcp add --transport http maqami-travel https://mcp.maqami.co/ |
| Claude Desktop(ワンクリック) | maqami-travel.mcpb をダウンロードして開きます(手順) |
| 任意の stdio クライアント(npm) | サーバーコマンドとして npx -y maqami-travel を使用します(設定)。Node.js 18 以降 |
| claude.ai、Claude Desktop、Claude モバイル | カスタマイズ → コネクタ → カスタムコネクタを追加を選択し、URL https://mcp.maqami.co/ を指定します。サインイン不要。Free プランでも利用できます(手順) |
| Cursor | Cursor に追加(ワンクリック)、または mcp.json に "maqami-travel": { "url": "https://mcp.maqami.co/" } を追加します |
| VS Code | VS Code にインストール(ワンクリック)、または code --add-mcp '{"name":"maqami-travel","type":"http","url":"https://mcp.maqami.co/"}' を実行します |
| Windsurf | mcp_config.json に "maqami-travel": { "serverUrl": "https://mcp.maqami.co/" } を追加します |
| Gemini CLI | gemini extensions install https://github.com/negm17111995/mcp-server |
| OpenAI Codex | codex mcp add maqami-travel --url https://mcp.maqami.co/ |
| ChatGPT | 開発者モード → URL https://mcp.maqami.co/ のアプリを作成し、認証なしを選択します(手順とプラン) |
| OpenAI Agents SDK | MCPServerStreamableHttp(name="MAQAMI Travel", params={"url": "https://mcp.maqami.co/"}) |
| LangChain | langchain.mcp の MCPAdapter("https://mcp.maqami.co/") を使用します(例) |
| n8n | MCP Client Tool ノードを使用し、エンドポイントに https://mcp.maqami.co/ を指定します。HTTP Streamable、認証なし(手順) |
| Cline | MCP サーバー → リモートサーバーを選択し、URL https://mcp.maqami.co/、Streamable HTTP を指定します |
| LM Studio | mcp.json に "maqami-travel": { "url": "https://mcp.maqami.co/" } を追加するか、インストールリンクを使用します |
| 予約スキルのみ(Claude Code、Codex、Cursor、その他スキル対応エージェント) | npx skills add negm17111995/mcp-server |
| その他のクライアント | 認証なしの https://mcp.maqami.co/ で Streamable HTTP を使用するか、stdio のみ対応するクライアントでは npx -y maqami-travel を使用します |
次のように試してみてください。「リスボンで、5 月 12 日から 15 日まで、大人 2 名で泊まれる 4 つ星ホテルを探してください。」
目次
接続
サーバーは https://mcp.maqami.co/ でホストされており、Streamable HTTP トランスポートを使用します。インストールや API キーの設定は不要です。
Claude(claude.ai と Claude Desktop)
MAQAMI をカスタムコネクターとして追加します。
- カスタマイズ → コネクター に移動します。
- + 追加 をクリックし、カスタムコネクターを追加 を選択します。
- 名前に
MAQAMI Travel、URL にhttps://mcp.maqami.co/を入力し、続行 をクリックします。 - 認証 で サインインしない を選択し、追加 をクリックします。
Free を含むすべての Claude プランで利用できます。Free アカウントでは、同時に使用できるカスタムコネクターは 1 つです。
Team プランと Enterprise プランでは、先にオーナーが 組織の設定 → コネクター でコネクターを追加します。
Claude Desktop 拡張機能
macOS、Windows、Linux の Claude Desktop にワンクリックでインストールできます。カスタムコネクターの枠を使用しないため、すでにカスタムコネクターを 1 つ使用している Free アカウントにも適しています。
maqami-travel.mcpbをダウンロードします。- ファイルを開くか、Claude Desktop の 設定 → 拡張機能 にドラッグします。
- インストール をクリックします。
この拡張機能は npm パッケージと同じ stdio ブリッジを実行し、https://mcp.maqami.co/ に接続します。Claude Desktop には Node.js が含まれているため、ほかにインストールするものはありません。
Claude Code
claude mcp add --transport http maqami-travel https://mcp.maqami.co/
または、サーバーと、検索から確認、チェックアウトリンクの表示まで Claude を案内する予約スキルを追加するプラグインをインストールします。
/plugin marketplace add negm17111995/mcp-server
/plugin install maqami-travel@maqami
Cursor
~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト)に追加します。
{
"mcpServers": {
"maqami-travel": {
"url": "https://mcp.maqami.co/"
}
}
}
または、ワンクリックでインストールします:Cursor に追加。同じインストールをディープリンクから行う場合は、ブラウザーで次を開きます。
cursor://anysphere.cursor-deeplink/mcp/install?name=maqami-travel&config=eyJ1cmwiOiJodHRwczovL21jcC5tYXFhbWkuY28vIn0=
VS Code
ワークスペースの .vscode/mcp.json に追加します。
{
"servers": {
"maqami-travel": {
"type": "http",
"url": "https://mcp.maqami.co/"
}
}
}
または、VS Code にインストール からワンクリックでインストールするか、コマンドラインからユーザープロファイルに追加します。
code --add-mcp '{"name":"maqami-travel","type":"http","url":"https://mcp.maqami.co/"}'
Cline
Cline パネルで MCP サーバー → リモートサーバー を開き、URL https://mcp.maqami.co/ を入力して、Streamable HTTP を選択します。または、MCP 設定 JSON に追加します。
{
"mcpServers": {
"maqami-travel": {
"type": "streamableHttp",
"url": "https://mcp.maqami.co/"
}
}
}
LM Studio
LM Studio 0.3.17 以降では MCP サーバーを使用できます。右側のサイドバーにある Program タブを開き、Install → Edit mcp.json を選択して、次を追加します。
{
"mcpServers": {
"maqami-travel": {
"url": "https://mcp.maqami.co/"
}
}
}
または、ブラウザーで次のリンクを開いてインストールします。
lmstudio://add_mcp?name=maqami-travel&config=eyJ1cmwiOiJodHRwczovL21jcC5tYXFhbWkuY28vIn0%3D
ローカルモデルはコンテキストウィンドウが小さいため、不要なツールを無効にすることを検討してください(FAQ を参照)。
Windsurf
Cascade パネルの … メニューから mcp_config.json(Open MCP config file)を開き、次を追加します。
{
"mcpServers": {
"maqami-travel": {
"serverUrl": "https://mcp.maqami.co/"
}
}
}
現行リリースでは、ファイルは ~/.config/devin/mcp_config.json(macOS と Linux)または %APPDATA%\devin\mcp_config.json(Windows)にあります。旧リリースでは ~/.codeium/windsurf/mcp_config.json が使用されます。
ChatGPT
Plus、Pro、Business、Enterprise、Education アカウントでは、ウェブ上で開発者モードのアプリを利用できます。Free プランの ChatGPT に表示されるのは、アプリディレクトリで公開されたアプリのみです。
- 設定 → セキュリティとログイン を開き、開発者モード をオンにします。
- プラグイン を開き、+ ボタンを選択して、開発者モードのアプリを作成します。
- 名前に
MAQAMI Travel、URL にhttps://mcp.maqami.co/を入力し、認証なし を選択します。 - 会話で + メニューから 開発者モード を選択し、MAQAMI Travel を選びます。
OpenAI Codex
codex mcp add maqami-travel --url https://mcp.maqami.co/
または、~/.codex/config.toml に追加します。
[mcp_servers.maqami-travel]
url = "https://mcp.maqami.co/"
Gemini CLI
サーバーとそのコンテキストファイルを追加する拡張機能をインストールします。
gemini extensions install https://github.com/negm17111995/mcp-server
または、サーバーのみを追加します。
gemini mcp add --transport http maqami-travel https://mcp.maqami.co/
または、~/.gemini/settings.json に追加します。
{
"mcpServers": {
"maqami-travel": {
"httpUrl": "https://mcp.maqami.co/"
}
}
}
OpenAI Agents SDK(Python)
import asyncio
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp
async def main() -> None:
async with MCPServerStreamableHttp(
name="MAQAMI Travel",
params={"url": "https://mcp.maqami.co/"},
) as maqami:
agent = Agent(name="Travel assistant", mcp_servers=[maqami])
result = await Runner.run(agent, "Find 4-star hotels in Lisbon for 2 adults, 12 to 15 May.")
print(result.final_output)
asyncio.run(main())
LangChain(Python)
LangChain 1.x には、langchain.mcp の MCP サポート(ベータ版)が含まれています。pip install langchain langchain-openai でインストールします。
import asyncio
from langchain.agents import create_agent
from langchain.mcp import MCPAdapter
async def main() -> None:
async with MCPAdapter("https://mcp.maqami.co/") as maqami:
tools = await maqami.list_tools()
agent = create_agent("openai:gpt-5.4-mini", tools)
result = await agent.ainvoke(
{"messages": [{"role": "user", "content": "Which airports serve Tokyo?"}]}
)
print(result["messages"][-1].content)
asyncio.run(main())
事前予約を行う前に承認を求めるバージョンについては、travel-agent-examples/langchain-python をご覧ください。
n8n
- ワークフローに AI Agent ノードを追加します。
- Tools の下に MCP Client Tool ノードを追加します。
- エンドポイントに
https://mcp.maqami.co/を設定し、サーバーのトランスポートには HTTP Streamable(お使いの n8n のバージョンにこのオプションが表示される場合)を、認証には None を選択します。 - Tools to Include で、ワークフローに必要なツールを選択するか、All のままにします。
その他の Streamable HTTP クライアント
| 設定 | 値 |
|---|---|
| URL | https://mcp.maqami.co/ |
| トランスポート | Streamable HTTP |
| 認証 | None |
ローカル stdio(npm)
stdio サーバーのみをサポートするクライアント向けに、maqami-travel npm パッケージはリモートエンドポイントへのシンプルなブリッジとして機能します。予約処理をローカルで実行することはなく、認証情報も必要ありません。Node.js 18 以降が必要です。
{
"mcpServers": {
"maqami-travel": {
"command": "npx",
"args": ["-y", "maqami-travel"]
}
}
}
これは claude_desktop_config.json や、stdio サーバーを起動するその他のクライアントで動作します。
エージェントによるサーバーの利用方法
このサーバーは標準的な MCP サーバーです。すべてのツールには、入力用の JSON Schema と MCP アノテーションがあり、クライアントは読み取り専用ツール(readOnlyHint: true)と、変更を加えるツールを判別できます。
お客様は必ず MAQAMI のウェブサイト book.maqami.co で予約と支払いを行います。サーバーはホテルまたはフライトを検索し、価格を確保して、その選択内容に対応する checkoutUrl を返します。お客様はそこで宿泊者または搭乗者の詳細を入力し、支払いを済ませて確認を受け取ります。支払いを受け付けたり、支払い情報を尋ねたりするツールはありません。
ホテル予約の流れ
| ステップ | 内容 | ツール(例) |
|---|---|---|
| 1. 料金を検索 | 日程と宿泊者に応じた最新の料金です。checkin、checkout、occupancies、currency、guestNationality と、いずれか1つのロケーション項目(countryCode と組み合わせた cityName、latitude と longitude、iataCode、hotelIds、または aiSearch)が必要です。ホテル名で検索するには、hotelName と countryCode を指定して get_data_hotels を呼び出し、その後 hotelIds で検索します。各料金には offerId が付与されます。 | post_hotels_rates |
| 2. 詳細を表示 | ユーザーが関心を持っているホテルの説明、設備、写真、レビューです。 | get_data_hotel、get_data_reviews |
| 3. 確認 | ホテル、部屋、日程、宿泊者、料金、キャンセル条件をユーザーに表示し、明確な承諾を待ちます。 | (お使いのエージェント) |
| 4. 事前予約 | 検索結果で返された内容と完全に同じ offerId を1つ確保し、最終料金、キャンセル条件、checkoutUrl を含む prebookId を返します。 | post_rates_prebook |
| 5. チェックアウト | 宿泊者情報の入力と支払いのため、お客様に checkoutUrl(https://book.maqami.co/booking?prebookId=...)を案内します。 | (お使いのエージェント) |
フライト予約の流れ
| ステップ | 内容 | ツール(例) |
|---|---|---|
| 1. 空港を検索 | 都市を対応する IATA 空港コードに変換します。 | get_data_flights_airports |
| 2. フライトを検索 | 最新のオファーです。origin、destination、date を含む legs、adults、currency が必要です。片道は1区間、往復は2区間です。book.maqami.co で同じ検索を行うための searchUrl も返されます。 | post_flights_rates |
| 3. 確認 | offerId が引き続き利用可能か確認し、最新の料金、手荷物、運賃規則、そのオファーの checkoutUrl を返します。オファーには有効期限があります(expiration を参照)。利用できなくなっている場合は、再度検索してください。 | post_flights_verify |
| 4. 確認 | フライト、搭乗者、最終料金、運賃規則をユーザーに表示し、明確な承諾を待ちます。 | (お使いのエージェント) |
| 5. チェックアウト | 料金は限られた時間だけ確保されるため、お客様に checkoutUrl(https://book.maqami.co/flights/booking?offerId=...)を速やかに案内します。 | (お使いのエージェント) |
既存の予約
検索、変更、キャンセルの各ツールでは、予約 ID と予約時に使用したメールアドレスが必要です。サーバーは、両方が一致した場合にのみ予約を返したり変更したりします。各予約ツールには bookingId と email の両方を渡してください。顧客のホテル予約を検索するには、予約時に使用したメールアドレスと姓を指定して listBookings を呼び出します。このツールは、予約者のメールアドレスと姓の両方が一致する予約のみを返します。ホテル予約は cancel_hotel_booking でキャンセルし、フライトは post_flights_bookings_bookingid_cancellations でキャンセルします(事前に get_flights_bookings_bookingid_cancellations で返金見積もりを確認してください)。put_bookings_bookingid_amend は、ホテル予約の予約者名、メールアドレス、電話番号を修正します。予約に現在登録されている email と、修正後の holder(firstName、lastName、email、任意の phone)を指定します。
上記のツール名と必須フィールドは、2026 年 10 月にサーバーが公開した内容です。クライアントがサーバーから受け取るツール一覧が常に正しい情報源です。そこに記載されているツールのみが存在し、それ以外のツール名は拒否されます。ホテルの offerId はサーバーによって署名されています。返された値をそのまま渡し、拒否された場合は検索をやり直してください。
エージェントのベストプラクティス
- 不足している情報は推測せず、確認してください。 ホテルの場合は日程、宿泊人数、宿泊者の国籍、通貨を、フライトの場合は日程、搭乗者、通貨を確認します。
- ツールが返した内容だけを提示してください。 価格には通貨を併記し、利用可能な場合はキャンセル規定や運賃規則も示します。
- 読み取り専用ではない操作を行う前に、必ず確認してください。 Prebook は実際の料金を確保し、変更ツールとキャンセルツールは実際の予約を変更またはキャンセルします。まずユーザーに確認し、何が行われるのかを正確に示してください。
- ツールが返すリンクだけを送信してください。 Prebook または verify の
checkoutUrlを顧客に案内し、チャットでカード情報やパスポート情報を尋ねないでください。 - **Prebook または verify で価格や空き状況が変わった場合は、**新しい結果を提示して、もう一度確認してください。
- **宿泊者情報は予約に必要なものだけにとどめ、**ユーザーが選択肢を選んだ後にのみ送信してください。
- 応答は簡潔にしてください。 ホテル検索では
limitとmaxRatesPerHotelを、フライト検索ではfiltersを設定してください。get_data_facilities、get_data_chains、get_data_iatacodes、get_data_citiesは参照リスト全体を返すため、ID が必要なときにのみ呼び出してください。空港を検索するには、代わりにget_data_flights_airportsを使用してください。
例では、これを実現する方法の一例を示しています。読み取り専用ツールは自動的に実行され、それ以外のツールはすべてユーザーの承認を待ちます。
よくある質問
接続に API キーやアカウントは必要ですか? いいえ。エンドポイントは認証なしで接続を受け付けます。
顧客はどのように支払いますか?
支払いは MAQAMI のウェブサイト上でのみ行われます。ホテルを事前予約する場合、またはフライトを確認する場合、checkoutUrl はその部屋または運賃専用の book.maqami.co の URL として返されます。顧客はその URL を開き、宿泊者または搭乗者の情報を入力して安全に支払いを済ませると、そこで予約確認を受け取ります。MCP サーバーが支払いを受け付けることはありません。
チェックアウトリンクを開くと、実際の予約が作成されますか? はい。顧客が book.maqami.co でチェックアウトを完了すると予約が作成されます。支払いの前に、詳細と最終価格をご確認ください。
サーバーはどのトランスポートを使用しますか?
https://mcp.maqami.co/ の Streamable HTTP です。クライアントが stdio のみをサポートする場合は、maqami-travel npm bridge を使用してください。
クライアントにツールが多すぎるという警告が表示されます。どうすればよいですか? 必要なツールだけを有効にしてください。ほとんどのクライアントで設定できます。VS Code のツールピッカー、Cursor と Claude のツールごとの切り替え、n8n の Tools to Include などを利用できます。旅行アシスタントには、上の表にある検索、詳細、事前予約、確認のツールがよい出発点です。
サーバーには何が見えますか? MCP サーバーが受け取るのは、クライアントが送信するツール呼び出しと引数だけです。会話の残りの部分は見えません。
サーバーはどこに掲載されていますか?
公式 MCP Registry では io.github.negm17111995/maqami-travel として、npm では maqami-travel として掲載されています。また、Claude Desktop 拡張機能(maqami-travel.mcpb)でもあります。このリポジトリは、Gemini CLI 拡張機能(gemini-extension.json)、Claude Code プラグインおよびマーケットプレイス(.claude-plugin/)、Codex プラグイン(.codex-plugin/plugin.json)、Agent Plugins パッケージ(plugin.json および mcp.json)でもあります。プラグインには maqami-travel-booking スキルが同梱されています。掲載ディレクトリ: Smithery、Glama、Raycast の MCP Registry、ToolSDK MCP Registry、Hermes Agent プラグインカタログ。
自分のエージェントや製品で使用できますか? はい。公開エンドポイントです。上記の予約確認に関するガイダンスに従ってください。パートナーシップについては、[email protected] までお問い合わせください。
バグやセキュリティ上の問題を報告するにはどうすればよいですか? バグやクライアントのセットアップに関する問題は、issue を作成してください。セキュリティ上の問題については、SECURITY.md の手順に従い、公開 issue は作成しないでください。
使用例
negm17111995/travel-agent-examples には、OpenAI Agents SDK(Python)、LangGraph を使用した LangChain(Python)、Vercel AI SDK(TypeScript)からこのサーバーに接続する、小規模で実行可能な旅行アシスタントの例があります。いずれも、読み取り専用ではない呼び出しを行う前に、ユーザーの承認を求めます。
できること
- ライブ料金と空室状況を確認しながら、ホテルを検索できます。
- フライトを検索して運賃を比較できます。
- 都市、空港、ホテルの詳細を検索できます。アメニティや写真も確認できます。
- ホテルの部屋の料金を確保(事前予約)したり、フライトの運賃を確認したりできます。
- 顧客が book.maqami.co で詳細を入力して支払い、予約確認を受け取るためのチェックアウトリンクを送信できます。
- 既存の予約を検索、確認、キャンセルできます。メールアドレスと姓で予約を検索し、予約 ID とメールアドレスを使って操作します。
プロンプトの例
- 「8 月 15 日から 17 日まで、イスタンブールで大人 2 名向けの 5 つ星ホテルを探してください。」
- 「2 番目のホテルのアメニティと写真を見せてください。」
- 「12 月 10 日に、ドバイからロンドンまで、大人 1 名のフライトを検索してください。」
- 「東京にはどの空港がありますか?」
- 「その部屋を確保して、チェックアウトリンクを送ってください。」
プライバシーとセキュリティ
- 接続に API キーやアカウントは必要ありません。
https://mcp.maqami.co/へのすべての通信は HTTPS で暗号化されます。- 検索と予約は MAQAMI によって処理されます。支払いは book.maqami.co でのみ行われ、MCP サーバーがカード情報を受け取ることはありません。
- チェックアウトを完了すると、実際の予約が確定します。支払いの前に、詳細と最終価格をご確認ください。
- プライバシーポリシー:maqami.co/privacy-policy
開発
このリポジトリには npm の stdio ブリッジ(index.js)が含まれています。ホスト型サーバーは別途デプロイされます。
npm install
npm test
ブリッジのテストでは、ローカルのモック Streamable HTTP サーバーを起動し、MAQAMI_MCP_URL 環境変数を使ってブリッジの接続先に指定します。この変数はテスト専用です。デフォルトでは、ブリッジは https://mcp.maqami.co/ に接続します。マニフェストのテストでは、すべてのマニフェストが解析できること、同じエンドポイントを指していること、package.json のバージョンを含んでいることを確認します。
リポジトリの構成
| ファイル | 用途 |
|---|---|
index.js | ホスト型エンドポイントへの npm stdio ブリッジ |
server.json | 公式 MCP Registry エントリ |
gemini-extension.json, GEMINI.md | Gemini CLI 拡張機能とそのコンテキストファイル |
.claude-plugin/plugin.json, .mcp.json | Claude Code プラグイン |
.claude-plugin/marketplace.json | Claude Code プラグインマーケットプレイス(maqami) |
.codex-plugin/plugin.json, assets/logo-512.png | Codex プラグインとそのアイコン |
plugin.json, mcp.json | Agent Plugins マニフェスト |
mcpb/manifest.json, scripts/build-mcpb.sh | Claude Desktop 拡張機能(npm run build:mcpb を実行すると dist/maqami-travel.mcpb が作成されます) |
skills/maqami-travel-booking/SKILL.md | プラグインにバンドルされている予約スキル |
glama.json | Glama ディレクトリのメタデータ |
AGENTS.md, llms.txt | コーディングエージェントと LLM ツール向けの簡易ガイド |
test/ | ローカルのモックサーバーに対するブリッジテストと、マニフェストの整合性チェック(npm test) |
.github/workflows/ | CI(すべてのプルリクエストで npm test を実行)と、npm および Official MCP Registry に公開するリリースワークフロー |
コントリビューション
ドキュメントの修正、クライアントのセットアップガイド、バグ報告を歓迎します。CONTRIBUTING.md と 行動規範 をご覧ください。質問やアイデアは ディスカッション までお寄せください。
ライセンス
サポート
質問や問題については、[email protected] または課題を作成してください。
MAQAMI について
MAQAMI(MAQAMI LLC)は米国で登録された旅行会社で、世界中のホテルと航空券を販売しています。300 万件を超える宿泊施設、即時予約確定、安全な Stripe チェックアウト、24 時間年中無休のサポートを提供しています。
- ウェブサイト: maqami.co
- ホテルと航空券の予約: book.maqami.co
- この MCP サーバー(セットアップガイド): maqami.co/mcp
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。