* Add MCP Connectors (connector-namespaces) canvas extension A Copilot CLI canvas extension for browsing and adding MCP connectors from an Azure Connector Namespace into a Copilot session. Sign-in is dependency-free (OAuth 2.0 auth-code + PKCE via the Azure CLI public client, loopback redirect); network access is restricted to the public Azure Resource Manager endpoint. MIT licensed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update Connector Namespaces canvas extension Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Harden Connector Namespaces canvas extension Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Sanitize connector icon brand colors Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add Connector Namespace playground actions Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Replace sandbox skill with native tool Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Clarify connector disconnect action Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Color disconnect action red Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Add connector extension plugin manifest Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Address connector canvas review feedback Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Remove legacy connector canvas manifest Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Address remaining connector review feedback Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Harden connector review fixes Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Harden connector convergence Address the latest connector review batch across config persistence, executable trust, reauthentication, JSON-RPC transport, smoke safety, and accessibility. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Use native HTTP connector configs Persist Connector Namespace MCP servers as direct HTTPS entries with API-key headers, remove the stdio unwrap proxy, and exercise the native Streamable HTTP path in smoke coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf * Secure persisted connector state Create the Connector Namespace artifacts directory and saved gateway config with private permissions, and align the reduced-motion regression notes with the static fallback behavior. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: a986299f-86be-46c3-9562-cbf7d25174cf --------- Co-authored-by: Alex Yang <yangalex@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
3.9 KiB
MCP Connectors — Copilot CLI Canvas Extension
A GitHub Copilot CLI canvas extension that lets you browse and add MCP connectors from an Azure Connector Namespace directly inside a Copilot CLI session. Search by name or category, sign in to a connector, then restart the session to make its tools available to the agent.
The canvas talks to public Azure Resource Manager (
management.azure.com) using the signed-in Azure CLI account. The extension does not register its own Entra application or persist Azure credentials.
Prerequisites
- GitHub Copilot CLI (the host that loads canvas extensions).
- Azure CLI, signed in with
az login. The extension asks Azure CLI for a short-lived ARM access token and refreshes it through the same broker. - An Azure subscription with a Connector Namespace — resource type
Microsoft.Web/connectorGateways(API version2026-05-01-preview). This is a preview resource provider; you must have access to it for the catalog to load. Without it the extension installs fine but has nothing to show.
Install
Install it from the public Awesome Copilot repository:
install_extension https://github.com/github/awesome-copilot/tree/main/extensions/connector-namespaces
For a reproducible install, swap main for a reviewed commit SHA from this
repository.
The destination scope is chosen at install time:
- user (default) — installs globally for you at
$COPILOT_HOME/extensions/connector-namespaces/. The usual choice for a personal tool. - project — installs into the current repo.
- session — scoped to a single CLI session.
Usage
- Open the MCP Connectors canvas from Copilot CLI.
- The canvas loads subscriptions from your signed-in Azure CLI account. Pick an Azure subscription and a Connector Namespace. The choice is saved for future sessions (change it any time via Change namespace).
- Browse or filter the connector catalog, then Connect. A browser tab opens for Microsoft sign-in; complete it and the canvas updates on its own.
- Connected connectors move into My MCPs. Use Sandbox on a tile to open that server directly in the namespace MCP playground.
- Restart the Copilot CLI session so the agent can load the connected tools.
The extension registers the native connector_namespaces_open_playground tool,
so GitHub Copilot can open a named connector from My MCPs without installing
an additional Agent Skill.
How it works
extension.mjs— entry point; declares the canvas,open_sandboxaction, and nativeconnector_namespaces_open_playgroundtool.server.mjs— a loopback HTTP server (bound to127.0.0.1only) that serves the canvas UI and the JSON/OAuth endpoints the iframe calls.armClient.mjs— thin ARM client (token brokered by Azure CLI, public ARM base only, SSRF-guarded path segments).catalog.mjs— fetches and curates the connector list for a namespace.install.mjs— the connect/install pipeline (managed-API connection, consent, rollback on cancel, and native HTTPS MCP config registration).renderer.mjs— all canvas HTML/CSS/client JS.sandbox.mjs— builds namespace playground links and resolves named My MCPs.state.mjs— saved namespace and connector state.
Privacy & security
- ARM tokens come from
az account get-access-token, stay in process memory, and are never logged or written by the extension. Azure CLI owns sign-in and credential storage. - All servers bind to loopback (
127.0.0.1) and are never exposed externally. - ARM requests go only to
https://management.azure.com/; path segments are validated to prevent SSRF-style host smuggling. - The minted gateway API key is stored in the selected Copilot MCP config and
sent to its validated HTTPS endpoint as the
X-API-Keyheader.
License
MIT © Microsoft Corporation.