Files
awesome-copilot/extensions/connector-namespaces
Alex Yang [MSFT] 191309165e Add Azure Connector Namespaces canvas extension 🤖🤖🤖 (#2250)
* 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>
2026-07-16 10:29:48 +10:00
..
2026-07-16 10:29:48 +10:00

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 version 2026-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

  1. Open the MCP Connectors canvas from Copilot CLI.
  2. 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).
  3. 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.
  4. Connected connectors move into My MCPs. Use Sandbox on a tile to open that server directly in the namespace MCP playground.
  5. 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_sandbox action, and native connector_namespaces_open_playground tool.
  • server.mjs — a loopback HTTP server (bound to 127.0.0.1 only) 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-Key header.

License

MIT © Microsoft Corporation.