GitHub Copilot CLI のエラー

Error: Command is required for local servers.

結論

MCPサーバーの起動コマンドを渡していない状態。名前の後ろに -- で区切って書く。

確認した版 GitHub Copilot CLI v1.0.80
確認日 2026年8月22日
最終更新 2026年8月22日
根拠 実機で確認

エラー文字列

GitHub Copilot CLI
Error: Command is required for local servers.

⚠️ 標準エラーに出て、終了コードは 1 です。 設定は書き換えられません。

何が起きているか

MCP サーバーを追加するとき、そのサーバーを起動するコマンドを渡していません。

ローカルのサーバーは「起動して標準入出力でやり取りする」形なので、何を起動するのかを必ず示す必要があります。

メッセージの直後に、正しい書き方が例つきで出ます。

Usage:
  copilot mcp add <name> -- <command> [args...]

v1.0.80 で実測した対応表です。

実行したもの 結果
copilot mcp add my-server Error: Command is required for local servers.
copilot mcp add my-server -- npx -y @upstash/context7-mcp 追加される

直し方

1. -- で区切ってコマンドを書く

copilot mcp add context7 -- npx -y @upstash/context7-mcp

⚠️ -- を省略しないこと。 これより後ろは「起動コマンドとその引数」として扱われます。省くと、Copilot 側のオプションと区別できません。

2. 環境変数を渡す場合

copilot mcp add github --env GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxx -- npx -y @modelcontextprotocol/server-github

⚠️ --env-- より前に置きます。 後ろに書くと、起動コマンドの引数になってしまいます。

🔴 鍵をそのままシェル履歴に残さないこと。 環境変数から渡す形にしてください。

macOS / Linux

copilot mcp add github --env "GITHUB_PERSONAL_ACCESS_TOKEN=$MY_TOKEN" -- npx -y @modelcontextprotocol/server-github

3. HTTP のサーバーはコマンドではなく URL

起動するのではなく、既に動いているサーバーに繋ぐ形です。

copilot mcp add my-http --transport http https://example.com/mcp

この場合は起動コマンドが要りません。 エラーが出るのは「ローカル(stdio)」として扱われているときです。

4. 追加できたか確認する

copilot mcp list

再発防止

  • ローカルの MCP は必ず 名前 -- 起動コマンド の形で書く
  • --env--transport-- よりに置く
  • 追加したら copilot mcp list で確認する。設定ファイルを手書きしない(書式の検証が働かない)

この手順で直りませんでしたか?

環境を添えて報告いただければ、追加の原因を検証してこのページに反映します。

エラーを報告する