Skip to content

buzz-acp: add structured MCP server configuration - #4164

Open
wolfyy970 wants to merge 7 commits into
block:mainfrom
wolfyy970:feat/acp-structured-mcp-servers
Open

buzz-acp: add structured MCP server configuration#4164
wolfyy970 wants to merge 7 commits into
block:mainfrom
wolfyy970:feat/acp-structured-mcp-servers

Conversation

@wolfyy970

@wolfyy970 wolfyy970 commented Aug 1, 2026

Copy link
Copy Markdown

Summary

This moves an agent's MCP tool set out of one opaque command and into a versioned, reviewable config. The same setup can be reproduced across agents and machines, and operators can see what will run before giving it credentials.

buzz-acp now accepts multiple named MCP servers through --mcp-config or BUZZ_ACP_MCP_CONFIG. Version 1 supports stdio and preserves each server's name, command, arguments, order and environment without shell parsing. Invalid config stops startup.

The existing BUZZ_ACP_MCP_COMMAND path is unchanged and remains first when both inputs are present. The transport tag lets #4271 add HTTP without introducing another config format.

MCP environment values are redacted from wire logs, observer events, diagnostics and returned adapter errors.

Fixes #4154.

Boundary

Structured servers receive only their declared environment in the ACP request. The adapter still inherits the harness environment and launches the MCP processes, so this is explicit configuration, not process isolation.

Validation

  • cargo test -p buzz-acp --no-fail-fast (697 unit tests, 10 integration tests)
  • cargo clippy -p buzz-acp --all-targets -- -D warnings
  • cargo fmt -p buzz-acp -- --check
  • Desktop reserved-environment tests (42 passed)

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f9e32d5848

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/buzz-acp/src/acp.rs

wolfyy970 commented Aug 2, 2026

Copy link
Copy Markdown
Author

#4301 now describes the broader portable-agent lifecycle using Buzz's existing agent, template, connection, version and snapshot concepts. This PR remains the first narrow slice: structured, named MCP configuration in buzz-acp.

Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
@wolfyy970
wolfyy970 force-pushed the feat/acp-structured-mcp-servers branch from 85ef19f to dbf1cc4 Compare August 3, 2026 22:59

Copy link
Copy Markdown
Author

@tlongwell-block @wpfleger96, @custard-pirate and I agree on the MCP split: #4164 owns the versioned document and stdio transport; #4271 adds HTTP to that schema. #4480 can then use the same document for live changes instead of adding a third config format.

That leaves Buzz with one MCP configuration surface and one compatibility input. Could one of you confirm this ownership split? If so, I will keep #4164 at that boundary and help adapt #4271 to it.

Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
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.

buzz-acp: structured MCP server configuration with explicit credential scoping

1 participant