SkyAccess について
SkyAccessは、運航中のプライベートジェットの空フェリー便検索とチャーター料金の見積もりを行う公開MCPサーバーです。旅行者やAIアシスタントは、アカウントやAPIキーなしで空席便を調べ、予約リンクを取得できます。
主な機能
- 01運航中の空フェリー便を検索
- 02路線・日付・人数・価格で絞り込み
- 03便の詳細と予約リンクを取得
- 04機体カテゴリー別のチャーター料金を見積もり
- 05チャーターの問い合わせを担当者へ送信
活用シーン
- 01旅行日程に合う空フェリー便の検索
- 02予約リンク取得前の便情報の比較
- 03路線別プライベートチャーター費用の見積もり
MCP 対応
匿名で利用できるホスト型MCPサーバーが、便検索、便情報取得、予約ページへの案内、チャーター見積もり、予約問い合わせのツールを提供します。https://mcp.skyaccess.com/mcp で Streamable HTTP を使用します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.skyaccess.com/mcpclaude mcp add --transport http com-skyaccess-skyaccess https://mcp.skyaccess.com/mcp{"mcpServers":{"com-skyaccess-skyaccess":{"type":"http","url":"https://mcp.skyaccess.com/mcp"}}}Cursor で開く{"servers":{"com-skyaccess-skyaccess":{"type":"http","url":"https://mcp.skyaccess.com/mcp"}}}VS Code で開く{"mcpServers":{"com-skyaccess-skyaccess":{"type":"http","url":"https://mcp.skyaccess.com/mcp"}}}{"mcpServers":{"com-skyaccess-skyaccess":{"serverUrl":"https://mcp.skyaccess.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
6| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| origin | string | いいえ | 出発都市または空港コード(例: |
| destination | string | いいえ | 到着都市または空港コード(例:"Las Vegas" または "KLAS") |
| departureDateFrom | string | いいえ | 最も早い出発日。ISO 形式(例:"2026-07-10") |
| departureDateTo | string | いいえ | 最も遅い出発日。ISO 形式 |
| passengers | integer | いいえ | 搭乗者数 |
| max_price | number | いいえ | 任意の価格上限(米ドル、航空機全体の価格。税金と手数料はチェックアウト時に表示)。この金額を超える価格のレグは除外されます。価格が公開されていないレグ(price: null、"Contact for price" と表示)は、価格が不明なため引き続き含まれます。上限内であることは確認されていません。 |
詳細
SkyAccess MCP サーバー
SkyAccess は、掲載数で世界最大の空き区間マーケットプレイスです。この無料の公開 MCP サーバーを使うと、あらゆる AI アシスタントから、FAA Part 135(および国際的な同等資格)認定を受けた 900 社以上のチャーター運航会社が運航する、運航中の 5,000 便以上の空き区間便を検索できます。多くの場合、同等のチャーター便より 25~75%安く利用できます。また、チャーター料金の概算と、旅行者が開ける予約リンクも返します。
ホスト型エンドポイントを使用します。インストールは不要です。
https://mcp.skyaccess.com/mcp
インストール
以下の各オプションを使うと、ホスト型エンドポイントがクライアントに追加されます。お使いのマシン上で実行されるものはなく、アカウント、サインアップ、API キーも不要です。
-
Claude Code:
claude mcp add --transport http skyaccess https://mcp.skyaccess.com/mcp -
Claude Code プラグイン(同じサーバーに、各ツールをいつ使うかを Claude に伝えるスキルを追加したものです):
claude plugin marketplace add sky-access/skyaccess-mcp claude plugin install skyaccess@skyaccess -
Gemini CLI:
gemini extensions install https://github.com/sky-access/skyaccess-mcp -
VS Code(GitHub Copilot): 上のボタンを使うか、次のコマンドを実行してください。
code --add-mcp '{"name":"skyaccess","type":"http","url":"https://mcp.skyaccess.com/mcp"}' -
Claude(claude.ai および Claude Desktop)、Cursor、その他のクライアント: MCP クライアントから接続するをご覧ください。
その他のクライアント
このリポジトリには、以下の各クライアント用パッケージも含まれています。いずれも同じホスト型エンドポイントを参照し、お使いのマシン上では何も実行しません。
Kiro
Powers パネルで Add Custom Power を選び、Import power from GitHub を選択して、https://github.com/sky-access/skyaccess-mcp を入力してください。powers/skyaccess の Power は、サーバーに加えて、各ツールをいつ使うかを Kiro エージェントに伝えるスキルを追加します。
Gemini CLI
gemini extensions install https://github.com/sky-access/skyaccess-mcp
拡張機能は gemini-extension.json と GEMINI.md で定義されています。
Google Antigravity
サーバーを ~/.gemini/config/mcp_config.json またはワークスペース内の .agents/mcp_config.json に追加してください。Antigravity は url ではなく serverUrl を読み込みます。
{ "mcpServers": { "skyaccess": { "serverUrl": "https://mcp.skyaccess.com/mcp" } } }
または、このリポジトリをクローンして、プラグインフォルダーを /plugin install <path-to-clone>/integrations/antigravity/skyaccess でインストールしてください。integrations/antigravity/skyaccess をご覧ください。
GitHub Copilot CLI
copilot plugin marketplace add sky-access/skyaccess-mcp
copilot plugin install skyaccess@skyaccess
これにより、Claude Code のマニフェストと並んで Copilot 用の Agent Plugins plugin.json および mcp.json を備えた plugins/skyaccess がインストールされます。
接続詳細
| エンドポイント | https://mcp.skyaccess.com/mcp |
| 認証 | 不要です。サーバーは無料で匿名で利用できます。アカウント、サインアップ、API キー、OAuth は必要ありません。 |
| トランスポート | Streamable HTTP、POST のみ、ステートレスです。Mcp-Session-Id は発行されないため、各リクエストは独立して処理されます。GET は仕様により 405 を返します。 |
| 必須ヘッダー | Content-Type: application/json。Accept には、MCP 仕様の値である application/json, text/event-stream、application/json のみ、*/* を指定するか、省略できます。application/json を含まず、*/* でもない Accept 値(たとえば text/html や text/event-stream のみ)を指定すると、406 が返されます。 |
| レスポンス形式 | Accept: application/json, text/event-stream の場合、各応答は 1 つの Server-Sent Events メッセージです。event: message に続いて、JSON-RPC レスポンスを含む data: が送信されます。application/json のみ、*/*、または Accept ヘッダーを省略した場合、各応答はプレーンな JSON(Content-Type: application/json)です。 |
| プロトコルバージョン | 2025-06-18。2025-11-25、2025-03-26、2024-11-05 もネゴシエーションされます。 |
| レート制限 | ツール呼び出し:クライアント IP ごとに 60 秒あたり 30 リクエスト。接続の確立はカウントされません。request_booking:クライアント IP ごとに 1 時間あたり 10 件のチャーター問い合わせ。レート制限を参照してください。 |
| 対応地域 | 世界各地の在庫を扱っており、その大半は米国です。価格と見積もりは米ドルです。 |
| 支払い | ありません。支払いを受け付けるツールや、支払い用フィールドを持つツールはありません。 |
| サポート | [email protected] |
| プライバシーポリシー | https://skyaccess.com/privacy#connector |
| 利用規約 | https://skyaccess.com/terms |
MCP クライアントから接続する
Streamable HTTP 経由のリモート MCP サーバーに対応するクライアントであれば、エンドポイントを直接使用できます。認証は空欄のままにしてください。
-
Claude(claude.ai と Claude Desktop):「Settings」「Connectors」「Add custom connector」の順に選択し、
https://mcp.skyaccess.com/mcpを貼り付けます。 -
Claude Code、Gemini CLI、VS Code:インストールを参照してください。
-
Cursor:
~/.cursor/mcp.jsonに次の内容を追加します。{ "mcpServers": { "skyaccess": { "url": "https://mcp.skyaccess.com/mcp" } } } -
**VS Code(手動):**ワークスペースの
.vscode/mcp.jsonに次の内容を追加します。{ "servers": { "skyaccess": { "type": "http", "url": "https://mcp.skyaccess.com/mcp" } } } -
stdio のみを使用するクライアント(たとえば Claude Desktop の
claude_desktop_config.jsonファイル):このリポジトリのブリッジを使用してください。ローカルインストーラーと stdio ブリッジを参照してください。
curl で試す
ツール一覧を取得します。
curl -sS https://mcp.skyaccess.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
空区間便を検索します(読み取り専用)。
curl -sS https://mcp.skyaccess.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_empty_legs","arguments":{"origin":"Los Angeles","destination":"Las Vegas","passengers":4}}}'
サーバーはステートレスのため、どちらのコマンドも initialize ハンドシェイクなしで実行できます。MCP クライアントは引き続きハンドシェイクを送信し、サーバーは通常どおり応答します。
ツール
| ツール | 種類 | 内容 |
|---|---|---|
search_empty_legs | 読み取り専用 | origin、destination、departureDateFrom、departureDateTo、passengers、max_price(USD)で、現在の空便を検索します。これらの項目はすべて任意です。最大5便について、ルート、出発時刻、機体全体の料金(税金と手数料はチェックアウト時に表示)、機体、座席数、アメニティ、flightId、予約リンクを返します。 |
get_flight | 読み取り専用 | flightIdで便の情報を再取得するか、すでに利用できないことを伝えます。 |
booking_handoff | 読み取り専用 | flightIdに対応するSkyAccessの予約ページのリンクを返します。予約の作成、仮押さえ、変更は行いません。旅行者がページで内容を確認して予約します。 |
get_charter_estimate | 読み取り専用 | originからdestinationへのチャーター便について、飛行時間と機体カテゴリーごとの概算USD価格帯を返します(passengersとaircraftCategoryは任意です)。 |
request_booking | 書き込み | 旅行者の氏名、メールアドレス、旅行の詳細(origin、destination、departureDate、passengers、任意のnotes)をSkyAccessに送信します。SkyAccessの担当者がまもなくメールで連絡し、空き状況と料金を確認します。支払いは発生せず、予約も作成されません。 |
price: nullの便は、公開価格がありません(SkyAccessでは「価格についてはお問い合わせください」と表示されます)。価格が不明のため、max_priceが設定されていても、そのような便が表示されることがあります。
すべてのツールにはMCPアノテーションがあります。4つの読み取り専用ツールではreadOnlyHint: trueが設定され、request_bookingではreadOnlyHint: falseが設定されています。
プロンプトの例
- 「今週、ロサンゼルスからラスベガスまで、4人で乗れるプライベートジェットを探してください。」(
search_empty_legs) - 「マイアミからバハマまでの格安プライベートジェット便はありますか?」(
search_empty_legs) - 「テターボロからパームビーチまでの空便を表示し、最安便の予約リンクを教えてください。」(
search_empty_legs、続けてbooking_handoff) - 「テターボロからアスペンまで、6人でプライベートジェットをチャーターするといくらかかりますか?」(
get_charter_estimate) - 「今週末、ダラスを出発するプライベートジェットのお得な便はありますか?」(
search_empty_legs) - 「ニューヨークからロンドンまで、乗客8人でプライベートジェットを利用すると、およそいくらかかりますか?」(
get_charter_estimate)
運航便は常に変わるため、検索のたびに異なる便が返されます。
データとプライバシー
4つの読み取り専用ツールでは個人データは必要ありません。個人データを送信するツールはrequest_bookingのみです。旅行者が提供した氏名とメールアドレスに加え、旅行の詳細とメモがSkyAccessに送信され、担当者が返信します。旅行者がSkyAccessから連絡するよう依頼した場合にのみ呼び出してください。
SkyAccessによるデータの取り扱い方法:https://skyaccess.com/privacy#connector
レート制限
クライアントIPごとの現在の制限:
- ツール呼び出し:60秒あたり30リクエスト。
tools/callを含む各リクエストが1回としてカウントされます。接続のセットアップはカウントされません。対象外となるのは、initialize、notifications/initialized、notifications/cancelled、tools/list、ping、およびMCPクライアントが任意のSSEストリームを開くために送信するGET(405で応答)です。そのため、一般的なクライアントの1ターン(接続、ツール一覧の取得、ツールを1つ呼び出す)は、リクエストを1回消費します。それ以外のメソッドはすべてカウントされます。また、8 KBを超えるリクエスト、チャンク形式または圧縮されたセットアップリクエスト、セットアップメソッドを繰り返すバッチもカウントされます。カウント対象のツール呼び出しへの応答には、RateLimit-Policy: 30;w=60、RateLimit-Limit、RateLimit-Remaining、RateLimit-Resetヘッダーが含まれます(request_bookingへの応答には、代わりに1時間あたりの制限値が含まれます)。セットアップへの応答にはヘッダーは含まれません。 - チャーターの問い合わせ:1時間あたり10件。
request_bookingを呼び出すリクエストのみがこの制限の対象です。 - リクエストあたり: JSON-RPCバッチに含められるツール呼び出しは最大4件で、そのうち
request_bookingの呼び出しは最大1件です。これを超えるバッチには400が返されます。
制限を超えると、サーバーはJSON-RPCエラーコード-32029を含むHTTP 429で応答します。RateLimit-Resetヘッダーにはウィンドウがリセットされるまでの秒数が示されます。その時間が経過してから再試行してください。
トラブルシューティング
| 症状 | 原因と対処方法 |
|---|---|
406 Not Acceptable | Accept ヘッダーに application/json が含まれておらず、*/* のみでもありません(たとえば text/html や text/event-stream のみの場合)。Accept: application/json, text/event-stream、application/json、または */* を送信するか、Accept を省略してください。 |
429、JSON-RPC エラー -32029 | レート制限に達しました。「Max 30 requests per minute」はツール呼び出しの上限です(接続のセットアップはカウントされません)。「Max 10 booking submissions per hour」は request_booking の上限です。RateLimit-Reset 秒待ってから、再試行してください。 |
405 | リクエストが GET でした。JSON-RPC は POST で送信してください。MCP クライアントは省略可能な SSE ストリームを開くために GET を 1 回送信し、ストリームが提供されていないことを示す 405 を受け取ります。これは想定された動作で、レート制限にはカウントされません。 |
400「Only one request_booking call is allowed per request」または「At most 4 tool calls are allowed per request」 | JSON-RPC バッチを複数のリクエストに分割してください。 |
| 「No published empty leg flight matches that id.」 | そのフライトはすでに公開されていません(予約済み、取り下げ済み、または出発済み)、あるいは ID が間違っています。search_empty_legs を再実行してください。 |
get_charter_estimate が「Estimate temporarily unavailable. Please try again.」と応答する | 場所の名前が認識されない場合も同じメッセージが返されます。主要都市の名前、または KTEB のような空港コードを使って再試行してください。 |
ローカルインストーラーと stdio ブリッジ(npm パッケージ)
skyaccess-mcp npm パッケージは 2 つの機能を提供します。Node 20 以降が必要で、ランタイム依存関係はありません。
- マシン上で見つかった対応 MCP クライアント(Cursor と Claude Desktop の設定ファイル)の設定に SkyAccess エントリを書き込みます。そのため、JSON を手動で編集する必要はありません。
- URL を指定できないクライアント向けに、stdio から HTTP へのブリッジを提供します。
npx -y skyaccess-mcp # register with every supported client found on this machine
npx -y skyaccess-mcp --dry-run # show what would be written, write nothing
npx -y skyaccess-mcp doctor # check the endpoint and list its tools
npx -y skyaccess-mcp bridge # the stdio to HTTP bridge (clients spawn this)
doctor はエンドポイントを確認し、ツールを一覧表示します。エンドポイントに到達できない場合、またはツールが返されない場合は、ゼロ以外の終了コードで終了します。
Claude Desktop の claude_desktop_config.json のような stdio 専用クライアントでブリッジを手動で使用するには:
{
"mcpServers": {
"skyaccess": {
"command": "npx",
"args": ["-y", "skyaccess-mcp", "bridge"]
}
}
}
このリポジトリをクローンした場合も、node bin/skyaccess-mcp.mjs <command> を使って同じコマンドを実行できます。
オプション:--url <url>、--client <cursor|claude-desktop>、--dry-run、--help。
インストーラーによる設定ファイルの取り扱い
- クライアント自身のディレクトリがすでに存在する場合にのみ、そのクライアントに書き込みます。そのため、Cursor がインストールされていないマシンに
~/.cursorが作成されることはありません。 - ファイル内のほかのキーはすべて保持されるため、ほかの MCP サーバーの設定は変更されません。
- JSON として解析できない設定ファイルは変更せず、その旨を報告します。上書きすることはありません。
- 既存の SkyAccess エントリを置き換える前に、
<config>.skyaccess-backupにバックアップします。
設計上の注意点
- ランタイム依存関係がないため、監査対象となる間接的なサプライチェーンがありません。ビルド工程のないプレーンな ESM です。配布されるものは
src/の内容そのものです。 - ブリッジは stdout に JSON-RPC のみを 1 行につき 1 メッセージ書き込み、すべての診断情報を stderr に送信します。stdout への余分な書き込みはプロトコルを破損させます。
202で応答される通知は、stdout に行を出力しません。クライアントが要求していない応答を返すことは、プロトコル違反だからです。- HTTP ホップに失敗したリクエストは、同じ
idを持つ JSON-RPC エラーになります。そのため、クライアントはいつまでも待つことなく、すぐに失敗します。
開発
npm install # installs vitest, the only dev dependency
npm test # offline suite against a real local HTTP server, no network
npm run test:live # opt-in live suite against https://mcp.skyaccess.com/mcp
ライブテストスイートは initialize と tools/list のみを送信します。DNS とパブリックインターネットに依存しており、どちらもコードの正しさを示すものではないため、npm test には含まれていません。
リスティングマニフェスト
これらのファイルは、各クライアントをホストされたエンドポイントに接続します。いずれもコードを実行しません。
| ファイル | 使用先 |
|---|---|
gemini-extension.json、GEMINI.md | Gemini CLI 拡張機能(gemini extensions install)および Gemini CLI 拡張機能ギャラリー |
.claude-plugin/marketplace.json | Claude Code プラグインマーケットプレイス(claude plugin marketplace add sky-access/skyaccess-mcp) |
plugins/skyaccess/ | Claude Code プラグイン本体:.claude-plugin/plugin.json、.mcp.json、empty-legs スキルとその README |
plugins/skyaccess/plugin.json、plugins/skyaccess/mcp.json | Agent Plugins 1.0.0 形式の同じプラグイン。GitHub Copilot CLI、VS Code、Awesome Copilot マーケットプレイス向け |
powers/skyaccess/ | Agent Plugins 形式の Kiro power:plugin.json、mcp.json、empty-legs スキルとその README |
integrations/antigravity/skyaccess/ | Google Antigravity プラグイン:plugin.json(名前と説明のみ)および mcp_config.json(serverUrl) |
integrations/dify/ | Dify マーケットプレイス向け Dify ツールプラグインのソース:読み取り専用の4つのツールを .difypkg としてパッケージ化 |
サーバーのバージョンが変わったら、gemini-extension.json、plugins/skyaccess/.claude-plugin/plugin.json、plugins/skyaccess/plugin.json、powers/skyaccess/plugin.json の version をまとめて更新してください。Antigravity マニフェストにはバージョンフィールドがありません。Dify プラグインには、integrations/dify/manifest.yaml に独自のバージョンがあります。Claude Code のファイルは claude plugin validate . および claude plugin validate ./plugins/skyaccess で、Gemini 拡張機能は gemini extensions validate . で検証してください。
ライセンス
MIT。詳しくは LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。