Skip to content

Commit 6c7cf52

Browse files
committed
Update to Spring AI 1.1
1 parent 1f9edb2 commit 6c7cf52

5 files changed

Lines changed: 22 additions & 13 deletions

File tree

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@
77
<parent>
88
<groupId>org.springframework.boot</groupId>
99
<artifactId>spring-boot-starter-parent</artifactId>
10-
<version>3.4.6</version>
10+
<version>3.5.7</version>
1111
<relativePath/>
1212
</parent>
1313

1414
<groupId>com.javaaidev.easymcpclient</groupId>
1515
<artifactId>easy-mcp-client</artifactId>
1616
<name>Easy MCP Client</name>
1717
<description>An easy-to-use MCP client for testing</description>
18-
<version>0.2.0</version>
18+
<version>0.3.0</version>
1919

2020
<properties>
2121
<maven.compiler.source>21</maven.compiler.source>
2222
<maven.compiler.target>21</maven.compiler.target>
2323
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
24-
<spring-ai.version>1.0.0</spring-ai.version>
24+
<spring-ai.version>1.1.0</spring-ai.version>
2525
<chat-agent-ui.version>0.11.0</chat-agent-ui.version>
2626
<llm-agent-spec.version>0.2.0</llm-agent-spec.version>
2727
</properties>
@@ -73,7 +73,7 @@
7373
<dependency>
7474
<groupId>io.modelcontextprotocol.sdk</groupId>
7575
<artifactId>mcp-bom</artifactId>
76-
<version>0.10.0</version>
76+
<version>0.16.0</version>
7777
<type>pom</type>
7878
<scope>import</scope>
7979
</dependency>

sample-config/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
!sample-config.json

src/main/java/com/javaaidev/easymcpclient/AppConfiguration.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.javaaidev.easymcpclient.client.SamplingService;
1212
import com.javaaidev.easymcpclient.config.McpClientConfig;
1313
import com.javaaidev.easymcpclient.config.mcp.NamedMcpServer;
14+
import io.modelcontextprotocol.json.McpJsonMapper;
1415
import java.io.IOException;
1516
import java.nio.file.Path;
1617
import java.util.List;
@@ -41,6 +42,12 @@ public ObjectMapper objectMapper() {
4142
.build();
4243
}
4344

45+
@Bean
46+
public McpJsonMapper mcpJsonMapper() {
47+
return McpJsonMapper.createDefault();
48+
}
49+
50+
4451
@Bean
4552
public McpClientConfig mcpClientConfig(ApplicationArguments arguments,
4653
ObjectMapper objectMapper) {
@@ -69,8 +76,9 @@ public SamplingService samplingService(ChatModel chatModel) {
6976

7077
@Bean
7178
public McpClientService mcpClientService(@Lazy SamplingService samplingService,
79+
McpJsonMapper mcpJsonMapper,
7280
ApplicationEventPublisher applicationEventPublisher) {
73-
return new McpClientService(samplingService, applicationEventPublisher);
81+
return new McpClientService(samplingService, mcpJsonMapper, applicationEventPublisher);
7482
}
7583

7684
@Bean

src/main/java/com/javaaidev/easymcpclient/client/McpClientService.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport;
88
import io.modelcontextprotocol.client.transport.ServerParameters;
99
import io.modelcontextprotocol.client.transport.StdioClientTransport;
10+
import io.modelcontextprotocol.json.McpJsonMapper;
1011
import io.modelcontextprotocol.spec.McpClientTransport;
1112
import io.modelcontextprotocol.spec.McpSchema.ClientCapabilities;
1213
import io.modelcontextprotocol.spec.McpSchema.Implementation;
@@ -23,11 +24,13 @@ public class McpClientService {
2324
private static final Logger LOGGER = LoggerFactory.getLogger(McpClientService.class);
2425

2526
private final SamplingService samplingService;
27+
private final McpJsonMapper mcpJsonMapper;
2628
private final ApplicationEventPublisher applicationEventPublisher;
2729

28-
public McpClientService(SamplingService samplingService,
30+
public McpClientService(SamplingService samplingService, McpJsonMapper mcpJsonMapper,
2931
ApplicationEventPublisher applicationEventPublisher) {
3032
this.samplingService = samplingService;
33+
this.mcpJsonMapper = mcpJsonMapper;
3134
this.applicationEventPublisher = applicationEventPublisher;
3235
}
3336

@@ -53,7 +56,7 @@ private Optional<NamedMcpSyncClient> connect(String name, StdioServer server) {
5356
ServerParameters.builder(server.command())
5457
.args(server.args())
5558
.env(server.env())
56-
.build()));
59+
.build(), mcpJsonMapper));
5760
}
5861

5962
private Optional<NamedMcpSyncClient> doConnect(String name, McpClientTransport clientTransport) {

src/main/java/com/javaaidev/easymcpclient/client/SamplingService.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import io.modelcontextprotocol.spec.McpSchema.TextContent;
1212
import io.modelcontextprotocol.spec.McpSchema.TextResourceContents;
1313
import java.util.List;
14-
import java.util.Map;
1514
import java.util.Objects;
1615
import java.util.Optional;
1716
import java.util.function.Function;
@@ -99,11 +98,9 @@ private Message fromSamplingMessage(SamplingMessage message) {
9998
}
10099
case ASSISTANT -> {
101100
var mediaList = media != null ? List.of(media) : List.<Media>of();
102-
yield new AssistantMessage(
103-
Objects.requireNonNullElse(text, ""),
104-
Map.of(),
105-
List.of(),
106-
mediaList);
101+
yield AssistantMessage.builder()
102+
.content(Objects.requireNonNullElse(text, ""))
103+
.media(mediaList).build();
107104
}
108105
};
109106
}

0 commit comments

Comments
 (0)