🚨 Breaking changes
MCP schema types refactor (#386)
The MCP schema implementation has been updated to the latest MCP spec and reorganized into dedicated packages:
- All MCP types moved to
io.modelcontextprotocol.kotlin.sdk.typespackage - Many schema types have new fields and updated constructor signatures
- Request/response types now use nested
paramsobjects
Migration:
// Before:
import io.modelcontextprotocol.kotlin.sdk.InitializeRequest
import io.modelcontextprotocol.kotlin.sdk.Resource
// After:
import io.modelcontextprotocol.kotlin.sdk.types.InitializeRequest
import io.modelcontextprotocol.kotlin.sdk.types.ResourceMinimum JVM version raised to 11 (#394)
The minimum supported JVM version is now 11. Projects running on Java 8 must upgrade their runtime and build toolchain.
Transport.send signature change (#408)
The Transport.send method now accepts TransportSendOptions? parameter to support resumption tokens, progress callbacks, and request–response association.
Note
Who is affected?
Only custom Transport implementations. Built-in transports require no changes.
Migration:
Update all Transport.send implementations to include the new TransportSendOptions? parameter.
Features
- New MCP Schema types (#386) @devcrocod
- Add server session id (#381) @tiginamaria
- Add new helper properties to request and notification types (#388) @devcrocod
- Add experimental mcpClient(...) factory method (#396) @kpavlov
- Proposal: DSL Builders for request types (#399) @devcrocod
- Add options in Transport.send method (#408) @devcrocod
- Add convenience constructors to JSONRPCRequest (#336) @kpavlov
Improvements
- Raise the version of the supported specification (#391) @devcrocod
- Increase deprecation levels (#393) @devcrocod
- Updated ServerPromptsTest, move AbstractTransport to its own file (#376) @kpavlov
- Add backwards compatibility constructors and tests (#395) @kpavlov
- Add warning message to ExperimentalMcpApi annotation and change level (#398) @devcrocod
- Handle additional error types in client initialization handling (#404) @devcrocod
- Add test with new schema types (#389) @devcrocod
Bug Fixes
- Kotlin-MCP can't be used without ktor-bom starting from 0.7.5 (#392) @IRus
- Fix providing progressToken with request (#405) @devcrocod
Documentation & Examples
Build & Dependencies
- Bump version to 0.8.0-SNAPSHOT and update mcp-kotlin dependency in samples (#385) @kpavlov
- Update JVM target to 11 in Gradle build configuration (#394) @kpavlov
- Bump org.jlleitschuh.gradle.ktlint from 13.1.0 to 14.0.1 (#402) @dependabot[bot]
- Bump com.vanniktech:gradle-maven-publish-plugin from 0.34.0 to 0.35.0 (#403) @dependabot[bot]
New Contributors
Full Changelog: 0.7.7...0.8.0