Commit graph

138 commits

Author SHA1 Message Date
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
Pavel Gorgulov
58f2bbab0c
add client sample (#55)
* add mcp Client example

* Add sample links for weather-stdio-server and kotlin-mcp-client to main readme
2025-03-18 17:49:04 +00:00
Adithya Kamath
7d2e993b96
Remove the double bang operator and replace it with a null check instead. (#49)
2. add try catch in the block for transport send in acatch block

Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-03-12 09:48:21 +00:00
Pavel Gorgulov
0a6490c7f3
Add Kotlin Weather STDIO server sample (#50)
* Add Kotlin Weather STDIO server sample

* Update gradle build command in Readme to exclude tests
2025-03-11 08:16:28 +00:00
Sebastian Aigner
c57c56e18f
Change sample tool name to conform to Claude's naming conventions, do not emit any text on stdout when running in stdio mode (#48) 2025-03-07 14:28:26 +00:00
Jose Flores
164d276336
Update sample project to use library version 0.3.0 (#47)
Co-authored-by: Leonid Stashevsky <e5l@users.noreply.github.com>
2025-02-25 08:20:17 +00:00
Jose Flores
78ef0f9e2b
Process JSONRPCRequest with default param (#42) (#46) 2025-02-23 08:40:05 +00:00
Kazik Pogoda
0d6fa860cd
Add support for testing JSON serialization of the mcp API (#45)
* Add kotest-assertions-json dependency + ToolSerializationTest

* ToolSerializationTest update
2025-02-21 17:21:14 +00:00
Alexander Sysoev
cd7de7a7a2
Enable auto-merge instead of merge queue (#44) 2025-02-18 17:53:50 +01:00
Alexander Sysoev
8a9dc558f7
Fix merge queue config (2) (#39)
* Fix merge queue config

* apiDump
2025-01-27 08:56:15 +00:00
Alexander Sysoev
0549c51f86
Fix merge queue config (#38) 2025-01-24 12:47:29 +00:00
Alexander Sysoev
de5ef4460f
Modify SSE config for server (#23)
* Fixed compilation

* Added `mcp` Ktor server route alongside Application extension

* Fix AbstractTransport to not skip messages
2025-01-24 12:31:32 +00:00
Alexander Sysoev
d9ab85f245
Add merge queue rules (#37) 2025-01-24 13:17:09 +01:00