# Breaking Changes for Spring AI MCP 0.5.0-SNAPSHOT ## Major Changes 1. Transport Implementation Modularization - SSE transport implementations have been moved to dedicated modules: - `mcp-webflux-sse-transport`: WebFlux-based SSE transport - `mcp-webmvc-sse-transport`: WebMVC-based SSE transport - Base MCP module no longer includes transport implementations 2. Class Renames - `SseClientTransport` → `WebFluxSseClientTransport` - `SseServerTransport` → `WebFluxSseServerTransport` 3. Project Structure - Test utilities moved to new `mcp-test` module - All samples moved to the the https://github.com/spring-projects/spring-ai-examples/tree/main/model-context-protocol ## Migration Guide ### 1. Update Dependencies If using SSE transport, add the appropriate transport module to your pom.xml: For WebFlux SSE transport: ```xml org.springframework.experimental mcp-webflux-sse-transport 0.5.0-SNAPSHOT ``` For WebMVC SSE transport: ```xml org.springframework.experimental mcp-webmvc-sse-transport 0.5.0-SNAPSHOT ``` ### 2. Update Transport Class References Replace: ```java import org.springframework.ai.mcp.client.transport.SseClientTransport; import org.springframework.ai.mcp.server.transport.SseServerTransport; ``` With: ```java // For WebFlux import org.springframework.ai.mcp.client.transport.WebFluxSseClientTransport; import org.springframework.ai.mcp.server.transport.WebFluxSseServerTransport; // Or for WebMVC import org.springframework.ai.mcp.server.transport.WebMvcSseServerTransport; ``` ### 3. Update Transport Instantiation Replace: ```java var transport = new SseClientTransport(webClientBuilder); ``` With: ```java var transport = new WebFluxSseClientTransport(webClientBuilder); ``` Replace: ```java var serverTransport = new SseServerTransport(objectMapper, messageEndpoint); ``` With: ```java // For WebFlux var serverTransport = new WebFluxSseServerTransport(objectMapper, messageEndpoint); // Or for WebMVC var serverTransport = new WebMvcSseServerTransport(objectMapper, messageEndpoint); ``` ### 4. Test Dependencies If you're using MCP test utilities, add the test module dependency: ```xml org.springframework.experimental mcp-test 0.5.0-SNAPSHOT test ``` ## Other Changes - Spring AI dependency updated to 1.0.0-M5 - Improved dependency management and reduced transitive dependencies - Sample application restructured under samples/ directory - New test utilities and base test classes in mcp-test module