Pavel Gorgulov
058bba110f
fix deploy for klibs ( #153 )
...
* fix deploy for klibs
- update gradle wrapper
- upgrade jreleaser to 1.19.0
- remove unused code in build.gradle
* remove unnecessary check for js
* exclude kotlinMultiplatform from publication overrides
2025-07-17 03:53:46 +00:00
Pavel Gorgulov
b6bbf40175
revert jreleaser to 1.17.0 and skip checksums ( #150 )
2025-07-16 18:51:40 +00:00
Pavel Gorgulov
41410033a8
Release 0.6.0 ( #149 )
0.6.0
2025-07-16 05:37:08 +00:00
Pavel Gorgulov
2a38e59bd3
Add streamable http client transport ( #147 )
...
* feat: add streamable http client
* update StreamableHttpClientTransport
* improve StreamableHttpClientTransport handling of headers, event parsing, and session termination
* add simple tests for StreamableClient and fix send
* add client mocking
* add notification e2e tests
---------
Co-authored-by: Zach Tang <zachtangoj@gmail.com>
2025-07-15 13:00:52 +00:00
Didier Villevalois
12f686fa4b
feat(server): add support for tool structured content and output schema ( #146 )
...
Fixes #139
2025-07-14 12:59:56 +00:00
Didier Villevalois
675cc73c6d
Add support for elicitation ( #138 )
...
* feat(client): add support for elicitation
Fixes #137
* feat(client): add a convenience method to set the elicitation handler
2025-07-11 12:46:57 +00:00
dependabot[bot]
609b52cf63
Bump org.gradle.toolchains.foojay-resolver-convention ( #130 )
...
Bumps org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0.
---
updated-dependencies:
- dependency-name: org.gradle.toolchains.foojay-resolver-convention
dependency-version: 1.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-07-09 06:49:33 +00:00
Pavel Gorgulov
29072527eb
atomic and persistent collections for thread safety ( #143 )
...
* Refactor handlers and collections to use atomic references: use persistent collections for thread safety
* refactor remove and add public tools/roots/prompts for server
---------
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-07-09 06:43:48 +00:00
Pavel Gorgulov
bd3cc4e1d2
refactor SseClientTransport ( #142 )
...
* refactor `SseClientTransport`
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* replace `Exception` with `Throwable` in `SseClientTransport` error handling and try/catch `cancel` in closeResources
---------
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-08 13:27:03 +00:00
dependabot[bot]
e9eb109e9b
Bump org.jreleaser from 1.17.0 to 1.19.0 ( #141 )
...
Bumps org.jreleaser from 1.17.0 to 1.19.0.
---
updated-dependencies:
- dependency-name: org.jreleaser
dependency-version: 1.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-07 11:16:55 +00:00
dependabot[bot]
badbee8ef5
Bump gradle/actions from 4.0.0 to 4.4.1 ( #122 )
...
Bumps [gradle/actions](https://github.com/gradle/actions ) from 4.0.0 to 4.4.1.
- [Release notes](https://github.com/gradle/actions/releases )
- [Commits](af1da67850...ac638b010c )
---
updated-dependencies:
- dependency-name: gradle/actions
dependency-version: 4.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-07-07 11:02:05 +00:00
dependabot[bot]
9d2b5e1c03
Bump ktor from 3.1.3 to 3.2.1 ( #140 )
...
Bumps `ktor` from 3.1.3 to 3.2.1.
Updates `io.ktor:ktor-client-cio` from 3.1.3 to 3.2.1
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.1.3...3.2.1 )
Updates `io.ktor:ktor-server-sse` from 3.1.3 to 3.2.1
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.1.3...3.2.1 )
Updates `io.ktor:ktor-server-websockets` from 3.1.3 to 3.2.1
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.1.3...3.2.1 )
Updates `io.ktor:ktor-server-cio` from 3.1.3 to 3.2.1
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.1.3...3.2.1 )
Updates `io.ktor:ktor-server-test-host` from 3.1.3 to 3.2.1
- [Release notes](https://github.com/ktorio/ktor/releases )
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ktorio/ktor/compare/3.1.3...3.2.1 )
---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
dependency-version: 3.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: io.ktor:ktor-server-sse
dependency-version: 3.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: io.ktor:ktor-server-websockets
dependency-version: 3.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: io.ktor:ktor-server-cio
dependency-version: 3.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: io.ktor:ktor-server-test-host
dependency-version: 3.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-07-07 10:01:10 +00:00
SeanChinJunKai
89c20379ab
feat: add tool annotations according to 2025-03-26 spec ( #71 )
...
* feat: add tool annotations
* chore: commit api dump
* fix import and api
---------
Co-authored-by: devcrocod <devcrocod@gmail.com>
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-07-07 06:52:16 +00:00
Pavel Gorgulov
ed842e5255
Add labels to dependabot configuration for Kotlin and GitHub Actions ( #135 )
...
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-07-06 15:57:47 +00:00
shendaxia
958e5e5ee9
sse server does not process endpoint correctly when sse path is not a directory ( #43 )
...
* fix SSEClientTransport endpoint process with none directory sse path
* fix SSEClientTransport endpoint process with none directory sse path
* Refactor `SseTransportTest` to use `route` for better clarity and update server handling with suspend functions.
---------
Co-authored-by: tpp-builder <tpp-builder@alibaba-inc.com>
Co-authored-by: devcrocod <devcrocod@gmail.com>
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-07-04 12:21:11 +00:00
adamglin0
aa00fc3d5e
Remove fixed suffix /sse ( #108 )
...
* Simplify URL handling in SSE client transport.
* fix the sse integration test
---------
Co-authored-by: devcrocod <devcrocod@gmail.com>
2025-07-04 12:40:00 +02:00
dependabot[bot]
1bd9734c6a
Bump io.mockk:mockk from 1.13.13 to 1.14.4 ( #133 )
...
Bumps [io.mockk:mockk](https://github.com/mockk/mockk ) from 1.13.13 to 1.14.4.
- [Release notes](https://github.com/mockk/mockk/releases )
- [Commits](https://github.com/mockk/mockk/compare/1.13.13...1.14.4 )
---
updated-dependencies:
- dependency-name: io.mockk:mockk
dependency-version: 1.14.4
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-02 16:10:16 +00:00
dependabot[bot]
1990ac406c
Bump org.jetbrains.kotlinx:kotlinx-serialization-json ( #132 )
...
Bumps [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization ) from 1.8.1 to 1.9.0.
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases )
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Kotlin/kotlinx.serialization/compare/v1.8.1...v1.9.0 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
dependency-version: 1.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-02 16:03:48 +00:00
dependabot[bot]
85db834ae8
Bump org.slf4j:slf4j-simple from 2.0.16 to 2.0.17 ( #131 )
...
Bumps org.slf4j:slf4j-simple from 2.0.16 to 2.0.17.
---
updated-dependencies:
- dependency-name: org.slf4j:slf4j-simple
dependency-version: 2.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-02 10:59:53 +00:00
Didier Villevalois
a464ea336d
feat(client): add roots addition/removal API and listRoots handler ( #118 )
2025-06-30 07:14:28 +00:00
Pavel Gorgulov
d79569d703
update kotlin to 2.2.0 and ktor to 3.1.3 ( #120 )
...
* update kotlin to 2.2.0 and ktor to 3.1.3
* api dump: add `typeParametersSerializers` to all synthetic serializers
2025-06-27 11:15:16 +00:00
dependabot[bot]
d351690af3
Bump org.jetbrains.kotlinx.binary-compatibility-validator ( #125 )
...
Bumps [org.jetbrains.kotlinx.binary-compatibility-validator](https://github.com/Kotlin/binary-compatibility-validator ) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/Kotlin/binary-compatibility-validator/releases )
- [Commits](https://github.com/Kotlin/binary-compatibility-validator/compare/0.17.0...0.18.0 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx.binary-compatibility-validator
dependency-version: 0.18.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-27 09:43:52 +00:00
dependabot[bot]
a0fac0d5c9
Bump io.github.oshai:kotlin-logging from 7.0.0 to 7.0.7 ( #126 )
...
Bumps [io.github.oshai:kotlin-logging](https://github.com/oshai/kotlin-logging ) from 7.0.0 to 7.0.7.
- [Release notes](https://github.com/oshai/kotlin-logging/releases )
- [Changelog](https://github.com/oshai/kotlin-logging/blob/master/ChangeLog-old.md )
- [Commits](https://github.com/oshai/kotlin-logging/compare/7.0.0...7.0.7 )
---
updated-dependencies:
- dependency-name: io.github.oshai:kotlin-logging
dependency-version: 7.0.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-26 08:57:53 +00:00
dependabot[bot]
6d89a946f2
Bump org.jetbrains.kotlinx:kotlinx-serialization-json ( #127 )
...
Bumps [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization ) from 1.7.3 to 1.8.1.
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases )
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Kotlin/kotlinx.serialization/compare/v1.7.3...v1.8.1 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
dependency-version: 1.8.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-26 07:02:04 +00:00
Stefan M.
c97341aa06
Add dependabot ( #121 )
2025-06-25 19:02:06 +00:00
Pavel Gorgulov
0cff2ca718
add ios and wasm targets ( #81 )
...
* add wasm and ios targets
* add yarn.lock file to gitignore
* clean up code
* fix typo in method name
* add wasm server example
* update jrelease publishing for klibs
* update gradle-publish workflow to use macos runner
* update README to reflect multiplatform support and clarify server setup for JVM and WASM
* remove the old main file from the kotlin-mcp-server example
* update api dump
* Refactor `build.gradle.kts`
* clean up imports and remove unnecessary charset specification in tests
* add JS target configuration and update API dump
2025-05-29 05:01:50 +00:00
adamglin0
7ce665b931
fix: Remove @SerialName annotation for inputSchema ( #105 )
...
* Remove unused @SerialName annotation for inputSchema
* update test
2025-05-27 07:03:31 +00:00
Vaibhav Raj
782b525f27
nit: apply requestBuilder headers when rpc messages ( #96 )
...
fixes : #63
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-05-13 13:36:41 +00:00
Theeraphol Wattanavekin
5fa378c49d
Make McpJson public to allow flexible protocol development ( #103 )
2025-05-13 06:54:57 +00:00
shiqicao
fb568bbcab
fix(client) add encodeDefault for field with non spec default value ( #99 )
...
* fix(client) add encodeDefault for field with non spec default value
* add test
2025-05-09 06:52:40 +00:00
shiqicao
9341f1e42f
fix(client): serialize inputSchema as input_schema ( #97 )
2025-05-06 06:39:12 +00:00
SeanChinJunKai
9f00f22596
feat: Add audio type according to 2025-03-26 spec ( #68 )
...
* feat: Add audio type according to 2025-03-26 spec
* chore: update documentation
* feat: add unit test
* chore: commit api dump
* feat: Add audio type according to 2025-03-26 spec
* chore: update documentation
* feat: add unit test
* chore: rebase and commit api dump
---------
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-04-30 12:58:05 +00:00
Leonid Stashevsky
c582a8c442
Disable configuration cache to fix jreleaser issue ( #92 )
...
* Update jreleaser to fix publication issue
* Disable configuration cache
2025-04-30 09:49:26 +00:00
Leonid Stashevsky
937681e8fa
Update jreleaser to fix publication issue ( #91 )
2025-04-30 09:25:07 +00:00
Leonid Stashevsky
f42fcecebe
Release 0.5.0 ( #90 )
0.5.0
2025-04-30 07:49:34 +00:00
SeanChinJunKai
b60e12af8f
feat: add message field to ProgressNotification according to 2025-03-26 spec ( #69 )
...
* feat: add message field to ProgressNotification to provide descriptive status updates
* chore: commit api dump
---------
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-04-30 07:42:19 +00:00
Stream
129731c34c
feat(server): add utility functions for CallToolResult ( #73 )
...
* feat(server): add utility functions for CallToolResult
CallToolResult.Companion.ok and CallToolResult.Companion.error
* test(server): add unit test for `CallToolResult.Companion.ok`and `CallToolResult.Companion.error`
* feat: update api dump
---------
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-04-30 04:34:43 +00:00
JiHwan Oh
d7b31aa37b
feat(server): Support removing tools, prompts and resources ( #85 )
...
* Add removing APIs for tools, prompts and resources
* Add remove tests
* API dump
2025-04-30 04:30:16 +00:00
Marcos Souza
c3efd65379
fix: Add build jar configuration ( #86 )
...
Add jar config to build aplication with correct Main-Class into MANIFEST.MF
2025-04-29 12:13:19 +00:00
Konstantin Aleev
dc5c155761
Skip empty lines ( #89 )
2025-04-29 12:09:03 +00:00
Stepan Goncharov
9b5c69fa5b
Gradle 8.13 + flags tuning ( #75 )
...
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-04-26 10:54:56 +00:00
Pavel Gorgulov
63a50c1bf4
Update to Kotlin 2.1.20 and minor refactoring ( #78 )
...
* update kotlin version to 2.1.20
* change atomics from atomicfu to kotlin.concurrent
* refactor to use the writechannel
* cancel job and close channel
2025-04-17 09:54:08 +00:00
SeanChinJunKai
63288ea63a
Add specific error handling for client connect ( #64 )
...
* feat: add specific error handling for client connect
* chore: fix typo
* feat(tests): Add unit test for client connect function
* feat: remove else block to improve readability
* feat: remove unneeded file
* feat: revert change to misc.xml
---------
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-04-10 14:23:35 +00:00
Pavel Gorgulov
a4d765cf94
Refactor for simplify JSON object construction for input schemas using buildJsonObject ( #65 )
2025-04-02 09:23:26 +00:00
Pavel Gorgulov
1c5e54936d
Refactor onCloseCallback to onClose and update related usages across the codebase ( #62 )
2025-03-26 14:04:28 +00:00
Leonid Stashevsky
0f3adfdd14
Release 0.4.0 ( #61 )
0.4.0
2025-03-26 11:36:43 +00:00
Pavel Gorgulov
68faa51235
Remove CompletableDeferred ( #57 )
...
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-03-26 11:31:22 +00:00
이용진
1fbf819ac5
Change ErrorCodeSerializer descriptor kind ( #54 )
...
* Change descriptor to INT for correct serialization
* Remove @OptIn(ExperimentalSerializationApi::class)
bacause The opt-in annotation is redundant: no matching experimental API is used
---------
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-03-26 09:05:43 +00:00
Abdullatif Ghajar
be4f9c37e0
Test and fix #52 ( #53 )
...
* Add test to reproduce #52
* Solve issue #52 by improving url handling in SseClientTransport
* Remove unnecessary url processing
---------
Co-authored-by: Abdullatif.Ghajar <abdullatif.ghajar@jetbrains.com>
2025-03-26 08:29:48 +00:00
Leland Takamine
b0532d9e9b
Support consumers that require Java 8 ( #60 )
2025-03-26 08:23:09 +00:00