-
Notifications
You must be signed in to change notification settings - Fork 760
Open
Description
Bug description
An initialize request with "capabilities":{"elicitation":{"form":{}}} causes this error:
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "form" (class io.modelcontextprotocol.spec.McpSchema$ClientCapabilities$Elicitation), not marked as ignorable (0 known properties: ])
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 72] (through reference chain: io.modelcontextprotocol.spec.McpSchema$InitializeRequest["capabilities"]->io.modelcontextprotocol.spec.McpSchema$ClientCapabilities["elicitation"]->io.modelcontextprotocol.spec.McpSchema$ClientCapabilities$Elicitation["form"])
This violates the 2025-11-25 spec.
Environment
N/A
Steps to reproduce
run test shown below
Expected behavior
test succeeds
Minimal Complete Reproducible example
@Test
void testParseInitializeRequest() throws IOException {
String serialized = """
{"protocolVersion":"2024-11-05","capabilities":{"elicitation":{"form":{}}},"clientInfo":{"name":"test-client","version":"1.0.0"},"_meta":{"metaKey":"metaValue"}}
""";
McpSchema.InitializeRequest deserialized = JSON_MAPPER.readValue(serialized, McpSchema.InitializeRequest.class);
McpSchema.ClientCapabilities capabilities = McpSchema.ClientCapabilities.builder()
.elicitation()
.build();
McpSchema.Implementation clientInfo = new McpSchema.Implementation("test-client", "1.0.0");
Map<String, Object> meta = Map.of("metaKey", "metaValue");
McpSchema.InitializeRequest expected = new McpSchema.InitializeRequest(ProtocolVersions.MCP_2024_11_05,
capabilities, clientInfo, meta);
assertThat(deserialized).isEqualTo(expected);
}gabrielBusuioc, StamatieMihneaStefan, StamatieMihnea, Earthbert, denismarian1604 and 21 morevalfirst and uarlouski
Metadata
Metadata
Assignees
Labels
No labels