Skip to content

Error handling notification: notifications/initialized #56

Open
@edouardouvrard

Description

@edouardouvrard

Describe the bug
When using witsy-mcp-client, I'm having this error :

14:39:50.999 [DefaultDispatcher-worker-16] INFO io.modelcontextprotocol.kotlin.sdk.server.McpKtorServerPlugin -- New SSE connection established with sessionId: ec3fa6b0-d2d2-4485-845b-2bf75a3f3132
14:39:51.002 [DefaultDispatcher-worker-16] DEBUG io.modelcontextprotocol.kotlin.sdk.server.Server -- Initializing MCP server with capabilities: ServerCapabilities(experimental={}, sampling={}, logging={}, prompts=null, resources=null, tools=Tools(listChanged=true))
14:39:51.002 [DefaultDispatcher-worker-16] INFO io.modelcontextprotocol.kotlin.sdk.server.Server -- Registering tool: test
14:39:51.002 [DefaultDispatcher-worker-16] DEBUG io.modelcontextprotocol.kotlin.sdk.server.McpKtorServerPlugin -- Server instance created and stored for sessionId: ec3fa6b0-d2d2-4485-845b-2bf75a3f3132
14:39:51.006 [DefaultDispatcher-worker-18] DEBUG io.modelcontextprotocol.kotlin.sdk.server.McpKtorServerPlugin -- Received message for sessionId: ec3fa6b0-d2d2-4485-845b-2bf75a3f3132
14:39:51.036 [DefaultDispatcher-worker-18] INFO io.modelcontextprotocol.kotlin.sdk.server.Server -- Handling initialize request from client Implementation(name=witsy-mcp-client, version=1.0.0)
14:39:51.045 [DefaultDispatcher-worker-16] DEBUG io.modelcontextprotocol.kotlin.sdk.server.McpKtorServerPlugin -- Received message for sessionId: ec3fa6b0-d2d2-4485-845b-2bf75a3f3132
14:39:51.047 [DefaultDispatcher-worker-16] ERROR io.modelcontextprotocol.kotlin.sdk.shared.Protocol -- Error handling notification: notifications/initialized
java.util.NoSuchElementException: Key method is missing in the map.
	at kotlin.collections.MapsKt__MapWithDefaultKt.getOrImplicitDefaultNullable(MapWithDefault.kt:24)
	at kotlin.collections.MapsKt__MapsKt.getValue(Maps.kt:369)
	at io.modelcontextprotocol.kotlin.sdk.Types_utilKt.selectClientNotificationDeserializer(types.util.kt:141)
	at io.modelcontextprotocol.kotlin.sdk.Types_utilKt.access$selectClientNotificationDeserializer(types.util.kt:1)
	at io.modelcontextprotocol.kotlin.sdk.NotificationPolymorphicSerializer.selectDeserializer(types.util.kt:191)
	at kotlinx.serialization.json.JsonContentPolymorphicSerializer.deserialize(JsonContentPolymorphicSerializer.kt:93)
	at kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.decodeSerializableValue(TreeJsonDecoder.kt:345)
	at kotlinx.serialization.json.internal.TreeJsonDecoderKt.readJson(TreeJsonDecoder.kt:25)
	at kotlinx.serialization.json.Json.decodeFromJsonElement(Json.kt:170)
	at io.modelcontextprotocol.kotlin.sdk.TypesKt.fromJSON(types.kt:1461)
	at io.modelcontextprotocol.kotlin.sdk.shared.Protocol$setNotificationHandler$1.invokeSuspend(Protocol.kt:470)
	at io.modelcontextprotocol.kotlin.sdk.shared.Protocol$setNotificationHandler$1.invoke(Protocol.kt)
	at io.modelcontextprotocol.kotlin.sdk.shared.Protocol$setNotificationHandler$1.invoke(Protocol.kt)
	at io.modelcontextprotocol.kotlin.sdk.shared.Protocol.onNotification(Protocol.kt:198)
	at io.modelcontextprotocol.kotlin.sdk.shared.Protocol.access$onNotification(Protocol.kt:93)
	at io.modelcontextprotocol.kotlin.sdk.shared.Protocol$connect$4.invokeSuspend(Protocol.kt:167)
	at io.modelcontextprotocol.kotlin.sdk.shared.Protocol$connect$4.invoke(Protocol.kt)
	at io.modelcontextprotocol.kotlin.sdk.shared.Protocol$connect$4.invoke(Protocol.kt)
	at io.modelcontextprotocol.kotlin.sdk.server.SSEServerTransport.handleMessage(SSEServerTransport.kt:103)
	at io.modelcontextprotocol.kotlin.sdk.server.SSEServerTransport.handlePostMessage(SSEServerTransport.kt:87)
	at io.modelcontextprotocol.kotlin.sdk.server.McpKtorServerPluginKt$MCP$1$2.invokeSuspend(McpKtorServerPlugin.kt:50)
	at io.modelcontextprotocol.kotlin.sdk.server.McpKtorServerPluginKt$MCP$1$2.invoke(McpKtorServerPlugin.kt)
	at io.modelcontextprotocol.kotlin.sdk.server.McpKtorServerPluginKt$MCP$1$2.invoke(McpKtorServerPlugin.kt)
	at io.ktor.server.routing.RoutingNode$buildPipeline$1$1.invokeSuspend(RoutingNode.kt:127)
	at io.ktor.server.routing.RoutingNode$buildPipeline$1$1.invoke(RoutingNode.kt)
	at io.ktor.server.routing.RoutingNode$buildPipeline$1$1.invoke(RoutingNode.kt)
	at io.ktor.util.pipeline.PipelineJvmKt.pipelineStartCoroutineUninterceptedOrReturn(PipelineJvm.kt:15)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:131)
	at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:89)
	at io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:109)
	at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:92)
	at io.ktor.server.routing.RoutingRoot$executeResult$$inlined$execute$1.invokeSuspend(Pipeline.kt:510)
	at io.ktor.server.routing.RoutingRoot$executeResult$$inlined$execute$1.invoke(Pipeline.kt)
	at io.ktor.server.routing.RoutingRoot$executeResult$$inlined$execute$1.invoke(Pipeline.kt)
	at io.ktor.util.debug.ContextUtilsKt.initContextInDebugMode(ContextUtils.kt:19)
	at io.ktor.server.routing.RoutingRoot.executeResult(RoutingRoot.kt:208)
	at io.ktor.server.routing.RoutingRoot.interceptor(RoutingRoot.kt:71)
	at io.ktor.server.routing.RoutingRoot$Plugin$install$1.invokeSuspend(RoutingRoot.kt:154)
	at io.ktor.server.routing.RoutingRoot$Plugin$install$1.invoke(RoutingRoot.kt)
	at io.ktor.server.routing.RoutingRoot$Plugin$install$1.invoke(RoutingRoot.kt)
	at io.ktor.util.pipeline.PipelineJvmKt.pipelineStartCoroutineUninterceptedOrReturn(PipelineJvm.kt:15)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:131)
	at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:89)
	at io.ktor.server.engine.BaseApplicationEngineKt$installDefaultTransformationChecker$1.invokeSuspend(BaseApplicationEngine.kt:117)
	at io.ktor.server.engine.BaseApplicationEngineKt$installDefaultTransformationChecker$1.invoke(BaseApplicationEngine.kt)
	at io.ktor.server.engine.BaseApplicationEngineKt$installDefaultTransformationChecker$1.invoke(BaseApplicationEngine.kt)
	at io.ktor.util.pipeline.PipelineJvmKt.pipelineStartCoroutineUninterceptedOrReturn(PipelineJvm.kt:15)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:131)
	at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:89)
	at io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:109)
	at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:92)
	at io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1$invokeSuspend$$inlined$execute$1.invokeSuspend(Pipeline.kt:510)
	at io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1$invokeSuspend$$inlined$execute$1.invoke(Pipeline.kt)
	at io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1$invokeSuspend$$inlined$execute$1.invoke(Pipeline.kt)
	at io.ktor.util.debug.ContextUtilsKt.initContextInDebugMode(ContextUtils.kt:19)
	at io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1.invokeSuspend(DefaultEnginePipeline.kt:131)
	at io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1.invoke(DefaultEnginePipeline.kt)
	at io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1.invoke(DefaultEnginePipeline.kt)
	at io.ktor.util.pipeline.PipelineJvmKt.pipelineStartCoroutineUninterceptedOrReturn(PipelineJvm.kt:15)
	at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:131)
	at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:89)
	at io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:109)
	at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:92)
	at io.ktor.server.cio.CIOApplicationEngine$handleRequest$2$invokeSuspend$$inlined$execute$1.invokeSuspend(Pipeline.kt:488)
	at io.ktor.server.cio.CIOApplicationEngine$handleRequest$2$invokeSuspend$$inlined$execute$1.invoke(Pipeline.kt)
	at io.ktor.server.cio.CIOApplicationEngine$handleRequest$2$invokeSuspend$$inlined$execute$1.invoke(Pipeline.kt)
	at io.ktor.util.debug.ContextUtilsKt.initContextInDebugMode(ContextUtils.kt:19)
	at io.ktor.server.cio.CIOApplicationEngine$handleRequest$2.invokeSuspend(CIOApplicationEngine.kt:229)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
14:39:51.050 [DefaultDispatcher-worker-24] DEBUG io.modelcontextprotocol.kotlin.sdk.server.McpKtorServerPlugin -- Received message for sessionId: ec3fa6b0-d2d2-4485-845b-2bf75a3f3132

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions