github / github/awesome-copilot
awesome-copilot plugin's MCP server requires Docker for all consumers, with no fallback transport
- Dominant language
- JavaScript
- Stars
- 39k
- Forks
- 5k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 113
Description
## Summary
The `awesome-copilot` plugin's `mcp.json` (at `plugins/awesome-copilot/mcp.json`) only wires up the local-stdio transport, launched via:
```json
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/microsoft/mcp-dotnet-samples/awesome-copilot:latest"]
```
This forces anyone who installs the `awesome-copilot` plugin as a Copilot CLI/marketplace consumer (not a contributor to this repo) to have Docker Desktop installed and running, just to use the `search_instructions` / `load_instruction` discovery tools. That's a heavy, unusual requirement for what's meant to be a lightweight "browse the marketplace" experience, and it fails ungracefully when Docker isn't present (`program not found` style errors, no fallback).
## Why this matters now
This MCP server declaration was recently "activated" for the first time by github/awesome-copilot#2713 (fixing MCP discovery of `mcp.json` at the plugin root). Before that fix, this declaration was effectively dead (hidden `.mcp.json`, stripped manifest pointer), so no client ever actually tried to spawn it. Now that discovery works, every Copilot CLI user with this plugin installed hits the Docker requirement.
## Suggestion
The upstream [`mcp-dotnet-samples/awesome-copilot`](https://github.com/microsoft/mcp-dotnet-samples/tree/main/awesome-copilot) project already documents alternative transports that don't require a local Docker install:
- A hosted **Azure Container Apps** endpoint (`streamable-http` transport), which the plugin's `mcp.json` could point to directly with a `url` instead of a `command`.
- A plain `dotnet run` local option (still avoids Docker, though it requires the .NET SDK).
Consider shipping the `mcp.json` with a `streamable-http` entry pointing at a hosted endpoint (or otherwise not requiring Docker) as the default, so installing this plugin doesn't implicitly require Docker Desktop for end users who just want to discover/install customizations.
## Environment
Discovered via GitHub Copilot CLI (Windows), where the plugin's MCP server consistently fails to start with:
```
Failed to connect to MCP server "awesome-copilot": failed to spawn MCP server process: program not found: program not found.
```
because Docker isn't installed on the host.
Contributor guide
Research direction
Start with plugins/awesome-copilot/mcp.json and compare its Docker stdio declaration with the documented transports in the upstream mcp-dotnet-samples/awesome-copilot project. Choose and configure a non-Docker default transport that supports the discovery tools, then verify installation and tool startup through Copilot CLI on a host without Docker.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100