java-sdk/mcp-spring
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Christian Tzolov 8a2f97f1b1 feat: add structured output support for MCP tools (#357)
- Add JsonSchemaValidator interface and DefaultJsonSchemaValidator implementation
 - put the JsonSchemaValidator classes into a dedicated spec package
 - add schema caching to DefaultJsonSchemaValidator for better performance
- Extend Tool schema to support outputSchema field for defining expected output structure
- Add structuredContent field to CallToolResult for validated structured responses
- Implement automatic validation of tool outputs against their defined schemas
- Add comprehensive test coverage for structured output validation scenarios
- Add json-schema-validator and json-unit-assertj dependencies for validation and testing
- Update McpServer builders to accept custom JsonSchemaValidator instances
- Ensure backward compatibility with existing tools without output schemas

This implements the MCP specification requirement that tools with output schemas
must provide structured results conforming to those schemas, with automatic
validation and error handling for non-conforming outputs.
https://modelcontextprotocol.io/specification/2025-06-18/server/tools#structured-content

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-07-13 15:29:56 +02:00
..
mcp-spring-webflux feat: add structured output support for MCP tools (#357) 2025-07-13 15:29:56 +02:00
mcp-spring-webmvc feat: add structured output support for MCP tools (#357) 2025-07-13 15:29:56 +02:00