Error: URL is required for remote servers (http/sse).
結論
http/sse では完全なURLが要る。スキームの無い文字列はURLとして扱われない。
確認した版
GitHub Copilot CLI v1.0.80
確認日
2026年8月22日
最終更新
2026年8月22日
根拠
実機で確認
エラー文字列
Error: URL is required for remote servers (http/sse).
⚠️ 標準エラーに出て、終了コードは 1 です。 設定は書き換えられません。
何が起きているか
--transport http / --transport sse は既に動いているサーバーに繋ぐ指定です。繋ぎ先の URL が必要ですが、渡した値が URL として認識されていません。
⭐ スキーム(https://)が無いと URL とみなされません。
v1.0.80 で実測した対応表です。
| 渡した値 | 結果 |
|---|---|
not-a-url |
Error: URL is required for remote servers (http/sse). |
https://example.com/mcp |
Added server "x"(成功) |
直し方
1. スキームから書く
copilot mcp add stripe --transport http https://mcp.stripe.com
2. 認証ヘッダが要る場合
copilot mcp add stripe --transport http --header "Authorization: Bearer $MY_KEY" https://mcp.stripe.com
🔴 鍵を直接書かないこと。 シェルの履歴に残ります。環境変数から渡してください。
3. ローカルのサーバーなら --transport を使わない
起動コマンドを渡す形になります。必要な指定が逆なので、メッセージも変わります。
copilot mcp add context7 -- npx -y @upstash/context7-mcp
⚠️ Command is required for local servers. が出た場合は、ローカル扱いになっています。
4. 追加できたか確認する
copilot mcp list
⭐ 成功すると Type と URL が表示されます。ここが意図どおりか見てください。
再発防止
- リモートは必ず
https://から書く - ローカル(起動コマンド)とリモート(URL)で、渡すものが違う。メッセージがどちらを求めているかで判断する
- 手書きせず
copilot mcp addを使う。書式の検証が働く