Repository navigation
feat(mcp-toolbox): add Google Cloud MCP Toolbox Spring Boot Starter - #7013
Open
stenalpjolly wants to merge 4 commits into
Open
stenalpjolly wants to merge 4 commits into
stenalpjolly wants to merge 4 commits into
Conversation
Add Spring AI adapter, Spring Boot auto-configuration, and starter module for Google Cloud MCP Toolbox for Databases (com.google.cloud.mcp:mcp-toolbox-sdk-java:1.0.0). - Add spring-ai-mcp-toolbox with McpToolboxToolCallback and McpToolboxToolCallbackProvider - Add spring-ai-autoconfigure-mcp-toolbox with McpToolboxProperties, McpToolboxAutoConfiguration, and McpToolboxClientCustomizer - Add spring-ai-starter-mcp-toolbox and register dependencies in spring-ai-bom - Add unit and ApplicationContextRunner auto-configuration tests Signed-off-by: Stenal P Jolly <stenalpjolly@google.com>
- Add McpToolboxRuntimeHints (RuntimeHintsRegistrar) for GraalVM Native Image / Spring Boot AOT reflection and wire @ImportRuntimeHints on McpToolboxAutoConfiguration - Implement ToolContext header & AuthTokenGetter propagation (without contaminating tool JSON argument payloads), ToolMetadata (returnDirect), and fluent Builder in McpToolboxToolCallback - Add pre-configured Tool bean auto-discovery (ObjectProvider<Tool>), Set<String> deduplication, dedicated cacheLock, and fluent Builder in McpToolboxToolCallbackProvider - Expose protocolVersion (com.google.cloud.mcp.ProtocolVersion) in McpToolboxProperties and McpToolboxAutoConfiguration - Centralize mcp-toolbox-sdk-java.version in root pom.xml and spring-ai-bom/pom.xml - Register mcp-toolbox-boot-starter-docs.adoc in Antora nav.adoc Signed-off-by: Stenal P Jolly <stenalpjolly@google.com>
…toolbox-sdk-java 1.0.0 Signed-off-by: Stenal P Jolly <stenalpjolly@google.com>
Signed-off-by: Stenal P Jolly <stenalpjolly@google.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds first-class Spring AI integration and Spring Boot Auto-Configuration / Starter support for Google Cloud MCP Toolbox for Databases (
com.google.cloud.mcp:mcp-toolbox-sdk-java:1.0.0), enabling explicit listing under the AI category onstart.spring.io.Modules Added
mcp/mcp-toolbox(org.springframework.ai:spring-ai-mcp-toolbox):McpToolboxToolCallback: Adapts Google Cloud MCP ToolboxTooldefinitions into Spring AIToolCallbackinstances with structured JSON Schema generation (defaultValue,additionalProperties: false, bound parameter pruning),ToolMetadata(returnDirect),ToolContextdynamic HTTP header &AuthTokenGetterpropagation, timeout enforcement, and error sanitization.McpToolboxToolCallbackProvider:ToolCallbackProviderimplementation with parallel toolset/tool discovery (CompletableFuture.allOf),Set<String>deduplication, pre-configuredToolbean registration, thread-safe memoization, and cache invalidation.McpToolboxRuntimeHints: GraalVM Native Image / Spring Boot AOTRuntimeHintsRegistrarforTool,ToolDefinition,ToolResult,TransportManifest, and JSON-RPC transport records.auto-configurations/mcp/spring-ai-autoconfigure-mcp-toolbox(org.springframework.ai:spring-ai-autoconfigure-mcp-toolbox):McpToolboxAutoConfiguration,McpToolboxProperties(spring.ai.mcp.toolbox.*), andMcpToolboxClientCustomizerwith@ImportRuntimeHints(McpToolboxRuntimeHints.class)andObjectProvider<Tool>auto-discovery.starters/spring-ai-starter-mcp-toolbox(org.springframework.ai:spring-ai-starter-mcp-toolbox):start.spring.ioonboarding and BOM management inspring-ai-bom/pom.xml.mcp-toolbox-boot-starter-docs.adocand registered innav.adoc.Verification
mvn clean installacross all 3 modules passes with0Checkstyle, NullAway, and Enforcer violations.ApplicationContextRunnertest suites (McpToolboxToolCallbackTests,McpToolboxAutoConfigurationTests) pass 100%.