From d4e0b9f38092796a04c130aac96edbe4181199ec Mon Sep 17 00:00:00 2001 From: gwr0-0 Date: Sat, 10 Oct 2026 02:44:02 +0800 Subject: [PATCH 1/2] build: upgrade Spring AI to 2.0.1 and drop the partial MCP SDK pin spring-ai-mcp 2.0.1 still requires io.modelcontextprotocol.sdk:mcp:2.0.0, so no other dependency version changes with this upgrade. The removed dependencyManagement entry pinned only mcp-core, one of the three MCP SDK artifacts (mcp, mcp-core, mcp-json-jackson3). It could not control the SDK as a whole and would have left a half-upgraded SDK behind the next Spring AI bump, so Spring AI now owns the SDK version entirely. Verified locally: the *-mcp module tests pass and the resolved SDK stays at 2.0.0. Co-authored-by: DeepSeek V4.1 Flash --- pom.xml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 604dca795a..630e511589 100644 --- a/pom.xml +++ b/pom.xml @@ -69,8 +69,7 @@ 2.0.0-M2 0.5.55 - 2.0.0 - 2.0.0 + 2.0.1 false true 1.15.1 @@ -135,12 +134,6 @@ scalar-core ${scalar.version} - - - io.modelcontextprotocol.sdk - mcp-core - ${mcp-sdk.version} - org.springframework.ai From 8697d06f4ad87db05c8bdff7cbd243ff4a3ad608 Mon Sep 17 00:00:00 2001 From: gwr0-0 Date: Sat, 10 Oct 2026 02:44:02 +0800 Subject: [PATCH 2/2] docs: align the MCP module dependency notes with the poms springdoc-openapi-starter-common-mcp declares spring-ai-mcp with compile scope, which transitively provides spring-ai-model and the MCP SDK. The note still described spring-ai-model plus optional mcp-core and spring-ai-mcp, which no longer matches the pom. The WebFlux module also declares io.micrometer:context-propagation, used to register the MDC ThreadLocalAccessor with the Micrometer ContextRegistry. Co-authored-by: DeepSeek V4.1 Flash --- springdoc-openapi-starter-common-mcp/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/springdoc-openapi-starter-common-mcp/README.md b/springdoc-openapi-starter-common-mcp/README.md index 5e11326756..2a500f6df2 100644 --- a/springdoc-openapi-starter-common-mcp/README.md +++ b/springdoc-openapi-starter-common-mcp/README.md @@ -385,7 +385,7 @@ The WebFlux module provides reactive-specific integration: - **`McpReactiveApiVersionStrategy`**: Wraps the existing reactive `ApiVersionStrategy` to gracefully handle MCP paths. Supports both synchronous (`resolveParseAndValidateVersion`) and reactive (`resolveParseAndValidateApiVersion`) resolution. - **Dashboard Redirects**: Registered as a `RouterFunction` bean that redirects `/mcp-ui` and `/mcp-ui/` to `/mcp-ui/index.html` with HTTP 302. -**Dependencies**: `springdoc-openapi-starter-common-mcp`, `springdoc-openapi-starter-webflux-api`. +**Dependencies**: `springdoc-openapi-starter-common-mcp`, `springdoc-openapi-starter-webflux-api`, `io.micrometer:context-propagation` (registers the MDC `ThreadLocalAccessor` with the Micrometer `ContextRegistry`). ### springdoc-openapi-starter-common-mcp @@ -401,4 +401,4 @@ The core module contains all shared logic: | `org.springdoc.ai.dashboard` | Dashboard REST controller, tool sources (`ToolCallbackDashboardToolSource`, `McpSyncServerDashboardToolSource`), and DTOs. | | `org.springdoc.ai.environment` | `SpringDocAiEnvironmentPostProcessor` — forces `springdoc.pre-loading-enabled=true`. | -**Dependencies**: `springdoc-openapi-starter-common`, `spring-ai-model`, optional `mcp-core`, optional `spring-ai-mcp`. +**Dependencies**: `springdoc-openapi-starter-common`, `spring-ai-mcp` (compile scope — it transitively provides `spring-ai-model` and the MCP SDK `io.modelcontextprotocol.sdk:mcp`, whose version is dictated by Spring AI), `spring-web`, `aspectjweaver`.