| Filename | Latest commit message | Latest commit date |
|---|---|---|
Bumps [io.modelcontextprotocol:kotlin-sdk-client](https://github.com/modelcontextprotocol/kotlin-sdk) from 0.11.0 to 0.11.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/modelcontextprotocol/kotlin-sdk/releases">io.modelcontextprotocol:kotlin-sdk-client's releases</a>.</em></p> <blockquote> <h2>0.11.1</h2> <h3>Description</h3> <p>Fixes an SSE stream crash on Netty when clients connect to the Streamable HTTP GET endpoint.</p> <h3>Fixed</h3> <ul> <li>Fixed GET SSE stream crash on Netty in Streamable HTTP where <code>appendSseHeaders()</code> was called after response headers were already committed, causing <code>UnsupportedOperationException</code> and client retry loops by <a href="https://github.com/devcrocod"><code>@devcrocod</code></a> in <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/681">#681</a></li> </ul> <h3>Dependencies</h3> <ul> <li>mcp-kotlin to v0.11.0 in <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/672">#672</a>, <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/673">#673</a>, <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/675">#675</a>, <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/676">#676</a></li> <li>Ktor BOM to v3.3.3 in <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/650">#650</a>, <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/653">#653</a>, <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/656">#656</a></li> <li>Kotest assertions to v6.1.11 in <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/674">#674</a></li> <li>anthropic-java to v2.19.0 in <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/671">#671</a></li> <li><code>@modelcontextprotocol/sdk</code> to v1.29.0, <code>@types/node</code> update in <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/677">#677</a></li> <li>hono to v4.12.12 in <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/680">#680</a></li> <li><code>@hono/node-server</code> to v1.19.13 in <a href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/pull/679">#679</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/modelcontextprotocol/kotlin-sdk/compare/0.11.0...0.11.1">https://github.com/modelcontextprotocol/kotlin-sdk/compare/0.11.0...0.11.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
| .. | ||
| gradle | ||
| src/main | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| README.md | ||
| settings.gradle.kts | ||
Kotlin MCP Client
An interactive CLI client that connects to any MCP server over STDIO and pipes queries through Anthropic's Claude API.
Overview
This sample demonstrates a complete MCP client workflow: launching an MCP server as a subprocess, discovering its tools, converting them to Anthropic's tool format, and running an interactive chat loop where Claude can call server tools on behalf of the user.
Prerequisites
- JDK 17+
- An
ANTHROPIC_API_KEYenvironment variable set with a valid Anthropic API key - An MCP server script to connect to (
.js,.py, or.jar)
Build & Run
Run the client, passing the path to an MCP server:
# Connect to a JVM server
./gradlew run --args="path/to/server.jar"
# Connect to a Python server
./gradlew run --args="path/to/server.py"
# Connect to a Node.js server
./gradlew run --args="path/to/build/index.js"
Note
The client uses STDIO transport, so it launches the MCP server as a subprocess. Ensure the server script is executable and is a valid
.js,.py, or.jarfile.
MCP Capabilities
From the client perspective, this sample demonstrates:
- Tool discovery — lists tools from the connected server and converts them to Anthropic's tool format.
- Tool invocation — when Claude's response requests a tool call, the client invokes the corresponding MCP tool and feeds the result back into the conversation.