Skip to content

Releases: modelcontextprotocol/kotlin-sdk

0.8.0

20 Nov 22:49
Immutable release. Only release title and notes can be modified.
e119a82

Choose a tag to compare

🚨 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.types package
  • Many schema types have new fields and updated constructor signatures
  • Request/response types now use nested params objects

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.Resource

Minimum 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

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

  • Add example Kotlin Notebook demonstrating MCP client (#397) @kpavlov

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

  • @IRus made their first contribution in #392

Full Changelog: 0.7.7...0.8.0

0.7.7

10 Nov 16:43
Immutable release. Only release title and notes can be modified.
65f2f3d

Choose a tag to compare

What's Changed

  • 💥 Breaking change: Replace Instant with String for lastModified in Annotations by @kpavlov in #383

Full Changelog: 0.7.6...0.7.7

0.7.6

07 Nov 15:26
Immutable release. Only release title and notes can be modified.
110efa9

Choose a tag to compare

What's Changed

Bugfixes

Dependencies

  • Bump version to 0.7.6-SNAPSHOT and update version to 0.7.5 in samples by @kpavlov in #374
  • Update Gradle to version 9.2.0 across all projects by @kpavlov in #377

Full Changelog: 0.7.5...0.7.6

0.7.5

06 Nov 17:30
Immutable release. Only release title and notes can be modified.
7681de1

Choose a tag to compare

What's Changed

  • Refactor WebSocket dependency by @devcrocod in #350
  • Fix: Return CallToolResult with isError for tool errors to conform with MCP spec by @devcrocod in #354
  • Relocate WebSocketIntegrationTest from commonTest to jvmTest by @devcrocod in #352
  • Fix kotlin-mcp-server example and update samples by @devcrocod in #345
  • Fix security for logging in server by @devcrocod in #360
  • Refactor mcp server, rename connect to by @tiginamaria in #364
  • Fix: Memory leak from unclosed sessions in Server by @devcrocod in #359
  • Move features(tools, prompts, resources) management to the FeatureRegistry by @tiginamaria in #365
  • Refactor ServerTest test structure by @tiginamaria in #366
  • Fix: Handle logging/setLevel request for server by @devcrocod in #358
  • Add Ktor BOM for dependency management across all modules, run Kotlin-MCP-Server Sample by @kpavlov in #367
  • Add tests to server samples by @tiginamaria in #369
  • Adds optional _meta field to Tool by @jclyne in #339
  • Update Kotlin-MCP-Server with STDIO support, logging & CORS by @kpavlov in #371
  • Update .gitignore to exclude kotlin-js-store directory by @devcrocod in #343
  • Add AGENTS.md by @devcrocod in #349

Dependencies

Full Changelog: 0.7.4...0.7.5

0.7.4

24 Oct 13:06
64a8262

Choose a tag to compare

What's Changed

Features

  • Add metadata support to callTool method by @maeryo in #289

Improvements

  • Fix decimal separator format in calculator tool tests by @maeryo in #315
  • Refactor testClientConnectWithInvalidJson by @devcrocod in #338

Build & CI

Dependencies

Docs

New Contributors

Full Changelog: 0.7.3...0.7.4

0.7.3

21 Oct 15:58

Choose a tag to compare

What's Changed

  • Introduce server sessions by @tiginamaria in #198

  • Capture version at configuration time to avoid configuration cache issue by @jclyne in #291

  • Add instructions string to the Server and propagate to the InitializeResult by @jclyne in #290

  • Change sample server host from 0.0.0.0 to 127.0.0.1 by @JLLeitschuh in #307

  • Add StreamableHttpClientTest with test infrastructure setup and dependencies by @kpavlov in #316

  • Refactor streaming http tests by @kpavlov in #320

  • Fix Streamable handling to support JSON-only responses by @devcrocod in #309

Chores

  • Bump org.jetbrains.kotlinx.kover from 0.9.1 to 0.9.2 by @dependabot[bot] in #286
  • Conditionally imports the samples only if it's the root project by @jclyne in #292
  • Generate MCP classes with OpenAPI Generator by @kpavlov in #294
  • Disable OpenAPI Generator by @kpavlov in #301
  • Bump gradle/actions from 4 to 5 by @dependabot[bot] in #306
  • Compatibility updates for gradle 9.x.x by @jclyne in #313
  • Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #317
  • Bump org.openapi.generator from 7.15.0 to 7.16.0 by @dependabot[bot] in #305

New Contributors

Full Changelog: 0.7.2...0.7.3

0.6.1

06 Oct 11:48
@e5l e5l

Choose a tag to compare

What's Changed

  • Fix incorrect deserializer mapping for tool and prompt list notifications (#195)

Full Changelog: 0.6.0...0.6.1

0.7.2

19 Sep 15:11
7e45708

Choose a tag to compare

What's Changed

Full Changelog: 0.7.1...0.7.2

0.7.2-alpha3

19 Sep 13:59
ac3d770

Choose a tag to compare

0.7.2-alpha3 Pre-release
Pre-release
Prepare prerelease 0.7.2-alpha3 (#284)

Prepare new prerelease. Bump version to 0.7.2-alpha3

0.7.2-alpha2

19 Sep 11:14
5fe1975

Choose a tag to compare

0.7.2-alpha2 Pre-release
Pre-release
Prepare prerelease 0.7.2-alpha2 (#282)

Bump version to 0.7.2-alpha2

## Motivation and Context
New prerelease version with signing fixes 

## Types of changes
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update

## Checklist
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [ ] I have added or updated documentation as needed