Skip to content

deps(deps): bump io.modelcontextprotocol:kotlin-sdk from 0.8.1 to 0.9.0#539

Open
dependabot[bot] wants to merge 2 commits intomainfrom
dependabot/gradle/io.modelcontextprotocol-kotlin-sdk-0.8.4
Open

deps(deps): bump io.modelcontextprotocol:kotlin-sdk from 0.8.1 to 0.9.0#539
dependabot[bot] wants to merge 2 commits intomainfrom
dependabot/gradle/io.modelcontextprotocol-kotlin-sdk-0.8.4

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 2, 2026

Bumps io.modelcontextprotocol:kotlin-sdk from 0.8.1 to 0.8.4.

Release notes

Sourced from io.modelcontextprotocol:kotlin-sdk's releases.

0.8.4

Changes

Full Changelog: modelcontextprotocol/kotlin-sdk@0.8.3...0.8.4

0.8.3

What's Changed

Bugfixes

New features

Chores

New Contributors

Full Changelog: modelcontextprotocol/kotlin-sdk@0.8.1...0.8.2

Commits
  • cc8cc76 chore: prepare for 0.8.4
  • 58575ba Ktor extensions for streamable http (#504)
  • 6969176 Add $defs to ToolSchema and tests (#526)
  • 4811936 bump: update version to 0.8.3 (#488)
  • bfb0516 ci: Update gradle-publish.yml
  • 1e4003f ci: re-enable publishing release workflow
  • 4d50502 fix(stdio-client)!: Stdio- and StreamableHttpClientTransport should throw Mcp...
  • 9f16ae4 chore(ci): Update deploy pipeline (#485)
  • ad7f372 Prepare for release version 0.8.2 (#461)
  • c73507b fix conformance tests (#483)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot force-pushed the dependabot/gradle/io.modelcontextprotocol-kotlin-sdk-0.8.4 branch from 3a98188 to da42be9 Compare March 5, 2026 05:21
@rustyrazorblade
Copy link
Owner

@dependabot rebase

Bumps [io.modelcontextprotocol:kotlin-sdk](https://github.com/modelcontextprotocol/kotlin-sdk) from 0.8.1 to 0.8.4.
- [Release notes](https://github.com/modelcontextprotocol/kotlin-sdk/releases)
- [Commits](modelcontextprotocol/kotlin-sdk@0.8.1...0.8.4)

---
updated-dependencies:
- dependency-name: io.modelcontextprotocol:kotlin-sdk
  dependency-version: 0.8.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/gradle/io.modelcontextprotocol-kotlin-sdk-0.8.4 branch from da42be9 to f6e5f47 Compare March 12, 2026 15:58
@claude
Copy link

claude bot commented Mar 12, 2026

PR Review

Version Mismatch — Needs Attention

The PR title and description say this bumps from 0.8.1 → 0.8.4, but the actual diff upgrades to 0.9.0:

-mcp-sdk = "0.8.1"
+mcp-sdk = "0.9.0"

This is a significant discrepancy. The PR body only documents release notes through 0.8.4 and doesn't cover what changed in 0.9.0. A minor version bump (0.8.x → 0.9.0) may introduce breaking changes not disclosed here.

Breaking Change in 0.8.3 (in scope per the PR description)

The 0.8.3 release notes document a breaking change:

StdioClientTransport.send(...) and StreamableHttpClientTransport.send(...) now throw McpException when not ready

Impact on this codebase: The project uses SseServerTransport (server-side, not client-side) in McpServer.kt, so this specific change does not appear to affect our code directly. No usages of StdioClientTransport or StreamableHttpClientTransport exist in the codebase.

Recommendations

  1. Investigate the 0.9.0 version: Check the kotlin-sdk changelog/release notes for 0.9.0 to understand what changed. If Dependabot generated this PR targeting 0.8.4 but the file now shows 0.9.0, that suggests either a manual edit was made or the PR is stale/conflicted.
  2. Verify the build compiles against 0.9.0 before merging — the SseServerTransport API used in McpServer.configureSseRoutes() should be confirmed stable across this version jump.
  3. If the intent is only to go to 0.8.4, update the version accordingly (or trigger a @dependabot recreate).

@rustyrazorblade
Copy link
Owner

@claude ignore the version issue. What needs to be done for this upgrade to work?

@claude
Copy link

claude bot commented Mar 14, 2026

Claude finished @rustyrazorblade's task in 2m 39s —— View job


Analysis: MCP SDK Upgrade Requirements

Root Cause

The SDK 0.9.0 changed the server.addTool() handler signature — it's now a suspend function that receives a ClientConnection as its first parameter:

  • Before (0.8.x): handler: (CallToolRequest) -> CallToolResult
  • After (0.9.0): handler: suspend (ClientConnection, CallToolRequest) -> CallToolResult

Fix Applied

Updated McpServer.kt in two places:

  1. createStatusHandler() — return type and lambda updated to accept (ClientConnection, CallToolRequest)
  2. createToolHandler() — same
  3. Added import io.modelcontextprotocol.kotlin.sdk.server.ClientConnection

The ClientConnection parameter is unused in both handlers (the handlers don't need to inspect the connection), so it's destructured with _.

Tasks

  • Gather context on the request
  • Identify compilation errors from CI
  • Understand the API change
  • Fix createToolHandler() signature and lambda
  • Fix createStatusHandler() signature and lambda
  • Add ClientConnection import
  • Push fix to branch

CI should now pass. The fix is in commit 0a8371f.
|

@rustyrazorblade rustyrazorblade changed the title deps(deps): bump io.modelcontextprotocol:kotlin-sdk from 0.8.1 to 0.8.4 deps(deps): bump io.modelcontextprotocol:kotlin-sdk from 0.8.1 to 0.9.0 Mar 14, 2026
The 0.9.0 SDK changed addTool() handler from (CallToolRequest) -> CallToolResult
to suspend (ClientConnection, CallToolRequest) -> CallToolResult.

Co-authored-by: Jon Haddad <rustyrazorblade@users.noreply.github.com>
@claude
Copy link

claude bot commented Mar 14, 2026

Dependency Bump Review: io.modelcontextprotocol:kotlin-sdk 0.8.1 → 0.9.0

Note: The PR title says 0.9.0 but the Dependabot description references 0.8.4. The actual diff sets the version to 0.9.0, so the title is correct — the description appears to be a Dependabot artifact mismatch.


Summary

This is a standard dependency upgrade that adapts to a breaking API change in the MCP SDK: tool handlers now require the signature suspend (ClientConnection, CallToolRequest) -> CallToolResult instead of (CallToolRequest) -> CallToolResult.

Changes in McpServer.kt

Both createStatusHandler() and createToolHandler() correctly adopt the new signature:

  • suspend modifier added — this is now required by the SDK
  • ClientConnection parameter added as the first argument and discarded with _ — appropriate since neither handler currently needs per-connection context

This is minimal, correct adaptation. No logic changes were made.

Concerns / Notes

Version discrepancy in PR description. The Dependabot description references 0.8.2–0.8.4 release notes but sets the version to 0.9.0. Worth verifying the 0.8.4 → 0.9.0 changelog doesn't contain additional breaking changes that require adaptation beyond what's already here. The ClientConnection parameter addition appears to be the only breaking change based on the diff.

ClientConnection unused. Both handlers discard the ClientConnection with _. If the SDK provides useful per-connection data (e.g., client identity, session metadata), it could be worth logging or using in the status handler in the future — but that's out of scope here.

Test coverage. There are existing MCP test files (McpServerBackgroundTest, McpServerSimpleTest, etc.) that should exercise these handlers. If they compile and pass, that's sufficient validation for this change.

Verdict

The code changes are correct and appropriately minimal. ✅ Safe to merge once CI passes.

@github-actions
Copy link
Contributor

Code Coverage

File Coverage [9.36%]
src/main/kotlin/com/rustyrazorblade/easydblab/mcp/McpServer.kt 9.36%
Total Project Coverage 67.03%

@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Mar 16, 2026

A newer version of io.modelcontextprotocol:kotlin-sdk exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant