You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: "Add KDoc documentation to Kotlin public API. Use whenever the user asks to document Kotlin code, add KDoc, generate API docs, mentions undocumented public declarations, or wants to improve existing documentation. Also trigger when the user says 'add docs', 'document this class/file/module', 'write KDoc', or asks about missing documentation in Kotlin code."
4
+
---
5
+
6
+
# KDoc Generator
7
+
8
+
Add KDoc comments to public Kotlin API declarations.
9
+
10
+
## What to document
11
+
12
+
All public declarations (no explicit `private`/`internal`/`protected`):
Read the implementation, not just the signature, to write accurate descriptions. Understanding what the code actually does prevents superficial or misleading documentation.
24
+
25
+
## KDoc format
26
+
27
+
**Class/interface example:**
28
+
29
+
````kotlin
30
+
/**
31
+
* Manages active client sessions and their lifecycle.
32
+
*
33
+
* Sessions are created on first connection and cleaned up
34
+
* when the transport closes.
35
+
*
36
+
* @property maxSessions upper limit on concurrent sessions
37
+
* @property timeout idle timeout before a session is evicted
* @param handler suspend function invoked when the tool is called
60
+
* @return the registered tool definition
61
+
*/
62
+
````
63
+
64
+
## Rules
65
+
66
+
- Summary: concise first sentence starting with a third-person verb ("Creates", "Returns", "Represents"). Expand to 2-3 sentences only when genuinely complex
67
+
-**@property** in class-level KDoc for all public properties (never as individual KDoc on the property); **@param** for function parameters
68
+
-**@return** for non-Unit return types
69
+
-**Example block**: add for DSL builders, complex functions, extension functions with non-obvious usage. Skip for trivial one-liners and simple getters
70
+
-**DSL builders**: always include an Example showing full usage with the receiver scope — this is critical for discoverability
71
+
- KDoc links (`[ClassName]`, `[methodName]`): only where it adds clear navigational value
72
+
- No **@throws** — don't document exceptions
73
+
- No **suspend** notes — coroutine nature is visible from the signature
74
+
-**Existing KDoc**: rewrite if incomplete (missing @param/@return/@property) or low quality
Copy file name to clipboardExpand all lines: kotlin-sdk-client/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/client/StreamableHttpClientTransport.kt
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,9 @@ private const val MCP_PROTOCOL_VERSION_HEADER = "mcp-protocol-version"
Copy file name to clipboardExpand all lines: kotlin-sdk-core/api/kotlin-sdk-core.api
+60Lines changed: 60 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1417,6 +1417,65 @@ public final class io/modelcontextprotocol/kotlin/sdk/types/ElicitResult$Compani
1417
1417
public final fun serializer ()Lkotlinx/serialization/KSerializer;
1418
1418
}
1419
1419
1420
+
public final class io/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification : io/modelcontextprotocol/kotlin/sdk/types/ServerNotification {
1421
+
public static final field Companion Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification$Companion;
1422
+
public fun <init> (Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;)V
1423
+
public final fun component1 ()Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;
1424
+
public final fun copy (Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;)Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification;
1425
+
public static synthetic fun copy$default (Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification;Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification;
1426
+
public fun equals (Ljava/lang/Object;)Z
1427
+
public fun getMethod ()Lio/modelcontextprotocol/kotlin/sdk/types/Method;
1428
+
public fun getParams ()Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;
1429
+
public synthetic fun getParams ()Lio/modelcontextprotocol/kotlin/sdk/types/NotificationParams;
1430
+
public fun hashCode ()I
1431
+
public fun toString ()Ljava/lang/String;
1432
+
}
1433
+
1434
+
public final synthetic class io/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
1435
+
public static final field INSTANCE Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification$$serializer;
1436
+
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
1437
+
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification;
1438
+
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
1439
+
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
1440
+
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification;)V
1441
+
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
1442
+
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
1443
+
}
1444
+
1445
+
public final class io/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotification$Companion {
1446
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
1447
+
}
1448
+
1449
+
public final class io/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams : io/modelcontextprotocol/kotlin/sdk/types/NotificationParams {
1450
+
public static final field Companion Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams$Companion;
1451
+
public fun <init> (Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;)V
1452
+
public synthetic fun <init> (Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
1453
+
public final fun component1 ()Ljava/lang/String;
1454
+
public final fun component2 ()Lkotlinx/serialization/json/JsonObject;
1455
+
public final fun copy (Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;)Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;
1456
+
public static synthetic fun copy$default (Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;Ljava/lang/String;Lkotlinx/serialization/json/JsonObject;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;
1457
+
public fun equals (Ljava/lang/Object;)Z
1458
+
public final fun getElicitationId ()Ljava/lang/String;
1459
+
public fun getMeta ()Lkotlinx/serialization/json/JsonObject;
1460
+
public fun hashCode ()I
1461
+
public fun toString ()Ljava/lang/String;
1462
+
}
1463
+
1464
+
public final synthetic class io/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
1465
+
public static final field INSTANCE Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams$$serializer;
1466
+
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
1467
+
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;
1468
+
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
1469
+
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
1470
+
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams;)V
1471
+
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
1472
+
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
1473
+
}
1474
+
1475
+
public final class io/modelcontextprotocol/kotlin/sdk/types/ElicitationCompleteNotificationParams$Companion {
1476
+
public final fun serializer ()Lkotlinx/serialization/KSerializer;
1477
+
}
1478
+
1420
1479
public final class io/modelcontextprotocol/kotlin/sdk/types/ElicitationKt {
1421
1480
public static final fun ElicitRequestParams-EDEVuBg (Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ElicitRequestParams$RequestedSchema;Lkotlinx/serialization/json/JsonObject;)Lio/modelcontextprotocol/kotlin/sdk/types/ElicitRequestFormParams;
1422
1481
public static synthetic fun ElicitRequestParams-EDEVuBg$default (Ljava/lang/String;Lio/modelcontextprotocol/kotlin/sdk/types/ElicitRequestParams$RequestedSchema;Lkotlinx/serialization/json/JsonObject;ILjava/lang/Object;)Lio/modelcontextprotocol/kotlin/sdk/types/ElicitRequestFormParams;
@@ -2939,6 +2998,7 @@ public final class io/modelcontextprotocol/kotlin/sdk/types/Method$Defined : jav
2939
2998
public static final field Initialize Lio/modelcontextprotocol/kotlin/sdk/types/Method$Defined;
2940
2999
public static final field LoggingSetLevel Lio/modelcontextprotocol/kotlin/sdk/types/Method$Defined;
2941
3000
public static final field NotificationsCancelled Lio/modelcontextprotocol/kotlin/sdk/types/Method$Defined;
3001
+
public static final field NotificationsElicitationComplete Lio/modelcontextprotocol/kotlin/sdk/types/Method$Defined;
2942
3002
public static final field NotificationsInitialized Lio/modelcontextprotocol/kotlin/sdk/types/Method$Defined;
2943
3003
public static final field NotificationsMessage Lio/modelcontextprotocol/kotlin/sdk/types/Method$Defined;
2944
3004
public static final field NotificationsProgress Lio/modelcontextprotocol/kotlin/sdk/types/Method$Defined;
0 commit comments