github / github/awesome-copilot

awesome-copilot plugin's MCP server requires Docker for all consumers, with no fallback transport

Open Beginner friendly
#2,789 0 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.