Skip to content

Commit bb3556e

Browse files
quafftzolov
authored andcommitted
Fix that spring.ai.mcp.server.base-url is ignored
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
1 parent d1ead23 commit bb3556e

File tree

4 files changed

+20
-4
lines changed

4 files changed

+20
-4
lines changed

auto-configurations/mcp/spring-ai-autoconfigure-mcp-server/src/main/java/org/springframework/ai/mcp/server/autoconfigure/McpWebFluxServerAutoConfiguration.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
* }</pre>
6262
*
6363
* @author Christian Tzolov
64+
* @author Yanming Zhou
6465
* @since 1.0.0
6566
* @see McpServerProperties
6667
* @see WebFluxSseServerTransportProvider
@@ -76,8 +77,8 @@ public class McpWebFluxServerAutoConfiguration {
7677
public WebFluxSseServerTransportProvider webFluxTransport(ObjectProvider<ObjectMapper> objectMapperProvider,
7778
McpServerProperties serverProperties) {
7879
ObjectMapper objectMapper = objectMapperProvider.getIfAvailable(ObjectMapper::new);
79-
return new WebFluxSseServerTransportProvider(objectMapper, serverProperties.getSseMessageEndpoint(),
80-
serverProperties.getSseEndpoint());
80+
return new WebFluxSseServerTransportProvider(objectMapper, serverProperties.getBaseUrl(),
81+
serverProperties.getSseMessageEndpoint(), serverProperties.getSseEndpoint());
8182
}
8283

8384
// Router function for SSE transport used by Spring WebFlux to start an HTTP server.

auto-configurations/mcp/spring-ai-autoconfigure-mcp-server/src/main/java/org/springframework/ai/mcp/server/autoconfigure/McpWebMvcServerAutoConfiguration.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
* }</pre>
5757
*
5858
* @author Christian Tzolov
59+
* @author Yanming Zhou
5960
* @since 1.0.0
6061
* @see McpServerProperties
6162
* @see WebMvcSseServerTransportProvider
@@ -71,8 +72,8 @@ public class McpWebMvcServerAutoConfiguration {
7172
public WebMvcSseServerTransportProvider webMvcSseServerTransportProvider(
7273
ObjectProvider<ObjectMapper> objectMapperProvider, McpServerProperties serverProperties) {
7374
ObjectMapper objectMapper = objectMapperProvider.getIfAvailable(ObjectMapper::new);
74-
return new WebMvcSseServerTransportProvider(objectMapper, serverProperties.getSseMessageEndpoint(),
75-
serverProperties.getSseEndpoint());
75+
return new WebMvcSseServerTransportProvider(objectMapper, serverProperties.getBaseUrl(),
76+
serverProperties.getSseMessageEndpoint(), serverProperties.getSseEndpoint());
7677
}
7778

7879
@Bean

auto-configurations/mcp/spring-ai-autoconfigure-mcp-server/src/test/java/org/springframework/ai/mcp/server/autoconfigure/McpWebFluxServerAutoConfigurationIT.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,11 @@ void serverDisableConfiguration() {
6161
});
6262
}
6363

64+
@Test
65+
void serverBaseUrlConfiguration() {
66+
this.contextRunner.withPropertyValues("spring.ai.mcp.server.base-url=/test")
67+
.run(context -> assertThat(context.getBean(WebFluxSseServerTransportProvider.class)).extracting("baseUrl")
68+
.isEqualTo("/test"));
69+
}
70+
6471
}

auto-configurations/mcp/spring-ai-autoconfigure-mcp-server/src/test/java/org/springframework/ai/mcp/server/autoconfigure/McpWebMvcServerAutoConfigurationIT.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,11 @@ void serverDisableConfiguration() {
6161
});
6262
}
6363

64+
@Test
65+
void serverBaseUrlConfiguration() {
66+
this.contextRunner.withPropertyValues("spring.ai.mcp.server.base-url=/test")
67+
.run(context -> assertThat(context.getBean(WebMvcSseServerTransportProvider.class)).extracting("baseUrl")
68+
.isEqualTo("/test"));
69+
}
70+
6471
}

0 commit comments

Comments
 (0)