Skip to content

Commit c42e7e5

Browse files
authored
Merge branch 'main' into dependabot/gradle/kotlin-2.2.20
2 parents 727c891 + dcb4f21 commit c42e7e5

File tree

19 files changed

+359
-21
lines changed

19 files changed

+359
-21
lines changed

.github/workflows/apidocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
cache: gradle
3434

3535
- name: Setup Gradle
36-
uses: gradle/actions/setup-gradle@v4
36+
uses: gradle/actions/setup-gradle@v5
3737

3838
- name: Generate Dokka Site
3939
run: |-

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
distribution: 'temurin'
2929

3030
- name: Setup Gradle
31-
uses: gradle/actions/setup-gradle@v4
31+
uses: gradle/actions/setup-gradle@v5
3232
with:
3333
add-job-summary: 'always'
3434
cache-read-only: true

.github/workflows/gradle-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
distribution: 'temurin'
3232

3333
- name: Setup Gradle
34-
uses: gradle/actions/setup-gradle@v4
34+
uses: gradle/actions/setup-gradle@v5
3535

3636
- name: Clean Build with Gradle
3737
run: ./gradlew clean build

README.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ val server = Server(
112112
)
113113
)
114114
)
115-
)
115+
){
116+
"This server provides example resources and demonstrates MCP capabilities."
117+
}
116118

