2.8 KiB
2.8 KiB
Breaking Changes for Spring AI MCP 0.5.0-SNAPSHOT
Major Changes
-
Transport Implementation Modularization
- SSE transport implementations have been moved to dedicated modules:
mcp-webflux-sse-transport: WebFlux-based SSE transportmcp-webmvc-sse-transport: WebMVC-based SSE transport
- Base MCP module no longer includes transport implementations
- SSE transport implementations have been moved to dedicated modules:
-
Class Renames
SseClientTransport→WebFluxSseClientTransportSseServerTransport→WebFluxSseServerTransport
-
Project Structure
- Test utilities moved to new
mcp-testmodule - All samples moved to the the https://github.com/spring-projects/spring-ai-examples/tree/main/model-context-protocol
- Test utilities moved to new
Migration Guide
1. Update Dependencies
If using SSE transport, add the appropriate transport module to your pom.xml:
For WebFlux SSE transport:
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp-webflux-sse-transport</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
For WebMVC SSE transport:
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp-webmvc-sse-transport</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
2. Update Transport Class References
Replace:
import org.springframework.ai.mcp.client.transport.SseClientTransport;
import org.springframework.ai.mcp.server.transport.SseServerTransport;
With:
// 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:
var transport = new SseClientTransport(webClientBuilder);
With:
var transport = new WebFluxSseClientTransport(webClientBuilder);
Replace:
var serverTransport = new SseServerTransport(objectMapper, messageEndpoint);
With:
// 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:
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp-test</artifactId>
<version>0.5.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
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