feat(acp): support remote HTTP MCP servers - #4271
Conversation
Signed-off-by: custard-pirate <custard-pirate@users.noreply.github.com>
|
@custard-pirate, I had already built #4164 before I came across this PR. It covers named stdio MCP servers, isolated per-server environments, compatibility with the existing command setting and secret-safe launch configuration. This PR covers remote HTTP transport, so the work is complementary, but both currently define the configuration shape that reaches ACP. The practical win is one reviewable configuration for both local and hosted tools, with credentials scoped to the individual server. I think the clean merge is a single versioned typed document with I opened #4301 with the broader product shape and proposed PR split. I would like to align these schemas rather than leave Buzz with two permanent configuration surfaces. |
|
Thanks — agreed. A single versioned, typed MCP configuration with I’m happy to align #4271 with #4164. I’ll review its configuration model and #4301 in more detail, then we can coordinate the shared types and PR boundary so the two changes remain complementary. In particular, I’d like to preserve per-server credential isolation for HTTP servers without putting concrete endpoints or secrets into portable agent templates. |
Summary
session/newwhen the selected runtime does not advertiseagentCapabilities.mcpCapabilities.httpWhy
buzz-acpcurrently exposes only one local stdio MCP command. That makes authenticated remote MCP services require either a transport bridge or a downstream ACP patch. Supporting the ACP HTTP server variant lets operators attach role-scoped remote tools without replacing the built-in stdio tool surface.This is a generic, headless subset of the transport and security work explored in #3286. It deliberately omits the Patina-specific connection lifecycle, prompt guidance, and Desktop UI. It is complementary to #2900, which adds multiple stdio commands rather than the ACP HTTP transport.
Security and behavior
Debugimplementations and are removed from wire logging and observer framesValidation
cargo test -p buzz-acp --lib— 666 passedcargo clippy -p buzz-acp --all-targets -- -D warningscargo fmt -p buzz-acp -- --checkgit diff --checkThe published patch was also checked for deployment-specific domains, addresses, identities, and credential material; it contains only generic examples under
example.test.