Skip to content

Commit baf5fe9

Browse files
fix: remove legacy service-connection MCP field (#233) (#234)
Remove the dead `service_connection` field from `McpOptions` and fix incorrect documentation claiming 1ES uses service connections for MCP routing. Both targets use MCPG — the field was parsed but never read. - Remove `service_connection` field from `McpOptions` in types.rs - Remove `service-connection:` from AGENTS.md MCP config docs - Fix create/update prompts: 1ES supports containerized MCPs via MCPG Closes #233 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 92b6e3e commit baf5fe9

4 files changed

Lines changed: 3 additions & 10 deletions

File tree

AGENTS.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1564,7 +1564,6 @@ mcp-servers:
15641564
**Common (both types):**
15651565
- `allowed:` - Array of tool names the agent is permitted to call (required for security)
15661566
- `env:` - Environment variables for the MCP server process. Use `""` (empty string) for passthrough from the pipeline environment.
1567-
- `service-connection:` - (1ES target only) Override the service connection name. Defaults to `mcp-<name>-service-connection`
15681567

15691568
### Environment Variable Passthrough
15701569

prompts/create-ado-agentic-workflow.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ target: 1es
174174
| Value | Generates |
175175
|---|---|
176176
| `standalone` | Full 3-job pipeline with AWF network sandbox and Squid proxy |
177-
| `1es` | Pipeline extending `1ES.Unofficial.PipelineTemplate.yml`; no custom proxy; MCPs via service connections |
177+
| `1es` | Pipeline extending `1ES.Unofficial.PipelineTemplate.yml`; no custom proxy; MCPs via MCPG |
178178

179179
### Step 8 — MCP Servers
180180

@@ -217,9 +217,7 @@ mcp-servers:
217217

218218
> **Security**: All `mcp-servers:` entries must have an explicit `allowed:` list.
219219
>
220-
> **Standalone target** (default): Only `mcp-servers:` entries with a `container:` or `url:` field are used. Entries without either field are silently skipped.
221-
>
222-
> **1ES target**: Custom containerized MCPs are mapped to service connections. Use `tools: azure-devops:` for ADO integration on both targets.
220+
> **Standalone target** (the default): Built-in MCPs (entries without a `container:` or `url:` field) are silently skipped at compile time — they have no effect and will not be available to the agent. For the standalone target, use only **custom** containerized MCPs with a `container:` field.
223221

224222
### Step 9 — Safe Outputs
225223

@@ -592,4 +590,3 @@ safe-outputs:
592590
- **No direct writes**: All mutations go through safe outputs — the agent cannot push code or call write APIs directly.
593591
- **Compile before committing**: Always compile with `ado-aw compile` and commit both the `.md` source and generated `.yml` together.
594592
- **Check validation**: The compiler will error if write safe-outputs are configured without `permissions.write`.
595-
- **1ES target limits**: No custom MCPs, no custom network allow-lists — these are handled by OneBranch infrastructure.

prompts/update-ado-agentic-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ Before finalizing any update, verify:
250250

251251
6. **Network domains**: If new MCPs or external services are added, ensure required domains are in `network.allowed`.
252252

253-
7. **Target compatibility**: If `target: 1es`, custom containerized MCPs (with `container:`) are not supported — use `mcp-servers:` entries mapped to service connections instead.
253+
7. **Target compatibility**: Both `standalone` and `1es` targets support containerized MCPs via MCPG.
254254

255255
8. **Safe output `target` fields**: `comment-on-work-item` requires an explicit `target` field. `update-work-item` fields require explicit opt-in (`status: true`, `title: true`, etc.).
256256

src/compile/types.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -707,9 +707,6 @@ pub struct McpOptions {
707707
/// Environment variables for the MCP server process
708708
#[serde(default)]
709709
pub env: HashMap<String, String>,
710-
/// Service connection name (1ES only, auto-generated if not specified)
711-
#[serde(default, rename = "service-connection")]
712-
pub service_connection: Option<String>,
713710
}
714711

715712
/// Trigger configuration for the pipeline

0 commit comments

Comments
 (0)