Commit graph

74 commits

Author SHA1 Message Date
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
Leonid Stashevsky
8426228bf8
Migrate to kotlin style callbacks. Close #14 (#36) 2025-01-14 16:24:55 +01:00
Kazik Pogoda
c2c0df5992
Add org.jetbrains.kotlinx.binary-compatibility-validator plugin (#35) 2025-01-08 09:12:56 +01:00
leonid.stashevsky
ff0eaa6084 Release 0.3.0 0.3.0 2025-01-07 10:32:28 +01:00
Pavel Gorgulov
e8c2f007a5
Migrate project to Multiplatform (KMP) (#22)
* Migrate to Kotlin multiplatform

* Fix publication

* Switch to using `alias` for the AtomicFu plugin

---------

Co-authored-by: Alexander Sysoev <Alexander.Sysoev@jetbrains.com>
2025-01-07 10:26:16 +01:00
Sergey Ignatov
67d1f7775a
Cleanup API (#29) 2024-12-23 17:14:24 +01:00
Sergey Ignatov
be6e47391f
Rewrite properties in idiomatic Kotlin, fix #21 (#28) 2024-12-23 09:05:12 +01:00
Sergey Ignatov
772195b5e6
Drop generics from Protocol class (#30)
The generic types in the Protocol class were not providing significant value and made
the code more complex. This change simplifies the API by removing these generic
parameters while maintaining the same functionality.
2024-12-23 09:04:06 +01:00
Sergey Ignatov
9931b1e666
Fix the difference in error handling between Kotlin and Typescript implementations in onClose (#31)
Makes the error handling behavior consistent between Kotlin and TypeScript
implementations when handling connection closure events.
2024-12-23 09:03:35 +01:00
Sergey Ignatov
d8a8f89465
0.2.0 (#27) 0.2.0 2024-12-22 11:58:23 +01:00
Sergey Ignatov
16f60b4bc4
Accept requestID as a string #25 (#26) 2024-12-22 08:43:46 +01:00
Konstantin Aleev
512e7b65aa
Add required field to tool input (#24) 2024-12-21 20:38:19 +01:00
leonid.stashevsky
c9b90290df Update sample to 0.1.0 2024-12-17 20:19:11 +01:00
leonid.stashevsky
c0f404eb7b Update publication config 0.1.0 2024-12-17 19:50:27 +01:00
leonid.stashevsky
507cf6c964 Change repository path 2024-12-17 19:42:05 +01:00