buzz-acp: add structured MCP server configuration - #4164
Conversation
There was a problem hiding this comment.
💡 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".
|
#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 |
9cc1104 to
8c99312
Compare
8c99312 to
85ef19f
Compare
85ef19f to
dbf1cc4
Compare
|
@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. |
d0d3236 to
780561c
Compare
|
@tlongwell-block @wpfleger96, I have replaced the repair history with four reviewable commits on current Local tests, Clippy, formatting and the real two-server, two-session proof are green. CI is running. |
780561c to
0945861
Compare
|
The HTTP v1 extension and wolfyy970 review fixes are ready to fold into this branch. This account cannot push to |
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: custard-pirate <custard-pirate@users.noreply.github.com>
Signed-off-by: custard-pirate <custard-pirate@users.noreply.github.com>
0945861 to
2425672
Compare
|
@custard-pirate, I folded your two signed HTTP commits into this branch and rebased the full six-commit series onto current The PR now owns one v1 handoff for named stdio and Streamable HTTP servers, so #4271 can close as superseded. The focused suites and full @tlongwell-block @wpfleger96, this is ready for review as the shared MCP configuration boundary. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2425672b9c
ℹ️ 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".
Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 31bcbb3213
ℹ️ 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".
Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6f1a8278bf
ℹ️ 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".
Signed-off-by: KC <79471844+wolfyy970@users.noreply.github.com>
|
Follow-up review caught four issues after the HTTP handoff: argument and short-value redaction, stale v1 documentation, and HTTP header syntax validation. I fixed all four and resolved the threads. The 259 core tests, 738 ACP tests, formatting, and strict Clippy pass at |
Summary
This gives Buzz one versioned MCP launch document instead of separate formats for each adapter and transport.
buzz-acpaccepts multiple named stdio and Streamable HTTP servers, preserves their resolved configuration, checks the runtime's transport capability, and sends the same ordered list through every ACP session. The existingBUZZ_ACP_MCP_COMMANDpath remains the first compatibility input.Desktop and Project Connections can resolve approved tools into this boundary without teaching the runtime about personas, templates, or project state. Launchers can evolve while the ACP handoff stays stable.
Boundary
This document is resolved launch input. Personas, templates, and Projects remain authoring state and are not passed directly to a runtime.
The JSON contract is strict and bounded. Remote servers require HTTPS; literal loopback HTTP is allowed only without credentials. Server names are checked across structured and legacy inputs, protected Buzz credentials cannot be overridden, and MCP arguments, environment values, URLs, and headers are redacted from logs and observer output.
The adapter still inherits the harness environment, so this is explicit configuration rather than process isolation. Before unattended launch, the launcher must also establish the adapter's tool authorization policy. Transport support and permission to call a tool are separate gates.
Validation
just cicargo test -p buzz-core -p buzz-acp -p buzz-agent --no-fail-fastcargo clippy -p buzz-core -p buzz-acp -p buzz-agent --all-targets -- -D warningscargo fmt --all -- --checksession/newtogether with capability, URL, header, collision, and redaction coverageFixes #4154.