Skip to content

feat(acp): implement P0 protocol gaps G2, G3, G4, G8#948

Merged
bug-ops merged 2 commits intomainfrom
feat/acp-930-mcp-transport
Feb 26, 2026
Merged

feat(acp): implement P0 protocol gaps G2, G3, G4, G8#948
bug-ops merged 2 commits intomainfrom
feat/acp-930-mcp-transport

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Feb 26, 2026

Summary

  • G8: MCP bridge now converts Http and Sse ACP server variants to McpTransport::Http entries instead of silently skipping them. SSE maps to Streamable HTTP since rmcp's StreamableHttpClientTransport handles both.
  • G3: AgentCapabilities in the initialize response now advertises config_options and ext_methods support via meta fields.
  • G4: ext_notification handler override logs method name at debug level and returns Ok(()) instead of method_not_found.
  • G2: set_session_mode handler validates session existence and returns SetSessionModeResponse; unknown sessions return invalid_request.

G1 (SDK upgrade): no action needed — agent-client-protocol 0.9.4 is already the latest stable.

Test plan

  • cargo nextest run -p zeph-acp — 104 tests, all pass
  • cargo clippy --workspace -- -D warnings — zero warnings
  • cargo +nightly fmt --check — clean
  • Verify new converts_http_server, converts_sse_server, mixed_list_returns_all tests in mcp_bridge
  • Verify ext_notification_accepts_unknown_method test in agent
  • Verify set_session_mode_returns_ok_for_valid_session and set_session_mode_returns_error_for_unknown_session tests

@github-actions github-actions bot added enhancement New feature or request documentation Improvements or additions to documentation rust size/L and removed enhancement New feature or request labels Feb 26, 2026
@bug-ops bug-ops force-pushed the feat/acp-930-mcp-transport branch from fb6ac36 to cbfeb36 Compare February 26, 2026 02:09
@github-actions github-actions bot added the enhancement New feature or request label Feb 26, 2026
@bug-ops bug-ops enabled auto-merge (squash) February 26, 2026 02:10
G2: add set_session_mode handler that validates session existence and
    returns SetSessionModeResponse; unknown sessions return an error.

G3: advertise config_options and ext_methods support in AgentCapabilities
    via meta fields on the initialize response.

G4: override ext_notification to log method name at debug level and
    return Ok(()) instead of the default method_not_found error.

G8: extend mcp_bridge to convert Http and Sse McpServer variants to
    McpTransport::Http entries instead of silently skipping them.
    SSE is mapped to Streamable HTTP since rmcp handles both.

Closes #930
Document new ACP capabilities: MCP HTTP/SSE transport (G8),
set_session_mode (G2), ext_notification (G4), AgentCapabilities
meta fields (G3).
@bug-ops bug-ops force-pushed the feat/acp-930-mcp-transport branch from cbfeb36 to 4f165c5 Compare February 26, 2026 02:19
@bug-ops bug-ops merged commit b8820cc into main Feb 26, 2026
28 checks passed
@bug-ops bug-ops deleted the feat/acp-930-mcp-transport branch February 26, 2026 02:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request rust size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant