Weather MCP
An MCP server for accessing real-time weather data and forecasts.
Weather MCP Server
A Model Context Protocol (MCP) server for weather data using Spring AI.
🚀 Quick Start
Build the JAR file first
./mvnw clean package
Start the MCP server
docker-compose up
The server will be available at:
- HTTP: http://localhost:8080
- MCP Endpoint: http://localhost:8080/sse
- Health: http://localhost:8080/actuator/health
🔌 Cursor Integration
Add to your ~/.cursor/mcp.json:
{ "mcpServers": { "weather": { "command": "<ABSOLUTE_PATH_OF_REPO_ON_LOCAL_MACHINE>/weather/start-mcp-server.sh" } } }
🛠️ Available Tools
getWeatherForecastByLocation(latitude, longitude)- Get weather forecastgetAlerts(state)- Get weather alerts for US states
🐳 Docker Commands
Build the JAR (required before running docker-compose)
./mvnw clean package
Start in background
docker-compose up -d
View logs
docker-compose logs -f
Stop
docker-compose down
Rebuild and start
./mvnw clean package && docker-compose up --build
🧑💻 Development
Prerequisites
- Java 21 (e.g. OpenJDK 21 or Temurin 21)
- Maven 3.9+
- Docker & Docker Compose
Build Locally
Compile & run unit tests
./mvnw clean verify
Build the runnable JAR (output in target/)
./mvnw clean package
Run Locally
Run with the JVM directly
java -jar target/weather-0.0.1-SNAPSHOT.jar
Or use Spring Boot devtools for hot-reload
./mvnw spring-boot:run
Or run with Docker Compose
./mvnw clean package && docker-compose up
The server starts on http://localhost:8080 by default.
Environment Variables
| Name | Default | Description |
|---|---|---|
| SERVER_PORT | 8080 | HTTP port to bind |
| SPRING_AI_MCP_SERVER_STDIO | false | Run the MCP server over stdio (useful for editor integrations) |
| SPRING_PROFILES_ACTIVE | (none) | Comma-separated list of Spring profiles |
Variables can be defined in src/main/resources/application.yml, overridden via -D flags, or exported in your shell.
📡 API Reference
This project exposes two flavours of API:
- MCP Tool Endpoints – consumed by supporting IDEs (e.g. Cursor).
- REST Endpoints – ordinary HTTP endpoints that you can call with
curl, Postman, etc.
MCP Tools
| Tool | Signature | Description |
|---|---|---|
| getWeatherForecastByLocation | (latitude: number, longitude: number) | Returns a human-readable multi-day forecast for the supplied co-ordinates. |
| getAlerts | (state: string) | Returns active alerts for the supplied US state (two-letter code). |
REST Endpoints
| Method | Path | Example |
|---|---|---|
| GET | /forecast?lat={lat}&lon={lon} | /forecast?lat=37.7749&lon=-122.4194 |
| GET | /alerts/{state} | /alerts/CA |
Note: the REST layer simply proxies to the same service methods backing the MCP tools.
関連サーバー
EnergyAtIt Grid MCP Server
EnergyAtIt is the first MCP server for physical grid infrastructure. 45 tools that let AI agents interact with power grid assets — translating 8 grid protocols (IEC 61850, DNP3, Modbus, OpenADR, OCPP, IEEE 2030.5) into MCP tool calls.
Geo Location Demo
Retrieves user geolocation information using EdgeOne Pages Functions and exposes it via an MCP server.
Yandex Cloud
An unofficial server for interacting with the Yandex Cloud API.
Nefesh
Real-time human state awareness for AI agents. Fuses biometric signals into a unified stress score (0-100) via Streamable HTTP.
mcp-k8s-go
Golang-based Kubernetes MCP Server. Built to be extensible.
YouTube MCP
Manage YouTube videos, create Shorts, and get analytics using the YouTube API.
Domino Data Lab
Interact with the Domino Data Lab platform to execute and check the status of Domino jobs.
Rootly
Manage incidents on Rootly using your own API tokens via a Cloudflare Worker.
tilt-mcp
Tilt MCP is a Model Context Protocol server that integrates with Tilt to provide programmatic access to Tilt resources, logs, and management operations for Kubernetes development environments
Databox MCP
Talk to your data with Databox MCP by enabling agentic analytics, automated data ingestion, and real-time conversational analytics to get proactive recommendations and instant BI answers, not just charts.