GitHub MCP Docker Connection Failure: Smoke Detector Report
Hey guys! Let's dive into a recent issue flagged by the Smoke Detector regarding a recurring Docker connection failure in the GitHub MCP (Management Control Plane). This report focuses on discussion #2365, shedding light on the problem and potential solutions. This is a critical issue, so let's break it down in a way that's easy to understand and SEO-friendly.
🔄 Third Occurrence Confirmed - Run #18798393526
We've got a confirmed third occurrence of this GitHub MCP Docker connection failure pattern, documented right here in this issue. Specifically, Run #18798393526 triggered the alert. It's like déjà vu, but not the fun kind. These recurring issues can be a real headache, so let's get into the details.
Run Details
To give you the specifics, here’s a breakdown of the run:
- Run: #18798393526
- Commit: 49337eef
- Branch:
copilot/add-additional-mcp-server-support(same as the previous occurrences – this might be a clue!) - Timestamp: 2025-10-25T04:49:26Z
- Duration: Just 2.1 minutes (not a long life for a run!)
- Conclusion: Failure (the dreaded red X)
Occurrence Timeline
Here’s a little timeline to put things in perspective. Seeing how these failures clustered together can help us spot patterns and get to the root of the problem faster. Timelines are like detective work for code!
| # | Run ID | Time (UTC) | Commit | Minutes Since First |
|---|---|---|---|---|
| 1 | 18797919838 | 04:04:39 | 83502231 | 0 (first) |
| 2 | 18798111281 | 04:22:18 | 83502231 | +18 min |
| 3 | 18798393526 | 04:49:26 | 49337eef | +45 min |
Same Error Signature ✅
The error message is consistent across all three runs:
Failed to start MCP client for github: McpError: MCP error -32000: Connection closed
This consistency is actually good news! It means we're likely dealing with a single root cause, not a series of random glitches. That makes troubleshooting much more manageable.
What's Different in This Run?
In this particular run, there was an attempt to fix the GitHub token configuration. The commit 49337eef tried a new approach:
- Switched from an inline token to environment variable passthrough.
- Modified
buildGitHubMCPServerJSON()to use${GITHUB_MCP_SERVER_TOKEN}passthrough. - Added
GITHUB_MCP_SERVER_TOKENto execution step environment variables. - The commit message: "Use file-based MCP config syntax for GitHub token in Copilot engine".
It's like trying a new recipe to see if it fixes a baking problem, but in this case...
Key Finding: Token Configuration Was NOT the Root Cause
Here's the kicker: the issue persists even with the new token configuration. This is a huge clue! It tells us that the problem isn't about how the GitHub token is being passed to the MCP server. The root cause is deeper, likely residing in the Docker infrastructure layer. Sometimes, the fix we think is the solution just reveals a bigger mystery.
Consistent Pattern Across All 3 Occurrences
Let's break down what's consistently working and what's consistently failing. This helps us narrow down the possibilities and focus our efforts.
✅ What works:
- Safe-outputs MCP server starts successfully.
- Agent runs and completes.
- Detection job succeeds.
❌ What fails:
- GitHub MCP Docker container connection closes immediately.
- Agent has no GitHub MCP tools.
- Agent tries bash fallbacks (gh CLI, git commands) – all permission denied.
- Agent completes without generating safe-outputs.
create_issuejob fails (noagent_output.jsonartifact).
Analysis
Okay, guys, this is where we put our detective hats on. We're looking at a persistent, reproducible issue on the copilot/add-additional-mcp-server-support branch:
- Three failures in 45 minutes – not a good trend!
- The same error across different commits – points to a systemic issue.
- Token configuration changes had no effect – rules out a simple token problem.
This strongly suggests one of the following culprits:
- Docker unavailable on GitHub Actions runners for this workflow – maybe Docker took a day off?
- ghcr.io connectivity blocked for this specific runner/workflow – can’t get the image if the door is locked!
- Docker socket permissions issue specific to this workflow configuration – who has the keys to the Docker kingdom?
- Branch-specific configuration that disables Docker – is this branch a Docker-free zone?
- GitHub MCP Docker image (
ghcr.io/github/github-mcp-server:v0.19.1) has a startup issue – maybe the image needs a reboot?
Recommended Next Steps
Alright, team, here’s the game plan! Let's get this Docker mystery solved. Here are some steps we should take to investigate further and (hopefully) fix this thing:
-
Test on a different branch (e.g.,
main) to determine if it’s branch-specific. This will help us isolate the issue. Testing on different branches is like checking if the problem follows you or stays put. -
Add Docker diagnostics to the workflow before MCP startup. We need to see what’s happening with Docker itself. Think of it as a pre-flight check for our Docker engine.
- name: Verify Docker availability run: | docker --version docker info docker ps docker run --rm hello-worldThis snippet will give us valuable info about Docker's status. It’s like giving the engine a quick once-over before takeoff.
-
Test GitHub MCP with stdio transport instead of Docker as a workaround. GitHub MCP server supports stdio mode, and this would bypass the Docker dependency entirely. If Docker is the problem, let’s sidestep it for now.
-
Check the workflow YAML for any Docker-related restrictions. Maybe there's a setting in there that's causing the trouble. Sometimes the answer is hidden in the config.
-
Try pre-pulling the image: This can help rule out network issues during startup.
- name: Pre-pull GitHub MCP server run: docker pull ghcr.io/github/github-mcp-server:v0.19.1Pre-pulling is like making sure the ingredients are ready before you start cooking. It can save time and prevent surprises.
Investigation Data Saved
For the record, here’s where the investigation data is stored:
- Investigation file:
/tmp/gh-aw/cache-memory/investigations/2025-10-25-18798393526.json - Pattern ID:
COPILOT_GITHUB_MCP_DOCKER_CONNECTION_CLOSED - Duplicate status: Confirmed duplicate of #2365 (we're on the case!)
Conclusion
So, there you have it! A deep dive into the GitHub MCP Docker connection failure. We've identified the problem, ruled out some potential causes, and laid out a plan for further investigation. Let's keep the momentum going and get this issue resolved! Remember, tackling these problems head-on makes our systems more resilient and reliable. Keep an eye on this space for updates as we continue to investigate. Good luck, team!
🤖 Investigation by Smoke Detector - Run #18798413182
AI generated by Smoke Detector - Smoke Test Failure Investigator