Skip to content

Commit ceb2348

Browse files
fix #724
1 parent 082444e commit ceb2348

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

mcp-core/src/main/java/io/modelcontextprotocol/spec/McpSchema.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,7 @@ public record Sampling() {
418418
* data from users with optional JSON schemas to validate responses.
419419
*/
420420
@JsonInclude(JsonInclude.Include.NON_ABSENT)
421+
@JsonIgnoreProperties(ignoreUnknown = true)
421422
public record Elicitation() {
422423
}
423424

mcp-core/src/test/java/io/modelcontextprotocol/spec/McpSchemaTests.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import static org.assertj.core.api.Assertions.assertThat;
1111
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1212

13+
import java.io.IOException;
1314
import java.util.Arrays;
1415
import java.util.Collections;
1516
import java.util.HashMap;
@@ -353,6 +354,25 @@ void testInitializeResult() throws Exception {
353354
{"protocolVersion":"2024-11-05","capabilities":{"logging":{},"prompts":{"listChanged":true},"resources":{"subscribe":true,"listChanged":true},"tools":{"listChanged":true}},"serverInfo":{"name":"test-server","version":"1.0.0"},"instructions":"Server initialized successfully"}"""));
354355
}
355356

357+
@Test
358+
// see https://github.com/modelcontextprotocol/java-sdk/issues/724
359+
void testParseInitializeRequest() throws IOException {
360+
String serialized = """
361+
{"protocolVersion":"2024-11-05","capabilities":{"elicitation":{"form":{}}},"clientInfo":{"name":"test-client","version":"1.0.0"},"_meta":{"metaKey":"metaValue"}}
362+
""";
363+
364+
McpSchema.InitializeRequest deserialized = JSON_MAPPER.readValue(serialized, McpSchema.InitializeRequest.class);
365+
366+
McpSchema.ClientCapabilities capabilities = McpSchema.ClientCapabilities.builder()
367+
.elicitation()
368+
.build();
369+
McpSchema.Implementation clientInfo = new McpSchema.Implementation("test-client", "1.0.0");
370+
Map<String, Object> meta = Map.of("metaKey", "metaValue");
371+
McpSchema.InitializeRequest expected = new McpSchema.InitializeRequest(ProtocolVersions.MCP_2024_11_05,
372+
capabilities, clientInfo, meta);
373+
assertThat(deserialized).isEqualTo(expected);
374+
}
375+
356376
// Resource Tests
357377

358378
@Test

0 commit comments

Comments
 (0)