105 lines
2.8 KiB
Markdown
105 lines
2.8 KiB
Markdown
# 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
|
|
<dependency>
|
|
<groupId>org.springframework.experimental</groupId>
|
|
<artifactId>mcp-webflux-sse-transport</artifactId>
|
|
<version>0.5.0-SNAPSHOT</version>
|
|
</dependency>
|
|
```
|
|
|
|
For WebMVC SSE transport:
|
|
```xml
|
|
<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:
|
|
```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
|
|
<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
|