Skip to content

Commit 07084f5

Browse files
committed
Add handler for logging level requests in Server
Introduces an internal request handler for LoggingMessageNotification.SetLevelRequest in Server.connect to prevent client errors when copilot logging level requests are received. Returns EmptyRequestResult for these requests.
1 parent 64a8262 commit 07084f5

File tree

1 file changed

+10
-0
lines changed
  • kotlin-sdk-server/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/server

1 file changed

+10
-0
lines changed

kotlin-sdk-server/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/server/Server.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package io.modelcontextprotocol.kotlin.sdk.server
33
import io.github.oshai.kotlinlogging.KotlinLogging
44
import io.modelcontextprotocol.kotlin.sdk.CallToolRequest
55
import io.modelcontextprotocol.kotlin.sdk.CallToolResult
6+
import io.modelcontextprotocol.kotlin.sdk.EmptyRequestResult
7+
import io.modelcontextprotocol.kotlin.sdk.ErrorCode
68
import io.modelcontextprotocol.kotlin.sdk.GetPromptRequest
79
import io.modelcontextprotocol.kotlin.sdk.GetPromptResult
810
import io.modelcontextprotocol.kotlin.sdk.Implementation
@@ -14,6 +16,7 @@ import io.modelcontextprotocol.kotlin.sdk.ListResourcesRequest
1416
import io.modelcontextprotocol.kotlin.sdk.ListResourcesResult
1517
import io.modelcontextprotocol.kotlin.sdk.ListToolsRequest
1618
import io.modelcontextprotocol.kotlin.sdk.ListToolsResult
19+
import io.modelcontextprotocol.kotlin.sdk.LoggingMessageNotification
1720
import io.modelcontextprotocol.kotlin.sdk.Method
1821
import io.modelcontextprotocol.kotlin.sdk.Prompt
1922
import io.modelcontextprotocol.kotlin.sdk.PromptArgument
@@ -112,6 +115,13 @@ public open class Server(
112115
public suspend fun connect(transport: Transport): ServerSession {
113116
val session = ServerSession(serverInfo, options, instructionsProvider?.invoke())
114117

118+
// Add internal logging level handler to prevent client errors of copilot logging level requests
119+
session.setRequestHandler<LoggingMessageNotification.SetLevelRequest>(
120+
Method.Defined.LoggingSetLevel,
121+
) { _, _ ->
122+
EmptyRequestResult()
123+
}
124+
115125
// Internal handlers for tools
116126
if (options.capabilities.tools != null) {
117127
session.setRequestHandler<ListToolsRequest>(Method.Defined.ToolsList) { _, _ ->

0 commit comments

Comments
 (0)