Skip to content

Commit dad042e

Browse files
KehrlannWillam2004
authored andcommitted
Bump MCP 0.12.1 -> 0.13.0-SNAPSHOT (spring-projects#4403)
* Bump MCP 0.12.1 -> 0.13.0-SNAPSHOT * Bump MCP annotations 0.3.1 -> 0.4.0-SNAPSHOT Signed-off-by: Daniel Garnier-Moiroux <[email protected]> Signed-off-by: 家娃 <[email protected]>
1 parent 4b321be commit dad042e

File tree

25 files changed

+97
-42
lines changed

25 files changed

+97
-42
lines changed

auto-configurations/mcp/spring-ai-autoconfigure-mcp-client-common/src/main/java/org/springframework/ai/mcp/client/common/autoconfigure/StdioTransportAutoConfiguration.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@
2020
import java.util.List;
2121
import java.util.Map;
2222

23+
import com.fasterxml.jackson.databind.ObjectMapper;
2324
import io.modelcontextprotocol.client.transport.ServerParameters;
2425
import io.modelcontextprotocol.client.transport.StdioClientTransport;
26+
import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper;
2527
import io.modelcontextprotocol.spec.McpSchema;
2628

2729
import org.springframework.ai.mcp.client.common.autoconfigure.properties.McpClientCommonProperties;
@@ -76,7 +78,8 @@ public List<NamedClientMcpTransport> stdioTransports(McpStdioClientProperties st
7678
List<NamedClientMcpTransport> stdioTransports = new ArrayList<>();
7779

7880
for (Map.Entry<String, ServerParameters> serverParameters : stdioProperties.toServerParameters().entrySet()) {
79-
var transport = new StdioClientTransport(serverParameters.getValue());
81+
var transport = new StdioClientTransport(serverParameters.getValue(),
82+
new JacksonMcpJsonMapper(new ObjectMapper()));
8083
stdioTransports.add(new NamedClientMcpTransport(serverParameters.getKey(), transport));
8184

8285
}

auto-configurations/mcp/spring-ai-autoconfigure-mcp-client-common/src/test/java/org/springframework/ai/mcp/client/common/autoconfigure/McpClientAutoConfigurationIT.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
import java.util.List;
2121
import java.util.function.Function;
2222

23-
import com.fasterxml.jackson.core.type.TypeReference;
2423
import io.modelcontextprotocol.client.McpAsyncClient;
2524
import io.modelcontextprotocol.client.McpSyncClient;
25+
import io.modelcontextprotocol.json.TypeRef;
2626
import io.modelcontextprotocol.spec.McpClientTransport;
2727
import io.modelcontextprotocol.spec.McpSchema;
2828
import org.junit.jupiter.api.Test;
@@ -284,8 +284,8 @@ public Mono<Void> sendMessage(McpSchema.JSONRPCMessage message) {
284284
}
285285

286286
@Override
287-
public <T> T unmarshalFrom(Object value, TypeReference<T> type) {
288-
return null; // Test implementation
287+
public <T> T unmarshalFrom(Object data, TypeRef<T> typeRef) {
288+
return null;
289289
}
290290

291291
@Override

auto-configurations/mcp/spring-ai-autoconfigure-mcp-client-httpclient/src/main/java/org/springframework/ai/mcp/client/httpclient/autoconfigure/SseHttpClientTransportAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport;
2727
import io.modelcontextprotocol.client.transport.customizer.McpAsyncHttpClientRequestCustomizer;
2828
import io.modelcontextprotocol.client.transport.customizer.McpSyncHttpClientRequestCustomizer;
29+
import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper;
2930
import io.modelcontextprotocol.spec.McpSchema;
3031

3132
import org.springframework.ai.mcp.client.common.autoconfigure.McpSseClientConnectionDetails;
@@ -119,7 +120,7 @@ public List<NamedClientMcpTransport> sseHttpClientTransports(McpSseClientConnect
119120
HttpClientSseClientTransport.Builder transportBuilder = HttpClientSseClientTransport.builder(baseUrl)
120121
.sseEndpoint(sseEndpoint)
121122
.clientBuilder(HttpClient.newBuilder())
122-
.objectMapper(objectMapper);
123+
.jsonMapper(new JacksonMcpJsonMapper(objectMapper));
123124

124125
asyncHttpRequestCustomizer.ifUnique(transportBuilder::asyncHttpRequestCustomizer);
125126
syncHttpRequestCustomizer.ifUnique(transportBuilder::httpRequestCustomizer);

auto-configurations/mcp/spring-ai-autoconfigure-mcp-client-httpclient/src/main/java/org/springframework/ai/mcp/client/httpclient/autoconfigure/StreamableHttpHttpClientTransportAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import io.modelcontextprotocol.client.transport.HttpClientStreamableHttpTransport;
2727
import io.modelcontextprotocol.client.transport.customizer.McpAsyncHttpClientRequestCustomizer;
2828
import io.modelcontextprotocol.client.transport.customizer.McpSyncHttpClientRequestCustomizer;
29+
import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper;
2930
import io.modelcontextprotocol.spec.McpSchema;
3031

3132
import org.springframework.ai.mcp.client.common.autoconfigure.NamedClientMcpTransport;
@@ -117,7 +118,7 @@ public List<NamedClientMcpTransport> streamableHttpHttpClientTransports(
117118
.builder(baseUrl)
118119
.endpoint(streamableHttpEndpoint)
119120
.clientBuilder(HttpClient.newBuilder())
120-
.objectMapper(objectMapper);
121+
.jsonMapper(new JacksonMcpJsonMapper(objectMapper));
121122

122123
asyncHttpRequestCustomizer.ifUnique(transportBuilder::asyncHttpRequestCustomizer);
123124
syncHttpRequestCustomizer.ifUnique(transportBuilder::httpRequestCustomizer);

auto-configurations/mcp/spring-ai-autoconfigure-mcp-client-webflux/src/main/java/org/springframework/ai/mcp/client/webflux/autoconfigure/SseWebFluxTransportAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import com.fasterxml.jackson.databind.ObjectMapper;
2424
import io.modelcontextprotocol.client.transport.WebFluxSseClientTransport;
25+
import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper;
2526

2627
import org.springframework.ai.mcp.client.common.autoconfigure.McpSseClientConnectionDetails;
2728
import org.springframework.ai.mcp.client.common.autoconfigure.NamedClientMcpTransport;
@@ -102,7 +103,7 @@ public List<NamedClientMcpTransport> sseWebFluxClientTransports(McpSseClientConn
102103
? serverParameters.getValue().sseEndpoint() : "/sse";
103104
var transport = WebFluxSseClientTransport.builder(webClientBuilder)
104105
.sseEndpoint(sseEndpoint)
105-
.objectMapper(objectMapper)
106+
.jsonMapper(new JacksonMcpJsonMapper(objectMapper))
106107
.build();
107108
sseTransports.add(new NamedClientMcpTransport(serverParameters.getKey(), transport));
108109
}

auto-configurations/mcp/spring-ai-autoconfigure-mcp-client-webflux/src/main/java/org/springframework/ai/mcp/client/webflux/autoconfigure/StreamableHttpWebFluxTransportAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import com.fasterxml.jackson.databind.ObjectMapper;
2424
import io.modelcontextprotocol.client.transport.WebClientStreamableHttpTransport;
25+
import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper;
2526

2627
import org.springframework.ai.mcp.client.common.autoconfigure.NamedClientMcpTransport;
2728
import org.springframework.ai.mcp.client.common.autoconfigure.properties.McpClientCommonProperties;
@@ -100,7 +101,7 @@ public List<NamedClientMcpTransport> streamableHttpWebFluxClientTransports(
100101

101102
var transport = WebClientStreamableHttpTransport.builder(webClientBuilder)
102103
.endpoint(streamableHttpEndpoint)
103-
.objectMapper(objectMapper)
104+
.jsonMapper(new JacksonMcpJsonMapper(objectMapper))
104105
.build();
105106

106107
streamableHttpTransports.add(new NamedClientMcpTransport(serverParameters.getKey(), transport));

auto-configurations/mcp/spring-ai-autoconfigure-mcp-server-common/src/main/java/org/springframework/ai/mcp/server/common/autoconfigure/McpServerAutoConfiguration.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import java.util.function.BiConsumer;
2222
import java.util.function.BiFunction;
2323

24+
import com.fasterxml.jackson.databind.ObjectMapper;
25+
import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper;
2426
import io.modelcontextprotocol.server.McpAsyncServer;
2527
import io.modelcontextprotocol.server.McpAsyncServerExchange;
2628
import io.modelcontextprotocol.server.McpServer;
@@ -88,8 +90,10 @@ public class McpServerAutoConfiguration {
8890

8991
@Bean
9092
@ConditionalOnMissingBean
91-
public McpServerTransportProviderBase stdioServerTransport() {
92-
return new StdioServerTransportProvider();
93+
public McpServerTransportProviderBase stdioServerTransport(ObjectProvider<ObjectMapper> objectMapperProvider) {
94+
ObjectMapper objectMapper = objectMapperProvider.getIfAvailable(ObjectMapper::new);
95+
96+
return new StdioServerTransportProvider(new JacksonMcpJsonMapper(objectMapper));
9397
}
9498

9599
@Bean

auto-configurations/mcp/spring-ai-autoconfigure-mcp-server-common/src/test/java/org/springframework/ai/mcp/server/common/autoconfigure/McpServerAutoConfigurationIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
import java.util.function.BiConsumer;
2121
import java.util.function.BiFunction;
2222

23-
import com.fasterxml.jackson.core.type.TypeReference;
2423
import io.modelcontextprotocol.client.McpSyncClient;
24+
import io.modelcontextprotocol.json.TypeRef;
2525
import io.modelcontextprotocol.server.McpAsyncServer;
2626
import io.modelcontextprotocol.server.McpAsyncServerExchange;
2727
import io.modelcontextprotocol.server.McpServerFeatures;
@@ -490,7 +490,7 @@ public Mono<Void> sendMessage(McpSchema.JSONRPCMessage message) {
490490
}
491491

492492
@Override
493-
public <T> T unmarshalFrom(Object value, TypeReference<T> type) {
493+
public <T> T unmarshalFrom(Object data, TypeRef<T> type) {
494494
return null; // Test implementation
495495
}
496496

auto-configurations/mcp/spring-ai-autoconfigure-mcp-server-webflux/src/main/java/org/springframework/ai/mcp/server/autoconfigure/McpServerSseWebFluxAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.ai.mcp.server.autoconfigure;
1818

1919
import com.fasterxml.jackson.databind.ObjectMapper;
20+
import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper;
2021
import io.modelcontextprotocol.server.transport.WebFluxSseServerTransportProvider;
2122
import io.modelcontextprotocol.spec.McpServerTransportProvider;
2223

@@ -87,7 +88,7 @@ public WebFluxSseServerTransportProvider webFluxTransport(ObjectProvider<ObjectM
8788
ObjectMapper objectMapper = objectMapperProvider.getIfAvailable(ObjectMapper::new);
8889

8990
return WebFluxSseServerTransportProvider.builder()
90-
.objectMapper(objectMapper)
91+
.jsonMapper(new JacksonMcpJsonMapper(objectMapper))
9192
.basePath(serverProperties.getBaseUrl())
9293
.messageEndpoint(serverProperties.getSseMessageEndpoint())
9394
.sseEndpoint(serverProperties.getSseEndpoint())

auto-configurations/mcp/spring-ai-autoconfigure-mcp-server-webflux/src/main/java/org/springframework/ai/mcp/server/autoconfigure/McpServerStatelessWebFluxAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.ai.mcp.server.autoconfigure;
1818

1919
import com.fasterxml.jackson.databind.ObjectMapper;
20+
import io.modelcontextprotocol.json.jackson.JacksonMcpJsonMapper;
2021
import io.modelcontextprotocol.server.transport.WebFluxStatelessServerTransport;
2122
import io.modelcontextprotocol.spec.McpSchema;
2223

@@ -50,7 +51,7 @@ public WebFluxStatelessServerTransport webFluxStatelessServerTransport(
5051
ObjectMapper objectMapper = objectMapperProvider.getIfAvailable(ObjectMapper::new);
5152

5253
return WebFluxStatelessServerTransport.builder()
53-
.objectMapper(objectMapper)
54+
.jsonMapper(new JacksonMcpJsonMapper(objectMapper))
5455
.messageEndpoint(serverProperties.getMcpEndpoint())
5556
// .disallowDelete(serverProperties.isDisallowDelete())
5657
.build();

0 commit comments

Comments
 (0)