kotlin-sdk/samples/weather-stdio-server
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dependabot[bot] a265db8cfd
chore(deps): bump mcp-kotlin from 0.13.0 to 0.14.0 in /samples/weather-stdio-server (#879)
Bumps `mcp-kotlin` from 0.13.0 to 0.14.0.
Updates `io.modelcontextprotocol:kotlin-sdk-client` from 0.13.0 to
0.14.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fc7916fdc7"><code>fc7916f</code></a>
release: 0.14.0 (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/867">#867</a>)</li>
<li><a
href="57e546d378"><code>57e546d</code></a>
feat: SEP-1686 Tasks (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/844">#844</a>)</li>
<li><a
href="35da063c23"><code>35da063</code></a>
fix: bound request body size in SSE and Streamable HTTP transports (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/839">#839</a>)</li>
<li><a
href="bbf77bae93"><code>bbf77ba</code></a>
chore(deps): bump <code>@​types/node</code> from 26.0.0 to 26.0.1 in
/integration-test/src/...</li>
<li><a
href="d2b1509147"><code>d2b1509</code></a>
chore(deps): bump the other-dependencies group across 5 directories with
5 up...</li>
<li><a
href="0221b8db3d"><code>0221b8d</code></a>
fix(client): close stdio read sources during shutdown (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/798">#798</a>)</li>
<li><a
href="19db4b04e3"><code>19db4b0</code></a>
fix(client): gate completion/complete on the completions capability (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/846">#846</a>)</li>
<li><a
href="64cf29fea7"><code>64cf29f</code></a>
chore(deps): bump gradle-wrapper from 9.6.0 to 9.6.1 (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/856">#856</a>)</li>
<li><a
href="cd91652be1"><code>cd91652</code></a>
fix: validate Origin against localhost by default in DNS rebinding
protection...</li>
<li><a
href="4103b87d69"><code>4103b87</code></a>
chore(deps): bump org.jetbrains.kotlinx:kotlinx-io-core from 0.9.0 to
0.9.1 i...</li>
<li>Additional commits viewable in <a
href="https://github.com/modelcontextprotocol/kotlin-sdk/compare/0.13.0...0.14.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `io.modelcontextprotocol:kotlin-sdk-server` from 0.13.0 to
0.14.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fc7916fdc7"><code>fc7916f</code></a>
release: 0.14.0 (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/867">#867</a>)</li>
<li><a
href="57e546d378"><code>57e546d</code></a>
feat: SEP-1686 Tasks (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/844">#844</a>)</li>
<li><a
href="35da063c23"><code>35da063</code></a>
fix: bound request body size in SSE and Streamable HTTP transports (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/839">#839</a>)</li>
<li><a
href="bbf77bae93"><code>bbf77ba</code></a>
chore(deps): bump <code>@​types/node</code> from 26.0.0 to 26.0.1 in
/integration-test/src/...</li>
<li><a
href="d2b1509147"><code>d2b1509</code></a>
chore(deps): bump the other-dependencies group across 5 directories with
5 up...</li>
<li><a
href="0221b8db3d"><code>0221b8d</code></a>
fix(client): close stdio read sources during shutdown (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/798">#798</a>)</li>
<li><a
href="19db4b04e3"><code>19db4b0</code></a>
fix(client): gate completion/complete on the completions capability (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/846">#846</a>)</li>
<li><a
href="64cf29fea7"><code>64cf29f</code></a>
chore(deps): bump gradle-wrapper from 9.6.0 to 9.6.1 (<a
href="https://redirect.github.com/modelcontextprotocol/kotlin-sdk/issues/856">#856</a>)</li>
<li><a
href="cd91652be1"><code>cd91652</code></a>
fix: validate Origin against localhost by default in DNS rebinding
protection...</li>
<li><a
href="4103b87d69"><code>4103b87</code></a>
chore(deps): bump org.jetbrains.kotlinx:kotlinx-io-core from 0.9.0 to
0.9.1 i...</li>
<li>Additional commits viewable in <a
href="https://github.com/modelcontextprotocol/kotlin-sdk/compare/0.13.0...0.14.0">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-06 14:39:33 +02:00
..
gradle chore(deps): bump mcp-kotlin from 0.13.0 to 0.14.0 in /samples/weather-stdio-server (#879) 2026-07-06 14:39:33 +02:00
src docs: update client and server samples (#598) 2026-03-13 10:23:51 +01:00
build.gradle.kts docs: update client and server samples (#598) 2026-03-13 10:23:51 +01:00
gradle.properties #302 Update samples build workflow (#330) 2025-10-23 13:02:22 +03:00
gradlew chore(deps): bump the other-dependencies group across 5 directories with 3 updates (#854) 2026-06-24 15:31:46 +02:00
gradlew.bat chore(deps): bump the other-dependencies group across 5 directories with 3 updates (#854) 2026-06-24 15:31:46 +02:00
README.md docs: update client and server samples (#598) 2026-03-13 10:23:51 +01:00
settings.gradle.kts #302 Update samples build workflow (#330) 2025-10-23 13:02:22 +03:00

Weather STDIO Server

A minimal MCP server that exposes weather forecast and alert tools using the National Weather Service API over STDIO transport.

Overview

This sample shows how to build a STDIO-based MCP server in Kotlin. It registers two tools that query the weather.gov API — one for weather forecasts by latitude/longitude and one for active alerts by US state. Because it uses STDIO, the server is launched as a subprocess by an MCP client or a desktop application like Claude Desktop.

Prerequisites

  • JDK 17+
  • Internet access (the server calls the weather.gov API at runtime)

Build & Run

Run the server (it communicates via stdin/stdout):

./gradlew run

MCP Inspector

Build the fat JAR first, then connect with the MCP Inspector:

./gradlew build
npx @modelcontextprotocol/inspector -- java -jar samples/weather-stdio-server/build/libs/weather-stdio-server-0.1.0-all.jar

Claude Desktop integration

Add the following to your Claude Desktop configuration:

{
    "mcpServers": {
        "weather": {
            "command": "java",
            "args": [
                "-jar",
                "/absolute/path/to/samples/weather-stdio-server/build/libs/weather-stdio-server-0.1.0-all.jar"
            ]
        }
    }
}

MCP Capabilities

Tools

Name Description
get_alerts Returns active weather alerts for a two-letter US state code (e.g. CA, NY).
get_forecast Returns weather forecast for a given latitude / longitude using the weather.gov API.

Additional Resources