MCP.so
Sign In
Servers

Spring AI MCP Weather STDIO Server

@cloud4java

Spring AI MCP Weather STDIO Server - A Spring Boot starter project demonstrating how to build a Model Context Protocol (MCP) server that provides weather-related tools

Overview

What is Spring AI MCP Weather STDIO Server?

A Spring Boot starter project that demonstrates building a Model Context Protocol (MCP) server providing weather tools via the National Weather Service API, using STDIO transport. It is intended for developers learning or prototyping MCP servers with Spring AI.

How to use Spring AI MCP Weather STDIO Server?

Build with ./mvnw clean install -DskipTests to produce a jar. Run the jar with appropriate JVM arguments (disable web, set console logging) and configure a client (Java MCP client or Claude Desktop) to connect via STDIO. The server exposes two tools: getWeatherForecastBrazil and getAlerts.

Key features of Spring AI MCP Weather STDIO Server

  • Provides two MCP tools: weather forecast and US state alerts
  • Uses Spring Boot auto-configuration for MCP components
  • Supports synchronous and asynchronous operation modes
  • Implements STDIO transport for client-server communication
  • Integrates with Claude Desktop via configuration JSON
  • Includes a test client (ClientStdio.java) for manual testing

Use cases of Spring AI MCP Weather STDIO Server

  • Retrieving weather forecasts at specific latitude/longitude coordinates
  • Fetching active weather alerts for a given US state
  • Demonstrating how to build and register MCP tools with Spring AI
  • Prototyping a STDIO-based MCP server for AI assistant integration

FAQ from Spring AI MCP Weather STDIO Server

What runtime does the server require?

Java 17 or later and Maven 3.6 or later. A Spring Boot and Spring AI development environment is also needed.

How are tools registered in the server?

Tools are registered as Spring beans annotated with @Tool and collected via ToolCallbacks.from(). The auto-configuration merges multiple tool callback lists.

Can the server be used with Claude Desktop?

Yes. Add a JSON entry to Claude Desktop’s mcpServers configuration with the command and arguments needed to launch the jar.

What is the default transport mode?

STDIO transport is used. The server cannot run as a web application; spring.main.web-application-type=none must be set.

Does the server support asynchronous operations?

Yes. The server can be configured as SYNC (default) or ASYNC via the property spring.ai.mcp.server.type.

More from Media & Design