117119
// Add a resource
118120
server.addResource(
@@ -156,8 +158,10 @@ fun Application.module() {
156158
prompts = ServerCapabilities.Prompts(listChanged = null),
157159
resources = ServerCapabilities.Resources(subscribe = null, listChanged = null)
158160
)
159-
)
160-
)
161+
),
162+
) {
163+
"This SSE server provides prompts and resources via Server-Sent Events."
164+
}
161165
}
162166
}
163167
```
@@ -184,8 +188,10 @@ fun Application.module() {
184188
prompts = ServerCapabilities.Prompts(listChanged = null),
185189
resources = ServerCapabilities.Resources(subscribe = null, listChanged = null)
186190
)
187-
)
188-
)
191+
),
192+
) {
193+
"Connect via SSE to interact with this MCP server."
194+
}
189195
}
190196
}
191197
}

build.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,18 @@ dokka {
3333
}
3434
}
3535

36+
ktlint {
37+
filter {
38+
exclude("**/generated*/**")
39+
}
40+
}
41+
3642
kover {
3743
reports {
3844
filters {
3945
includes.classes("io.modelcontextprotocol.kotlin.sdk.*")
46+
excludes.classes("io.modelcontextprotocol.kotlin.sdk.models.*") // temporary
47+
excludes.classes("io.modelcontextprotocol.kotlin.sdk.models.infrastructure.*") // generated
4048
}
4149
total {
4250
log {

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ ktor-server-core = { group = "io.ktor", name = "ktor-server-core", version.ref =
4848

4949
# Testing
5050
awaitility = { group = "org.awaitility", name = "awaitility-kotlin", version.ref = "awaitility" }
51+
kotest-assertions-core = { group = "io.kotest", name = "kotest-assertions-core", version.ref = "kotest" }
5152
kotest-assertions-json = { group = "io.kotest", name = "kotest-assertions-json", version.ref = "kotest" }
5253
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" }
5354
ktor-client-mock = { group = "io.ktor", name = "ktor-client-mock", version.ref = "ktor" }

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class io/modelcontextprotocol/kotlin/sdk/client/Client : io/modelcontextp
1717
public final fun getPrompt (Lio/modelcontextprotocol/kotlin/sdk/GetPromptRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
1818
public static synthetic fun getPrompt$default (Lio/modelcontextprotocol/kotlin/sdk/client/Client;Lio/modelcontextprotocol/kotlin/sdk/GetPromptRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
1919
public final fun getServerCapabilities ()Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;
20+
public final fun getServerInstructions ()Ljava/lang/String;
2021
public final fun getServerVersion ()Lio/modelcontextprotocol/kotlin/sdk/Implementation;
2122
public final fun listPrompts (Lio/modelcontextprotocol/kotlin/sdk/ListPromptsRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
2223
public static synthetic fun listPrompts$default (Lio/modelcontextprotocol/kotlin/sdk/client/Client;Lio/modelcontextprotocol/kotlin/sdk/ListPromptsRequest;Lio/modelcontextprotocol/kotlin/sdk/shared/RequestOptions;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;

kotlin-sdk-client/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/client/Client.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,14 @@ public open class Client(private val clientInfo: Implementation, options: Client
9191
public var serverCapabilities: ServerCapabilities? = null
9292
private set
9393

94+
/**
95+
* Optional human-readable instructions or description from the server.
96+
*
97+
* @return Instructions provided by the server, or `null` if none were given or initialization is not yet complete.
98+
*/
99+
public var serverInstructions: String? = null
100+
private set
101+
94102
/**
95103
* Retrieves the server's reported version information after initialization.
96104
*
@@ -154,6 +162,7 @@ public open class Client(private val clientInfo: Implementation, options: Client
154162

155163
serverCapabilities = result.capabilities
156164
serverVersion = result.serverInfo
165+
serverInstructions = result.instructions
157166

158167
notification(InitializedNotification())
159168
} catch (error: Throwable) {
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# OpenAPI Generator Ignore
2+
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
3+
4+
# Use this file to prevent files from being overwritten by the generator.
5+
# The patterns follow closely to .gitignore or .dockerignore.
6+
7+
# As an example, the C# client generator defines ApiClient.cs.
8+
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9+
**/auth/**
10+
**/infrastructure/**
11+
!**/Base64ByteArray.kt
12+
!**/Bytes.kt
13+
14+
15+
## Exclude Models which are causing problems
16+
**/JSONRPCResponse.kt
17+
**/Result.kt
18+
**/ListToolsResult.kt
19+
**/InitializeRequest.kt
20+
**/InitializeResult.kt
21+
**/ServerCapabilities.kt
22+
**/InitializeRequestParams.kt
23+
**/CreateMessageRequest.kt
24+
**/CreateMessageRequestParams.kt
25+
**/ClientCapabilities.kt
26+
**/Tool.kt
27+
**/ToolInputSchema.kt
28+
**/ToolOutputSchema.kt
29+

kotlin-sdk-core/api/kotlin-sdk-core.api

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -975,16 +975,18 @@ public final class io/modelcontextprotocol/kotlin/sdk/InitializeRequest$Companio
975975

976976
public final class io/modelcontextprotocol/kotlin/sdk/InitializeResult : io/modelcontextprotocol/kotlin/sdk/ServerResult {
977977
public static final field Companion Lio/modelcontextprotocol/kotlin/sdk/InitializeResult$Companion;
978-
public fun <init> (Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lkotlinx/serialization/json/JsonObject;)V
979-
public synthetic fun <init> (Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lkotlinx/serialization/json/JsonObject;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
978+
public fun <init> (Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;Lio/modelcontextprotocol/kotlin/sdk/Implementation;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;)V
979+
public synthetic fun <init> (Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;Lio/modelcontextprotocol/kotlin/sdk/Implementation;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
980980
public final fun component1 ()Ljava/lang/String;
981981
public final fun component2 ()Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;
982982
public final fun component3 ()Lio/modelcontextprotocol/kotlin/sdk/Implementation;
983-
public final fun component4 ()Lkotlinx/serialization/json/JsonObject;
984-
public final fun copy (Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lkotlinx/serialization/json/JsonObject;)Lio/modelcontextprotocol/kotlin/sdk/InitializeResult;
985-
public static synthetic fun copy$default (Lio/modelcontextprotocol/kotlin/sdk/InitializeResult;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;Lio/modelcontextprotocol/kotlin/sdk/Implementation;Lkotlinx/serialization/json/JsonObject;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/InitializeResult;
983+
public final fun component4 ()Ljava/lang/String;
984+
public final fun component5 ()Lkotlinx/serialization/json/JsonObject;
985+
public final fun copy (Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;Lio/modelcontextprotocol/kotlin/sdk/Implementation;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;)Lio/modelcontextprotocol/kotlin/sdk/InitializeResult;
986+
public static synthetic fun copy$default (Lio/modelcontextprotocol/kotlin/sdk/InitializeResult;Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;Lio/modelcontextprotocol/kotlin/sdk/Implementation;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/InitializeResult;
986987
public fun equals (Ljava/lang/Object;)Z
987988
public final fun getCapabilities ()Lio/modelcontextprotocol/kotlin/sdk/ServerCapabilities;
989+
public final fun getInstructions ()Ljava/lang/String;
988990
public final fun getProtocolVersion ()Ljava/lang/String;
989991
public final fun getServerInfo ()Lio/modelcontextprotocol/kotlin/sdk/Implementation;
990992
public fun get_meta ()Lkotlinx/serialization/json/JsonObject;

0 commit comments

Comments
 (0)