| Filename | Latest commit message | Latest commit date |
|---|---|---|
Bumps the other-dependencies group with 2 updates in the /samples/kotlin-mcp-client directory: [com.anthropic:anthropic-java](https://github.com/anthropics/anthropic-sdk-java) and [com.gradleup.shadow](https://github.com/GradleUp/shadow). Bumps the other-dependencies group with 1 update in the /samples/kotlin-mcp-server directory: [com.gradleup.shadow](https://github.com/GradleUp/shadow). Bumps the other-dependencies group with 2 updates in the /samples/kotlinlang-mcp-server directory: [com.gradleup.shadow](https://github.com/GradleUp/shadow) and [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback). Bumps the other-dependencies group with 1 update in the /samples/simple-streamable-server directory: [com.gradleup.shadow](https://github.com/GradleUp/shadow). Bumps the other-dependencies group with 1 update in the /samples/weather-stdio-server directory: [com.gradleup.shadow](https://github.com/GradleUp/shadow). Updates `com.anthropic:anthropic-java` from 2.48.0 to 2.52.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/anthropics/anthropic-sdk-java/releases">com.anthropic:anthropic-java's releases</a>.</em></p> <blockquote> <h2>v2.52.0</h2> <h2>2.52.0 (2026-07-24)</h2> <p>Full Changelog: <a href="https://github.com/anthropics/anthropic-sdk-java/compare/v2.51.0...v2.52.0">v2.51.0...v2.52.0</a></p> <h3>Features</h3> <ul> <li><strong>api:</strong> add claude-opus-5 model (<a href=" |
||
| .. | ||
| gradle | ||
| src | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| README.md | ||
| settings.gradle.kts | ||
Simple Streamable HTTP Server
A minimal MCP server using the recommended Streamable HTTP transport with optional Bearer token authentication.
Overview
This sample demonstrates a Streamable HTTP MCP server built with Ktor. It exposes tools, a prompt
template, and a resource over HTTP, and optionally supports Bearer token authentication. The
multi-greet tool showcases server-to-client logging notifications with streaming delays.
Prerequisites
- JDK 17+
Build & Run
Without authentication
./gradlew run
The server starts on http://localhost:3001/mcp by default.
Connect with the MCP Inspector:
npx @modelcontextprotocol/inspector
In the Inspector UI, select Streamable HTTP transport and enter http://localhost:3001/mcp.
Pass a port number as an argument to change it:
./gradlew run --args="8080"
With authentication
MCP_AUTH_TOKEN=my-secret ./gradlew run --args="--auth"
When --auth is passed, clients must include an Authorization: Bearer <token> header.
The token is read from the MCP_AUTH_TOKEN environment variable (required when --auth is used).
Authentication caveats
This sample is intended for demonstration only. In production you should:
- Use a proper identity provider instead of a static token.
- Restrict CORS origins to your deployment domain — the sample allows all origins.
- Serve the endpoint over HTTPS.
MCP Capabilities
Tools
| Name | Description |
|---|---|
greet |
Returns a greeting for a given name. |
multi-greet |
Sends logging notifications between delayed greetings, demonstrating streaming. |
Prompts
| Name | Description |
|---|---|
greeting-template |
Generates a friendly greeting message for a given name. |
Resources
| Name | URI | Description |
|---|---|---|
Default Greeting |
https://example.com/greetings/default |
Returns a static "Hello, world!" text. |