Add @JsonIgnoreProperties(ignoreUnknown = true) to capability sub-records by rameshreddy-adutla · Pull Request #852 · modelcontextprotocol/java-sdk
…ords The top-level ClientCapabilities and ServerCapabilities records have @JsonIgnoreProperties(ignoreUnknown = true) but their nested sub-records do not. Since ObjectMapper defaults to FAIL_ON_UNKNOWN_PROPERTIES = true, unknown fields on sub-objects cause deserialization failures. This already caused a real breakage when elicitation gained form/url fields (modelcontextprotocol#724). The MCP spec explicitly does not close capability objects (additionalProperties is never set to false), so SDKs must tolerate unknown fields for forward compatibility. Add the annotation to: - ClientCapabilities.Sampling - ClientCapabilities.Elicitation, Elicitation.Form, Elicitation.Url - ServerCapabilities.CompletionCapabilities - ServerCapabilities.LoggingCapabilities - ServerCapabilities.PromptCapabilities - ServerCapabilities.ResourceCapabilities - ServerCapabilities.ToolCapabilities Fixes modelcontextprotocol#766 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>