Skip to content

Commit 67aef86

Browse files
committed
Rename connect tp createSession in Server.kt
Add block to configure build to Server.kt Move sse test to jvm to be able to run
1 parent 458a49a commit 67aef86

File tree

18 files changed

+378
-258
lines changed

18 files changed

+378
-258
lines changed

kotlin-sdk-client/api/kotlin-sdk-client.api

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,51 @@ public final class io/modelcontextprotocol/kotlin/sdk/client/KtorClientKt {
5757
public static synthetic fun mcpSseTransport-5_5nbZA$default (Lio/ktor/client/HttpClient;Ljava/lang/String;Lkotlin/time/Duration;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/client/SseClientTransport;
5858
}
5959

60+
public class io/modelcontextprotocol/kotlin/sdk/client/McpClient : io/modelcontextprotocol/kotlin/sdk/shared/Protocol {
61+
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/client/ClientOptions;)V
62+
public synthetic fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/client/ClientOptions;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
63+
public final fun addRoot (Ljava/lang/String;Ljava/lang/String;)V
64+
public final fun addRoots (Ljava/util/List;)V
65+
protected final fun assertCapability (Ljava/lang/String;Ljava/lang/String;)V
66+
protected fun assertCapabilityForMethod (Lio/modelcontextprotocol/kotlin/sdk/Method;)V
67+
protected fun assertNotificationCapability (Lio/modelcontextprotocol/kotlin/sdk/Method;)V
68+
public fun assertRequestHandlerCapability (Lio/modelcontextprotocol/kotlin/sdk/Method;)V
69+
public final fun callTool (Lio/modelcontextprotocol/kotlin/sdk/CallToolRequest;ZLio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
70+
public final fun callTool (Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;ZLio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
71+
public static synthetic fun callTool$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/CallToolRequest;ZLio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
72+
public static synthetic fun callTool$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;ZLio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
73+
public final fun complete (Lio/modelcontextprotocol/kotlin/sdk/CompleteRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
74+
public static synthetic fun complete$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/CompleteRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
75+
public fun connect (Lio/modelcontextprotocol/kotlin/sdk/shared/Transport;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
76+
public final fun getPrompt (Lio/modelcontextprotocol/kotlin/sdk/GetPromptRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
77+
public static synthetic fun getPrompt$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/GetPromptRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
78+
public final fun getServerCapabilities ()Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;
79+
public final fun getServerInstructions ()Ljava/lang/String;
80+
public final fun getServerVersion ()Lio/modelcontextprotocol/kotlin/sdk/Implementation;
81+
public final fun listPrompts (Lio/modelcontextprotocol/kotlin/sdk/ListPromptsRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
82+
public static synthetic fun listPrompts$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/ListPromptsRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
83+
public final fun listResourceTemplates (Lio/modelcontextprotocol/kotlin/sdk/ListResourceTemplatesRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
84+
public static synthetic fun listResourceTemplates$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/ListResourceTemplatesRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
85+
public final fun listResources (Lio/modelcontextprotocol/kotlin/sdk/ListResourcesRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
86+
public static synthetic fun listResources$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/ListResourcesRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
87+
public final fun listTools (Lio/modelcontextprotocol/kotlin/sdk/ListToolsRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
88+
public static synthetic fun listTools$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/ListToolsRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
89+
public final fun ping (Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
90+
public static synthetic fun ping$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
91+
public final fun readResource (Lio/modelcontextprotocol/kotlin/sdk/ReadResourceRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
92+
public static synthetic fun readResource$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/ReadResourceRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
93+
public final fun removeRoot (Ljava/lang/String;)Z
94+
public final fun removeRoots (Ljava/util/List;)I
95+
public final fun sendRootsListChanged (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
96+
public final fun setElicitationHandler (Lkotlin/jvm/functions/Function1;)V
97+
public final fun setLoggingLevel (Lio/modelcontextprotocol/kotlin/sdk/LoggingLevel;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
98+
public static synthetic fun setLoggingLevel$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/LoggingLevel;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
99+
public final fun subscribeResource (Lio/modelcontextprotocol/kotlin/sdk/SubscribeRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
100+
public static synthetic fun subscribeResource$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/SubscribeRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
101+
public final fun unsubscribeResource (Lio/modelcontextprotocol/kotlin/sdk/UnsubscribeRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
102+
public static synthetic fun unsubscribeResource$default (Lio/modelcontextprotocol/kotlin/sdk/client/McpClient;Lio/modelcontextprotocol/kotlin/sdk/UnsubscribeRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
103+
}
104+
60105
public final class io/modelcontextprotocol/kotlin/sdk/client/SseClientTransport : io/modelcontextprotocol/kotlin/sdk/shared/AbstractTransport {
61106
public synthetic fun <init> (Lio/ktor/client/HttpClient;Ljava/lang/String;Lkotlin/time/Duration;Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
62107
public synthetic fun <init> (Lio/ktor/client/HttpClient;Ljava/lang/String;Lkotlin/time/Duration;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/internal/DefaultConstructorMarker;)V

kotlin-sdk-server/api/kotlin-sdk-server.api

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,41 @@ public final class io/modelcontextprotocol/kotlin/sdk/server/KtorServerKt {
55
public static final fun mcp (Lio/ktor/server/routing/Routing;Lkotlin/jvm/functions/Function1;)V
66
}
77

8+
public class io/modelcontextprotocol/kotlin/sdk/server/McpServer {
9+
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
10+
public synthetic fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
11+
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)V
12+
public synthetic fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
13+
public final fun addPrompt (Lio/modelcontextprotocol/kotlin/sdk/Prompt;Lkotlin/jvm/functions/Function2;)V
14+
public final fun addPrompt (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlin/jvm/functions/Function2;)V
15+
public static synthetic fun addPrompt$default (Lio/modelcontextprotocol/kotlin/sdk/server/McpServer;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
16+
public final fun addPrompts (Ljava/util/List;)V
17+
public final fun addResource (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)V
18+
public static synthetic fun addResource$default (Lio/modelcontextprotocol/kotlin/sdk/server/McpServer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
19+
public final fun addResources (Ljava/util/List;)V
20+
public final fun addTool (Lio/modelcontextprotocol/kotlin/sdk/Tool;Lkotlin/jvm/functions/Function2;)V
21+
public final fun addTool (Ljava/lang/String;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/Tool$Input;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/Tool$Output;Lio/modelcontextprotocol/kotlin/sdk/ToolAnnotations;Lkotlin/jvm/functions/Function2;)V
22+
public static synthetic fun addTool$default (Lio/modelcontextprotocol/kotlin/sdk/server/McpServer;Ljava/lang/String;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/Tool$Input;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/Tool$Output;Lio/modelcontextprotocol/kotlin/sdk/ToolAnnotations;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
23+
public final fun addTools (Ljava/util/List;)V
24+
public final fun close (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
25+
public final fun connect (Lio/modelcontextprotocol/kotlin/sdk/shared/Transport;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
26+
protected final fun getInstructionsProvider ()Lkotlin/jvm/functions/Function0;
27+
protected final fun getOptions ()Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;
28+
public final fun getPrompts ()Ljava/util/Map;
29+
public final fun getResources ()Ljava/util/Map;
30+
protected final fun getServerInfo ()Lio/modelcontextprotocol/kotlin/sdk/Implementation;
31+
public final fun getTools ()Ljava/util/Map;
32+
public final fun onClose (Lkotlin/jvm/functions/Function0;)V
33+
public final fun onConnect (Lkotlin/jvm/functions/Function0;)V
34+
public final fun onInitialized (Lkotlin/jvm/functions/Function0;)V
35+
public final fun removePrompt (Ljava/lang/String;)Z
36+
public final fun removePrompts (Ljava/util/List;)I
37+
public final fun removeResource (Ljava/lang/String;)Z
38+
public final fun removeResources (Ljava/util/List;)I
39+
public final fun removeTool (Ljava/lang/String;)Z
40+
public final fun removeTools (Ljava/util/List;)I
41+
}
42+
843
public final class io/modelcontextprotocol/kotlin/sdk/server/RegisteredPrompt {
944
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Prompt;Lkotlin/jvm/functions/Function2;)V
1045
public final fun component1 ()Lio/modelcontextprotocol/kotlin/sdk/Prompt;
@@ -45,9 +80,10 @@ public final class io/modelcontextprotocol/kotlin/sdk/server/RegisteredTool {
4580
}
4681

4782
public class io/modelcontextprotocol/kotlin/sdk/server/Server {
48-
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Ljava/lang/String;)V
49-
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;)V
50-
public synthetic fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
83+
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
84+
public synthetic fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
85+
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)V
86+
public synthetic fun <init> (Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
5187
public final fun addPrompt (Lio/modelcontextprotocol/kotlin/sdk/Prompt;Lkotlin/jvm/functions/Function2;)V
5288
public final fun addPrompt (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlin/jvm/functions/Function2;)V
5389
public static synthetic fun addPrompt$default (Lio/modelcontextprotocol/kotlin/sdk/server/Server;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
@@ -61,6 +97,7 @@ public class io/modelcontextprotocol/kotlin/sdk/server/Server {
6197
public final fun addTools (Ljava/util/List;)V
6298
public final fun close (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
6399
public final fun connect (Lio/modelcontextprotocol/kotlin/sdk/shared/Transport;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
100+
public final fun createSession (Lio/modelcontextprotocol/kotlin/sdk/shared/Transport;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
64101
protected final fun getInstructionsProvider ()Lkotlin/jvm/functions/Function0;
65102
protected final fun getOptions ()Lio/modelcontextprotocol/kotlin/sdk/server/ServerOptions;
66103
public final fun getPrompts ()Ljava/util/Map;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ internal suspend fun ServerSSESession.mcpSseEndpoint(
8888
sseTransportManager.removeTransport(transport.sessionId)
8989
}
9090

91-
server.connect(transport)
91+
server.createSession(transport)
9292

9393
logger.debug { "Server connected to transport for sessionId: ${transport.sessionId}" }
9494
}

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

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,25 +57,29 @@ public class ServerOptions(public val capabilities: ServerCapabilities, enforceS
5757
* @param options Configuration options for the server.
5858
* @param instructionsProvider Optional provider for instructions from the server to the client about how to use
5959
* this server. The provider is called each time a new session is started to support dynamic instructions.
60+
* @param block A block to configure the mcp server.
6061
*/
6162

6263
public open class Server(
6364
protected val serverInfo: Implementation,
6465
protected val options: ServerOptions,
6566
protected val instructionsProvider: (() -> String)? = null,
67+
block: Server.() -> Unit = {},
6668
) {
6769
/**
6870
* Alternative constructor that provides the instructions directly as a string.
6971
*
7072
* @param serverInfo Information about this server implementation (name, version).
7173
* @param options Configuration options for the server.
7274
* @param instructions Instructions from the server to the client about how to use this server.
75+
* @param block A block to configure the mcp server.
7376
*/
7477
public constructor(
7578
serverInfo: Implementation,
7679
options: ServerOptions,
7780
instructions: String,
78-
) : this(serverInfo, options, { instructions })
81+
block: Server.() -> Unit = {},
82+
) : this(serverInfo, options, { instructions }, block)
7983

8084
private val sessions = atomic(persistentListOf<ServerSession>())
8185

@@ -98,6 +102,10 @@ public open class Server(
98102
public val resources: Map<String, RegisteredResource>
99103
get() = _resources.value
100104

105+
init {
106+
block(this)
107+
}
108+
101109
public suspend fun close() {
102110
logger.debug { "Closing MCP server" }
103111
sessions.value.forEach { it.close() }
@@ -111,7 +119,21 @@ public open class Server(
111119
* @param transport The transport layer to connect the session with.
112120
* @return The initialized and connected server session.
113121
*/
114-
public suspend fun connect(transport: Transport): ServerSession {
122+
@Deprecated(
123+
"Use createSession(transport) instead.",
124+
ReplaceWith("createSession(transport)"),
125+
DeprecationLevel.WARNING,
126+
)
127+
public suspend fun connect(transport: Transport): ServerSession = createSession(transport)
128+
129+
/**
130+
* Starts a new server session with the given transport and initializes
131+
* internal request handlers based on the server's capabilities.
132+
*
133+
* @param transport The transport layer to connect the session with.
134+
* @return The initialized and connected server session.
135+
*/
136+
public suspend fun createSession(transport: Transport): ServerSession {
115137
val session = ServerSession(serverInfo, options, instructionsProvider?.invoke())
116138

117139
// Internal handlers for tools

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ internal suspend fun WebSocketServerSession.mcpWebSocketEndpoint(block: () -> Se
6969
val server = block()
7070
var session: ServerSession? = null
7171
try {
72-
session = server.connect(transport)
72+
session = server.createSession(transport)
7373
awaitCancellation()
7474
} catch (e: CancellationException) {
7575
session?.close()
@@ -103,7 +103,7 @@ public fun Route.mcpWebSocket(options: ServerOptions? = null, handler: suspend S
103103
)
104104
public fun Route.mcpWebSocket(block: () -> Server) {
105105
webSocket {
106-
block().connect(createMcpTransport(this))
106+
block().createSession(createMcpTransport(this))
107107
}
108108
}
109109

@@ -190,7 +190,7 @@ private suspend fun Route.createMcpServer(
190190
),
191191
)
192192

193-
server.connect(transport)
193+
server.createSession(transport)
194194
handler(server)
195195
server.close()
196196
}

kotlin-sdk-test/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ kotlin {
2424
}
2525
jvmTest {
2626
dependencies {
27-
implementation(kotlin("test-junit5"))
2827
implementation(libs.awaitility)
2928
runtimeOnly(libs.slf4j.simple)
3029
}

0 commit comments

Comments
 (0)