Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

GitHub Copilot CLI

Why this agent

GitHub Copilot CLI brings the GitHub Copilot coding agent directly to the terminal. Per its upstream README:

MCP-powered extensibility: Take advantage of the fact that the coding agent ships with GitHub’s MCP server by default and supports custom MCP servers to extend capabilities.

So espctl can be added as a custom MCP server in Copilot CLI — but the exact config-file schema is documented at docs.github.com/copilot/concepts/agents/about-copilot-cli, not in the open-source repo.

Prerequisites

  • GitHub Copilot CLI installed (brew install copilot-cli, npm install -g @github/copilot, or curl -fsSL https://gh.io/copilot-install | bash).
  • Active GitHub Copilot subscription.
  • copilot --version succeeds.
  • espctl installed somewhere stable on disk.

Install snippet (or alternative)

This agent is currently a documented-stub in this MCP coverage — not because Copilot CLI lacks MCP support (it has it), but because the canonical config-file schema isn’t published in any public-repo .md file we can mechanically fetch. The user-facing docs at docs.github.com cover it but require runtime access we don’t currently script.

Recommended path — check Copilot CLI’s runtime MCP commands. Per the README: “Other subcommands … are in copilot --help.” Try:

copilot mcp list          # see registered MCP servers
copilot mcp add --help    # see add-server syntax

The expected shape is likely Claude Code’s mcpServers format (most modern MCP-supporting agents converge on it), but the exact config-file location and key names need verification from copilot mcp output or the GitHub docs.

Alternative — drive the browser-side HTTP MCP endpoint:

https://esphome.cloud/mcp/esp-idf

GitHub Copilot CLI can be pointed at this URL via HTTP-MCP transport (if its config supports HTTP MCP, which most Microsoft-aligned agents do for first-class GitHub MCP server compat).

First-run verification

Verify the alternative endpoint is reachable:

curl -fsSL https://esphome.cloud/mcp/esp-idf | head -1

Expected: 200 OK JSON response.

If you’ve figured out the config-file path via copilot mcp list, verify by asking inside Copilot CLI:

copilot
> What espctl tools can you call?

Expected: ~40 espctl tools listed.

Troubleshooting

  • mcp/esp-idf returns 404 / 5xx — check esphome.cloud status.
  • copilot mcp add reports unknown subcommand — your Copilot CLI version may predate MCP support. Update via the install method you used.
  • Want a verified static install snippet? Once you’ve found the canonical config-file path via copilot mcp list or the docs.github.com pages, file an issue against this project’s repository and an install:// arm can be added.

Tested as-of 2026-05-19

GitHub Copilot CLI-specific notes

  • The CLI uses ~/.copilot/lsp-config.json for LSP config; by convention the MCP-server config is likely ~/.copilot/mcp.json or similar (unverified).
  • GitHub Copilot CLI’s “MCP server” feature is partially server-side (GitHub’s own MCP server is built-in); custom MCP servers extend beyond what GitHub provides.
  • The CLI requires a GitHub Copilot subscription — different from the gh copilot suggest extension that’s been part of gh for years.