You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/cli.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,10 +23,11 @@ Global flags (apply to all subcommands): `--verbose, -v` (enable info-level logg
23
23
-`<pipeline>` - Path to the pipeline YAML file to verify
24
24
- The source markdown path is auto-detected from the `@ado-aw` header in the pipeline file
25
25
- Useful for CI checks to ensure pipelines are regenerated after source changes
26
-
-`mcp <output_directory> <bounding_directory>` - Run SafeOutputs as a stdio MCP server
26
+
-`mcp <output_directory> <bounding_directory>` - Run SafeOutputs as a stdio MCP server. **This is what compiled pipelines use**: MCPG spawns it as a hardened, network-isolated sibling container entrypoint (see [`docs/mcpg.md`](mcpg.md)).
27
27
-`--enabled-tools <name>` - Restrict available tools to those named (repeatable)
28
28
-`mcp-author` - Run the author-facing stdio MCP server for IDE/Copilot Chat integrations. See [`mcp-author.md`](mcp-author.md) for the full tool surface and trust model.
29
-
-`mcp-http <output_directory> <bounding_directory>` - Run SafeOutputs as an HTTP MCP server (for MCPG integration)
29
+
-`mcp-http <output_directory> <bounding_directory>` - Run SafeOutputs as an HTTP MCP server (for direct/local MCPG integration or manual testing). **Optional and not compiler-emitted** — compiled pipelines no longer start this server; see [`docs/local-development.md`](local-development.md).
30
+
-`--bind-address <ip>` - Listener IP address (default: `127.0.0.1`)
30
31
-`--port <port>` - Port to listen on (default: 8100)
31
32
-`--api-key <key>` - API key for authentication (auto-generated if not provided)
32
33
-`--enabled-tools <name>` - Restrict available tools to those named (repeatable)
Copy file name to clipboardExpand all lines: docs/mcp.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -99,4 +99,5 @@ network:
99
99
2. **Containerization**: Stdio MCP servers run as isolated Docker containers (per MCPG spec §3.2.1)
100
100
3. **Environment Isolation**: MCP containers are spawned by MCPG with only the configured environment variables
101
101
4. **MCPG Gateway**: All MCP traffic flows through the MCP Gateway which enforces tool-level filtering
102
-
5. **Network Isolation**: MCP containers run within the same AWF-isolated network. Users must explicitly allow external domains via `network.allowed`
102
+
5. **Trusted egress**: MCPG and the stdio/HTTP backends it spawns from `mcp-servers:` front matter are trusted infrastructure that runs outside the agent's Squid-enforced allowlist — they have direct network egress and are not subject to `network.allowed`/`network.blocked`. Only the Copilot agent process itself is confined to the AWF sandbox and its domain allowlist; see [`docs/mcpg.md`](mcpg.md) and [`docs/network.md`](network.md) for the topology.
103
+
6. **SafeOutputs is further hardened**: unlike arbitrary `mcp-servers:` entries, the compiler-owned `safeoutputs` MCPG backend is not a user-configurable trusted-egress container — it is a dedicated stdio child spawned by MCPG from the pinned AWF `agent` image with `--network none`, `--cap-drop ALL`, a read-only rootfs, and the host ADO runner's non-root UID/GID. It has no network access at all, trusted or otherwise; see [`docs/mcpg.md`](mcpg.md).
0 commit comments