Skip to content

rename agency_paramscopilot_params, remove built-in MCP spawning, and update docs#135

Merged
jamesadevine merged 11 commits intomainfrom
copilot/remove-agency-mentions-from-ado-aw
Apr 8, 2026
Merged

rename agency_paramscopilot_params, remove built-in MCP spawning, and update docs#135
jamesadevine merged 11 commits intomainfrom
copilot/remove-agency-mentions-from-ado-aw

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 7, 2026

The codebase still referred to the old "agency" CLI tool in template markers, variable names, MCP spawn commands, and documentation. All references now reflect the GitHub Copilot CLI, the built-in MCP spawning subcommand code has been removed, and documentation has been updated to remove agency-style built-in MCP concepts.

Changes

  • Template marker: {{ agency_params }}{{ copilot_params }} in templates/base.yml and templates/1es-base.yml
  • Built-in MCP spawning removed: Removed the agency mcp <name> code path from generate_firewall_config() in standalone.rs. MCPs without an explicit command: are now skipped entirely.
  • --mcp flag generation removed: Removed the --mcp <name> param generation from generate_copilot_params() in common.rs — the Copilot CLI has no mcp subcommand or flag for re-enabling named MCPs.
  • Local variables: agency_paramscopilot_params in standalone.rs and onees.rs, including template replacement tuples
  • Log path: $(Build.StagingDirectory)/agency-logscopilot-logs in 1ES template; removed stale ~/.agency/logs copy blocks from base.yml
  • AGENTS.md documentation: Removed all agency-style built-in MCP references — the architecture diagram, firewall config format, mcp-servers: section, and {{ mcp_configuration }} (1ES) section no longer reference ado/icm/kusto as built-in MCPs. The mcp-servers: section now documents only custom MCPs (those requiring a command: field). The {{ copilot_params }} section no longer lists --mcp <name>.
  • Other comments & docs: updated references in common.rs, mcp_metadata.rs, and tests/*.md

Note: agencyJob and agentContextRoot in the 1ES template are external 1ES Pipeline Template API values and are unchanged.

…eferences with copilot

Agent-Logs-Url: https://github.com/githubnext/ado-aw/sessions/6de925b5-b695-4ace-ace7-292d6f1896a2

Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
Copilot AI changed the title [WIP] Remove agency references and update agency_params to copilot_params rename agency_paramscopilot_params and replace agency CLI references with copilot Apr 7, 2026
Copilot AI requested a review from jamesadevine April 7, 2026 15:23
@jamesadevine
Copy link
Copy Markdown
Collaborator

@copilot let's remove the code related to agency mcp - we don't need to rename it to copilot mcp as we are planning to remove that subcommand entirely in a separate PR.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 8, 2026

@copilot let's remove the code related to agency mcp - we don't need to rename it to copilot mcp as we are planning to remove that subcommand entirely in a separate PR.

Done in 5850571. Removed both is_builtin_mcp branches from generate_firewall_config() — built-in MCPs without an explicit command: are now simply skipped. Also removed the two tests that verified the old copilot mcp <name> spawning behavior and added test_generate_firewall_config_builtin_without_command_skipped to cover the new skip behavior.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • api.github.com (HTTP Only)
    • Triggering command: /home/REDACTED/work/ado-aw/ado-aw/target/debug/ado-aw /home/REDACTED/work/ado-aw/ado-aw/target/debug/ado-aw proxy --allow api.github.com -C debuginfo=2 78713.0mizz1d78o628ut4xx7wgyc9t.0gbyo0a.rcgu.o 78713.0ngazdthsfhxly5w0qh4nq8um.0gbyo0a.rcgu.o 78713.0qrrfjjfld233fqf7wjvw4wly.0gbyo0a.rcgu.o 78713.10j9icf1tulf8y6i9s99smszw.0gbyo0a.rcgu.o 78713.12m2pdor12j5wla2dibp5y1w9.0gbyo0a.rcgu.o 78713.13cd5s948jmwh580h4c9949ls.0gbyo0a.rcgu.o 78713.1ekjyo5nqxvca1mydu8svrgiv.0gbyo0a.rcgu.o 78713.1j1h0src4spulfxhu5rz09flg.0gbyo0a.rcgu.o 78713.1stciq3pbk406mfjlpr8xj6qx.0gbyo0a.rcgu.o 78713.1ww07smrbg4w7eay6camk5skk.0gbyo0a.rcgu.o 78713.20k0a4ab6yrhrfmmyomnjf5ss.0gbyo0a.rcgu.o 78713.24wceespwybzb4rah7oihjiuv.0gbyo0a.rcgu.o 78713.29a387r89nmiehrr7mqoapxje.0gbyo0a.rcgu.o 78713.2nuxd190hsjm4dw0kkz5tdz18.0gbyo0a.rcgu.o (packet block)
  • dev.azure.com
    • Triggering command: /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/ado_aw-ec3615b173f842cf /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/ado_aw-ec3615b173f842cf --hash-style=gnu --as-needed -shared -fuse-ld=lld -z 2regaihc7r5d18zliln5ku8z.0p6fi77.rcgu.o bo8h4r0ac505s02ct9e9jfja.0p6fi77.rcgu.o hn3pk8m2qs5yvgvz2lhp494g.0p6fi77.rcgu.o imo2xsvhz31piwzuu8maj71s.0p6fi77.rcgu.o jb6ukj1d9vltv4tvdb2aptbe.0p6fi77.rcgu.o k6bus1woc864lk0ypulsh3ye.0p6fi77.rcgu.o tbuk6o45y9vvg5cz9ct0lzry.0p6fi77.rcgu.o uqvlm05fjogoxbv0012u6xvl.0p6fi77.rcgu.o azmhriamtr91bvha3pxyqnz5.0p6fi77.rcgu.o clcp8wiv2dn2tyge8zo6sya2.0p6fi77.rcgu.o dtuuubbi1poec8h30b6t4tp8.0p6fi77.rcgu.o kowmyjxwwcclh6toq1dlrf6o.0p6fi77.rcgu.o lltr8u89xait5bf8u1j3czre.0p6fi77.rcgu.o pdyehqhj2fm71ur0cn11ungu.0p6fi77.rcgu.o (dns block)
    • Triggering command: /home/REDACTED/work/ado-aw/ado-aw/target/debug/ado-aw /home/REDACTED/work/ado-aw/ado-aw/target/debug/ado-aw proxy --allow api.github.com --allow dev.azure.com --allow *.visualstudio.com 78713.0qrrfjjfld233fqf7wjvw4wly.0gbyo0a.rcgu.o 78713.10j9icf1tulf8y6i9s99smszw.0gbyo0a.rcgu.o 78713.12m2pdor12j5wla2dibp5y1w9.0gbyo0a.rcgu.o 78713.13cd5s948jmwh580h4c9949ls.0gbyo0a.rcgu.o 78713.1ekjyo5nqxvca1mydu8svrgiv.0gbyo0a.rcgu.o 78713.1j1h0src4spulfxhu5rz09flg.0gbyo0a.rcgu.o 78713.1stciq3pbk406mfjlpr8xj6qx.0gbyo0a.rcgu.o 78713.1ww07smrbg4w7eay6camk5skk.0gbyo0a.rcgu.o 78713.20k0a4ab6yrhrfmmyomnjf5ss.0gbyo0a.rcgu.o 78713.24wceespwybzb4rah7oihjiuv.0gbyo0a.rcgu.o 78713.29a387r89nmiehrr7mqoapxje.0gbyo0a.rcgu.o 78713.2nuxd190hsjm4dw0kkz5tdz18.0gbyo0a.rcgu.o (dns block)
  • msazuresphere.visualstudio.com
    • Triggering command: /home/REDACTED/work/ado-aw/ado-aw/target/debug/ado-aw /home/REDACTED/work/ado-aw/ado-aw/target/debug/ado-aw proxy --allow api.github.com --allow dev.azure.com --allow *.visualstudio.com 78713.0qrrfjjfld233fqf7wjvw4wly.0gbyo0a.rcgu.o 78713.10j9icf1tulf8y6i9s99smszw.0gbyo0a.rcgu.o 78713.12m2pdor12j5wla2dibp5y1w9.0gbyo0a.rcgu.o 78713.13cd5s948jmwh580h4c9949ls.0gbyo0a.rcgu.o 78713.1ekjyo5nqxvca1mydu8svrgiv.0gbyo0a.rcgu.o 78713.1j1h0src4spulfxhu5rz09flg.0gbyo0a.rcgu.o 78713.1stciq3pbk406mfjlpr8xj6qx.0gbyo0a.rcgu.o 78713.1ww07smrbg4w7eay6camk5skk.0gbyo0a.rcgu.o 78713.20k0a4ab6yrhrfmmyomnjf5ss.0gbyo0a.rcgu.o 78713.24wceespwybzb4rah7oihjiuv.0gbyo0a.rcgu.o 78713.29a387r89nmiehrr7mqoapxje.0gbyo0a.rcgu.o 78713.2nuxd190hsjm4dw0kkz5tdz18.0gbyo0a.rcgu.o (dns block)
  • raw.github.com
    • Triggering command: /home/REDACTED/work/ado-aw/ado-aw/target/debug/ado-aw /home/REDACTED/work/ado-aw/ado-aw/target/debug/ado-aw proxy --allow *.github.com -z relro 78713.0mizz1d78o628ut4xx7wgyc9t.0gbyo0a.rcgu.o 78713.0ngazdthsfhxly5w0qh4nq8um.0gbyo0a.rcgu.o 78713.0qrrfjjfld233fqf7wjvw4wly.0gbyo0a.rcgu.o 78713.10j9icf1tulf8y6i9s99smszw.0gbyo0a.rcgu.o 78713.12m2pdor12j5wla2dibp5y1w9.0gbyo0a.rcgu.o 78713.13cd5s948jmwh580h4c9949ls.0gbyo0a.rcgu.o 78713.1ekjyo5nqxvca1mydu8svrgiv.0gbyo0a.rcgu.o 78713.1j1h0src4spulfxhu5rz09flg.0gbyo0a.rcgu.o 78713.1stciq3pbk406mfjlpr8xj6qx.0gbyo0a.rcgu.o 78713.1ww07smrbg4w7eay6camk5skk.0gbyo0a.rcgu.o 78713.20k0a4ab6yrhrfmmyomnjf5ss.0gbyo0a.rcgu.o 78713.24wceespwybzb4rah7oihjiuv.0gbyo0a.rcgu.o 78713.29a387r89nmiehrr7mqoapxje.0gbyo0a.rcgu.o 78713.2nuxd190hsjm4dw0kkz5tdz18.0gbyo0a.rcgu.o (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Expand the update-awf-version workflow to also check for new
releases of github/copilot-cli and open PRs to update the
COPILOT_CLI_VERSION constant. Bumps max PRs from 1 to 2 to
allow both dependencies to be updated in a single run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI changed the title rename agency_paramscopilot_params and replace agency CLI references with copilot remove agency references and replace with copilot_params; remove built-in MCP spawning via agency mcp Apr 8, 2026
AGENTS.md Outdated
Comment on lines +1288 to +1289
│ │ │ │ │ ado MCP │
│ Agent │────▶│ MCP Firewall │────▶│ (agency mcp ado)│
│ Agent │────▶│ MCP Firewall │────▶│ (copilot mcp ado)│
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot we no longer have built in mcps like agency had - no copilot map ado or copilot map icm. The only built in mcps come from the copilot cli itself. everything else is added by the user.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 4c81411. Removed all agency-style built-in MCP references from AGENTS.md:

  • Architecture diagram no longer shows (copilot mcp ado) / (copilot mcp icm) — now shows only custom MCPs
  • Firewall config format example no longer has ado/icm/kusto entries using copilot mcp * commands
  • Removed the "Built-in MCP Servers" subsection and its list of ado, icm, kusto, etc.
  • The mcp-servers: section now only documents custom MCPs (those requiring a command: field)
  • Updated {{ copilot_params }} to clarify --disable-builtin-mcps/--mcp refer to the Copilot CLI's own native MCPs, not agency-style ones

AGENTS.md Outdated
Comment on lines +1288 to +1289
│ │ │ │ │ ado MCP │
│ Agent │────▶│ MCP Firewall │────▶│ (agency mcp ado)│
│ Agent │────▶│ MCP Firewall │────▶│ (copilot mcp ado)│
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot we no longer have built in mcps like agency had - no copilot map ado or copilot map icm. The only built in mcps come from the copilot cli itself. everything else is added by the user.

for tool in allowed_tools {
if tool.contains('(') || tool.contains(')') || tool.contains(' ') {
// Use double quotes - the agency_params are embedded inside a single-quoted
// Use double quotes - the copilot_params are embedded inside a single-quoted
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot Is this function used? copilot CLI does not have an mcp subcommand.

Copilot AI changed the title remove agency references and replace with copilot_params; remove built-in MCP spawning via agency mcp rename agency_paramscopilot_params, remove built-in MCP spawning, and update docs Apr 8, 2026
Copilot AI requested a review from jamesadevine April 8, 2026 10:14
…ot CLI has no mcp subcommand

Agent-Logs-Url: https://github.com/githubnext/ado-aw/sessions/5780d9cc-3b6e-4640-bd7b-df37f2acb416

Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 8, 2026

@copilot let's remove the code related to agency mcp - we don't need to rename it to copilot mcp as we are planning to remove that subcommand entirely in a separate PR.

Done in 5850571 — both is_builtin_mcp branches were removed from generate_firewall_config(). MCPs without an explicit command: are now skipped entirely.

@jamesadevine jamesadevine marked this pull request as ready for review April 8, 2026 11:16
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 8, 2026

🔍 Rust PR Review

Summary: Needs changes — one test is left broken, one logic/docs mismatch in the 1ES path, and a stale doc example.

Findings

🐛 Bugs / Logic Issues

  • src/compile/common.rs:891-897 — failing test not updated

    test_copilot_params_builtin_mcp_added_with_mcp_flag still asserts params.contains("--mcp ado"), but the --mcp <name> generation loop was exactly what this PR removed. The test panics today on the branch:

    assertion failed: params.contains("--mcp ado")
    

    The test name and assertion need to be inverted to verify the new behaviour (i.e. that --mcp ado is not emitted):

    fn test_copilot_params_builtin_mcp_no_mcp_flag() {
        // ...
        assert!(!params.contains("--mcp ado"));
    }
  • src/compile/onees.rs:225is_builtin_mcp still gates 1ES service-connection generation

    generate_mcp_configuration skips any MCP entry where !common::is_builtin_mcp(name). The updated docs now say:

    For each mcp-servers: entry without a command: field, generates a service connection reference using the entry name.

    But the code only generates service connections for names present in mcp-metadata.json with builtin: true. A user who adds my-org-service: true (a service-connection–based MCP that isn't in the bundled metadata) will see it silently dropped in the 1ES target. The guard should be opts.command.is_none() rather than an is_builtin_mcp check, consistent with the standalone path and the updated docs.

⚠️ Suggestions

  • AGENTS.md:135-151 — front matter example contradicts the updated MCP docs

    The "Input Format" reference example still shows ado: true # built-in, enabled with defaults, bluebird: true, icm: allowed: [...], etc. with comments describing them as built-ins. The MCP Configuration section was rewritten to remove built-in concepts entirely, leaving the document self-contradictory. The front matter example should be updated to only show custom MCPs (with command:).

  • tests/EXAMPLES.md:84 — stale example asserts removed behaviour

    The code snippet still does:

    assert!(result.contains("--mcp ado") || result.contains("--mcp es-chat"));

    Since --mcp emission was the thing removed in this PR, this example (while not a compiled test) will mislead future contributors. Worth updating to assert the absence of --mcp.

✅ What Looks Good

  • The mechanical rename (agency_paramscopilot_params) across templates, compiler, and tests is thorough and consistent.
  • Removing the agency mcp <name> subprocess path from generate_firewall_config and the corresponding unit tests (test_generate_firewall_config_builtin_*) is clean and correct.
  • The new test_generate_firewall_config_builtin_without_command_skipped test accurately captures the new standalone behaviour.
  • Log-path renames in both templates (agency-logscopilot-logs, removal of stale ~/.agency/logs copy blocks) are correct.
  • 1ES external API names (agencyJob, agentContextRoot, Agency_LogPath) are correctly left untouched.

Generated by Rust PR Reviewer for issue #135 · ● 2.2M ·

jamesadevine and others added 3 commits April 8, 2026 12:37
The MCP server iteration that adds --mcp flags for enabled built-in MCPs
was accidentally removed during the agency rename refactor.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot CLI has no built-in MCPs — all MCPs are handled via the MCP
firewall. Update the test to assert --mcp flags are not generated.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
All MCPs are now handled via the MCP firewall, not --mcp CLI flags.
Renamed 'Agency parameters' to 'Copilot parameters' in test docs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jamesadevine jamesadevine merged commit feccbeb into main Apr 8, 2026
1 check passed
@jamesadevine jamesadevine deleted the copilot/remove-agency-mentions-from-ado-aw branch April 8, 2026 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants