Clarify MCP localhost rewrite, transport semantics, and reachability under network isolation#6005
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the GitHub Agentic Workflows documentation to remove ambiguity around MCP gateway transport semantics and network reachability when network isolation is enabled, especially for host-local HTTP MCP servers.
Changes:
- Documents the two-layer MCP server configuration model (frontmatter authoring vs compiler-generated gateway runtime config).
- Specifies localhost rewrite behavior for HTTP MCP URLs under network isolation and explains why it’s necessary.
- Adds host-side binding requirements and a reachability matrix covering isolation ON/OFF across MCP transport types.
Show a summary per file
| File | Description |
|---|---|
| .github/aw/github-agentic-workflows.md | Adds a new “MCP Transport and Reachability” section clarifying localhost rewrite, binding requirements, and a reachability matrix under network isolation. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Low
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
✅ Copilot review passed with no inline comments. @copilot Add the |
|
🌑 The shadows whisper... Smoke Codex failed. The oracle requires further meditation... |
|
✅ Smoke Copilot BYOK AOAI (Entra) completed. Copilot AOAI BYOK (Entra) mode operational. 🔓 |
|
✅ Smoke Copilot BYOK completed. Copilot BYOK mode operational. 🔓 |
|
✅ Smoke Claude passed |
|
✅ Smoke Copilot BYOK AOAI (api-key) completed. Copilot AOAI BYOK (api-key) mode operational. 🔓 |
|
🔌 Smoke Services — All services reachable! ✅ |
|
🚀 Security Guard has started processing this pull request |
|
Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded. |
|
✅ Build Test Suite completed successfully! |
|
✅ Smoke Gemini completed. All facets verified. 💎 |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
✅ Contribution Check completed successfully! PR #6005 follows the applicable CONTRIBUTING.md guidelines based on the pre-fetched context; no review comment needed. |
|
📡 Smoke OTel Tracing completed. All tracing scenarios validated. ✅ |
|
🔑 Smoke Copilot PAT PAT auth validated. All systems operational. ✅ |
Smoke Test Results
Overall: FAIL — Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
✅ Copilot BYOK Smoke Test: PASS
Mode: Direct BYOK (COPILOT_PROVIDER_API_KEY) → api-proxy → api.githubcopilot.com Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
Smoke Test: Claude Engine Validation
Overall result: PASS Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
Smoke Test Results
Overall status: FAIL Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "localhost"See Network Configuration for more information.
|
🔬 Smoke Test Results
Overall: PASS (core connectivity verified)
Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
|
Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
🔥 Smoke Test: PAT Auth — PASS
Auth mode: PAT (COPILOT_GITHUB_TOKEN) Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
🔬 Smoke Test: API Proxy OpenTelemetry Tracing
All 5 scenarios pass. OTEL tracing integration is complete and functioning correctly. Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
Chroot Version Comparison Results
Result: Not all tests passed — Python and Node.js versions differ between host and chroot. The Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
🏗️ Build Test Suite Results
Overall: 8/8 ecosystems passed — ✅ PASS Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
|
Smoke Test Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
The MCP server spec had ambiguous behavior around network isolation: localhost HTTP endpoints are rewritten internally, but binding constraints and transport semantics were not documented. This created avoidable failures when workflows started local servers on loopback while gateway traffic resolved via
host.docker.internal.Spec: localhost rewrite behavior
sandbox.agent.sudo: false, loopback HTTP MCP URLs (localhost,127.0.0.1,::1) are rewritten tohost.docker.internal.Spec: host-side server binding requirements
0.0.0.0(or other non-loopback interface) when isolation is enabled.--host 127.0.0.1,--bind ::1).Spec: transport model reconciliation
mcp-serverswithcommand/argsorurl)command/argscompiles into gateway stdio/stdin process configuration.Spec: network reachability matrix
host.docker.internal, external URLs, and stdio (containerandcommand/args) across isolation ON/OFF.