-
Notifications
You must be signed in to change notification settings - Fork 248
Description
关联版本
您当前正在使用我们框架的哪个版本?
SolonMcp v3.8.0
问题描述
升级到v3.8.0版本,使用STREAMABLE_STATELESS模式,通过MCP Inspector v0.18.0连接失败
后端报错:
ERROR 2025-12-31 10:57:17.995 #75044 [-smarthttp-12] reactor.core.publisher.Operators#console:
Operator called default onErrorDropped
reactor.core.Exceptions$ErrorCallbackNotImplemented: io.modelcontextprotocol.spec.McpError: Missing handler for request type: logging/setLevel
Caused by: io.modelcontextprotocol.spec.McpError: Missing handler for request type: logging/setLevel
at io.modelcontextprotocol.server.DefaultMcpStatelessServerHandler.handleRequest(DefaultMcpStatelessServerHandler.java:35)
at io.modelcontextprotocol.server.transport.WebRxStatelessServerTransport.lambda$doHandlePost$2(WebRxStatelessServerTransport.java:113)
at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:153)
at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)
at reactor.core.publisher.Flux.subscribe(Flux.java:8876)
at reactor.core.publisher.Flux.subscribeWith(Flux.java:9012)
at reactor.core.publisher.Flux.subscribe(Flux.java:8856)
at reactor.core.publisher.Flux.subscribe(Flux.java:8780)
at reactor.core.publisher.Flux.subscribe(Flux.java:8698)
at org.noear.solon.web.rx.integration.RxHandlerImpl.lambda$handle$4(RxHandlerImpl.java:88)
at org.noear.solon.rx.impl.CompletableImpl.subscribe(CompletableImpl.java:75)
at org.noear.solon.rx.impl.CompletableImpl.lambda$doOnError$0(CompletableImpl.java:98)
at org.noear.solon.rx.impl.CompletableImpl.subscribe(CompletableImpl.java:75)
at org.noear.solon.rx.impl.CompletableImpl.lambda$doOnComplete$2(CompletableImpl.java:164)
at org.noear.solon.rx.impl.CompletableImpl.subscribe(CompletableImpl.java:75)
at org.noear.solon.rx.impl.CompletableImpl.subscribe(CompletableImpl.java:224)
at org.noear.solon.web.rx.integration.RxReturnValueHandler.returnHandle(RxReturnValueHandler.java:80)
at org.noear.solon.core.handle.Context.returnValue(Context.java:1197)
at io.modelcontextprotocol.server.transport.WebRxStatelessServerTransport.handlePost(WebRxStatelessServerTransport.java:91)
at org.noear.solon.core.route.RouterHandler.handleMain(RouterHandler.java:51)
at org.noear.solon.core.route.RouterHandler.handle1(RouterHandler.java:71)
at org.noear.solon.core.route.RouterInterceptorChainImpl.doIntercept(RouterInterceptorChainImpl.java:54)
at org.noear.solon.core.ChainManager.doRouterIntercept(ChainManager.java:261)
at org.noear.solon.core.route.RouterHandler.handle(RouterHandler.java:103)
at org.noear.solon.core.handle.HandlerPipeline.handle(HandlerPipeline.java:53)
at org.noear.solon.core.handle.FilterChainImpl.doFilter(FilterChainImpl.java:51)
at com.cmsr.devops.mcpserver.McpServerAuth.doFilter(McpServerAuth.java:89)
at org.noear.solon.core.handle.FilterChainImpl.doFilter(FilterChainImpl.java:49)
at com.cmsr.devops.config.WebConfig.doFilter(WebConfig.java:29)
at org.noear.solon.core.handle.FilterChainImpl.doFilter(FilterChainImpl.java:49)
at org.noear.solon.logging.integration.MdcClearFilter.doFilter(MdcClearFilter.java:33)
at org.noear.solon.core.handle.FilterChainImpl.doFilter(FilterChainImpl.java:49)
at org.noear.solon.core.ChainManager.doFilter(ChainManager.java:119)
at org.noear.solon.SolonApp.lambda$tryHandle$6(SolonApp.java:624)
at org.noear.solon.util.ScopeLocalJdk8.withOrThrow(ScopeLocalJdk8.java:81)
at org.noear.solon.core.handle.ContextHolder.currentWith(ContextHolder.java:43)
at org.noear.solon.SolonApp.tryHandle(SolonApp.java:619)
at org.noear.solon.server.smarthttp.http.SmHttpContextHandler.handleDo(SmHttpContextHandler.java:123)
at org.noear.solon.server.smarthttp.http.SmHttpContextHandler.handle0(SmHttpContextHandler.java:101)
at org.noear.solon.server.smarthttp.http.SmHttpContextHandler.lambda$handle$0(SmHttpContextHandler.java:86)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
如何复现
请详细告诉我们如何复现您遇到的问题,并附上可复现的代码示例
- 基于SolonMcp v3.8.0 开发STREAMABLE_STATELESS类型MCP
- 使用MCP Inspector v0.18.0 测试MCP功能,提示连接失败,后端报错
//可在此输入示例代码@McpServerEndpoint(channel = McpChannel.STREAMABLE_STATELESS, name = "xxx-mcp", mcpEndpoint = "/mcp/xxx")
预期结果
请告诉我们您预期会发生什么。
希望STREAMABLE_STATELESS仍然可以使用MCP Inspector进行测试
实际结果
请告诉我们实际发生了什么。
希望STREAMABLE_STATELESS模式使用MCP Inspector连接报错
截图或视频
