Skip to content

chore: upgrade MCP Kotlin SDK to official 0.11.1#3182

Open
Leland-Takamine wants to merge 1 commit intomainfrom
update-mcp
Open

chore: upgrade MCP Kotlin SDK to official 0.11.1#3182
Leland-Takamine wants to merge 1 commit intomainfrom
update-mcp

Conversation

@Leland-Takamine
Copy link
Copy Markdown
Contributor

@Leland-Takamine Leland-Takamine commented Apr 16, 2026

Summary

  • Replace the forked kotlin-sdk (steviec/kotlin-1.8 branch via git source control) with the official io.modelcontextprotocol:kotlin-sdk:0.11.1 from Maven Central
  • The project's Kotlin 2.2 / Java 17 now meets the SDK's requirements, so the fork is no longer needed
  • Migrate all MCP tool code to the new API surface

API changes

  • Types moved from io.modelcontextprotocol.kotlin.sdk.*io.modelcontextprotocol.kotlin.sdk.types.*
  • Tool.Input renamed to ToolSchema
  • request.arguments is now nullable (JsonObject?)
  • server.connect(transport) replaced with server.createSession(transport)

Runtime dependency version changes

Dependency Before After
MCP SDK forked git branch 0.11.1 (official, split into core/client/server modules)
kotlin-stdlib-common 2.2.20 2.3.10
kotlinx-coroutines 1.8.0 1.10.2
kotlinx-io-bytestring 0.2.0 0.9.0
kotlinx-io-core 0.2.0 0.9.0
kotlinx-serialization-core 1.5.0 1.10.0
kotlinx-serialization-json 1.5.0 1.10.0
Ktor (most modules) 2.3.6 3.3.3
kotlin-logging 7.0.0 8.0.01
typesafe config 1.4.2 1.4.5
jansi 2.4.0 2.4.2
kotlinx-collections-immutable 0.4.0
kotlinx-serialization-bom 1.10.0
kotlinx-serialization-json-io 1.10.0
ktor-server-sse / ktor-sse 3.3.3
ktor-server-content-negotiation 3.3.3

Test plan

  • Verify maestro mcp starts and responds to tool calls
  • Run MCP tool tests (run_mcp_tool_tests.sh)

Replace the forked kotlin-sdk (steviec/kotlin-1.8 branch) with the
official io.modelcontextprotocol:kotlin-sdk 0.11.1 from Maven Central.
The project's Kotlin 2.2 / Java 17 now meets the SDK's requirements.

API migration:
- Types moved to io.modelcontextprotocol.kotlin.sdk.types package
- Tool.Input renamed to ToolSchema
- request.arguments is now nullable
- server.connect() replaced with server.createSession()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant