extract mcp-over-acp proxy, align with RFD#146
Open
nikomatsakis wants to merge 16 commits into
Open
Conversation
nikomatsakis
commented
Apr 30, 2026
Contributor
Author
nikomatsakis
left a comment
There was a problem hiding this comment.
(Review for agent)
3e99bee to
8f8814d
Compare
- Remove McpAcpTransport struct and MetaCapability impl from capabilities.rs (keep MetaCapability/MetaCapabilityExt traits for proxy capability) - Rename McpConnectRequest.acp_url to acp_id across all source and tests - Update snapshot tests for schema changes (mcpCapabilities.acp, auth removal) - Switch agent-client-protocol-schema to path dependency
New crate src/agent-client-protocol-polyfill with mcp_over_acp module: - McpOverAcpPolyfill proxy (ConnectTo<Conductor>) - BridgeConnectionActor, BridgeListeners, BridgeConnection - HTTP and stdio bridge transports - Uses own BridgeMessage enum instead of ConductorMessage Conductor bridge code still present (removed in Step 3).
- Remove McpBridgeMode enum and mcp_bridge_mode parameter - Delete conductor/mcp_bridge module (actor, http, stdio) - Remove bridge fields from ConductorResponder - Remove bridge ConductorMessage variants and handling - Remove NewSessionRequest MCP server transformation - Update all 16 test files to remove McpBridgeMode - Mark 13 bridge-dependent tests as #[ignore]
…Capabilities.acp) Replace all _meta.symposium.mcp_acp_transport references with mcpCapabilities.acp in: - md/proxying-acp.md (8 references) - md/protocol.md (3 references) - md/conductor.md (2 references) - md/mcp-bridge.md (1 reference)
- Add McpConnectionTo::acp_id(), deprecate acp_url() - Remove orphaned 'conductor mcp $port' CLI subcommand and mcp_bridge.rs - Fix all 13 previously-ignored tests to use McpOverAcpPolyfill::http() - Fix BridgeResponder bug: route through BridgeMessage::ConnectionEstablished instead of creating new HashMap in on_receiving_result callback - Auto-update 2 snapshot tests for new proxy in chain
- agent-client-protocol: removed McpAcpTransport, renamed acp_url→acp_id, added acp_id(), deprecated acp_url() - agent-client-protocol-conductor: removed McpBridgeMode, removed conductor mcp CLI subcommand
Instead of unconditionally enabling unstable_mcp_over_acp on the schema dependency, declare it as a feature on agent-client-protocol that forwards to agent-client-protocol-schema/unstable_mcp_over_acp. Conductor and polyfill crates opt in explicitly.
The conductor and polyfill don't reference McpServer::Acp or McpCapabilities.acp in their source — only snapshot tests see the field in serialized output. Move the feature to dev-dependencies.
- Restore doc comments in polyfill actor.rs and http.rs that were stripped during extraction from conductor - Polyfill now intercepts InitializeProxyRequest and sets mcpCapabilities.acp = true in the response - Re-enable unstable_mcp_over_acp feature for polyfill crate (it needs to set the acp field) - Update snapshot tests to reflect acp: true ProxiesAndAgent API redesign noted for separate PR.
- Fix two stale test references to the removed McpAcpTransport type (regression from "Step 1/1b") by switching to TestCapability - Regenerate trace_* expect snapshots so they match the actual output under --all-features (adds auth capability fields exposed by unstable_auth_methods) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
f2582f5 to
9ad0f9e
Compare
CI runs clippy with `-D warnings` and surfaced three lints in the new mcp_over_acp module: - derivable_impls: replace the manual `impl Default for BridgeMode` with `#[derive(Default)]` and `#[default]` on the `Http` variant - must_use_candidate: add `#[must_use]` to `McpOverAcpPolyfill::http` and `::stdio` constructors Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR makes two important changes
Also, removes some outdated text about
html_paneletc.