smhi-weather-forcast-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@smhi-weather-forcast-mcp-serverWhat's the 10-day weather forecast for Stockholm?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SMHI Weather Forecast MCP Server
A Model Context Protocol (MCP) server that provides access to SMHI (Swedish Meteorological and Hydrological Institute) weather data, including forecasts and historical observations.
Disclaimer š³
This project is the result of an experiment of using Claude Code AI plus Wispr Flow, where I mostly talk via Wispr to Claude, which then implements an MCP server connecting to the Swedish weather data service (SMHI). You can find my article (in Swedish) at this url https://www.ribomation.se/blog/2026/sa-har-kopplar-du-smhi-till-claude-ai/
The main objective is the journey, not the end result. That means, read the article, use Claude and follow along with the prompts and recreate your own weather service MCP.
Related MCP server: mcp-danish-weather
Features
š¤ļø Weather Forecasts - Get 10-day weather forecasts for any location in Sweden
š Historical Data - Access weather observations from 996+ SMHI stations
š¢ Station Listings - Browse available weather stations by parameter
š Parameter Catalog - List all 40+ available weather parameters
Installation
Prerequisites
Node.js 18.0.0 or higher
npm
Setup
Clone the repository:
git clone https://github.com/ribomation/smhi-weather-forecast-mcp-server.git
cd smhi-weather-forecast-mcp-serverInstall dependencies:
npm installBuild the server:
npm run buildUsage
With Claude Desktop
Add this to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"smhi-weather": {
"command": "node",
"args": [
"/path/to/smhi-weather-forcast-mcp-server.js"
]
}
}
}Then restart Claude Desktop.
With Other MCP Clients
The server uses stdio transport and can be integrated with any MCP client that supports stdio.
Available Tools
1. get-weather-forecast
Get weather forecast for a specific location.
Parameters:
longitude(number, required): Longitude coordinate (-180 to 180)latitude(number, required): Latitude coordinate (-90 to 90)category(string, optional): Forecast category (default: "pmp3g")
Example:
{
"longitude": 18.0686,
"latitude": 59.3293
}Returns: Complete forecast data for ~10 days with hourly weather parameters.
2. get-weather-observations
Get historical weather observations from a SMHI station.
Parameters:
stationId(number, required): SMHI station IDparameterId(number, required): Parameter ID (see common parameters below)period(string, optional): Time period - one of:"latest-hour"(default)"latest-day""latest-months""corrected-archive"
Example:
{
"stationId": 188790,
"parameterId": 1,
"period": "latest-hour"
}Returns: Historical observation data with timestamps, values, and quality codes.
3. list-weather-stations
List available SMHI weather stations for a specific parameter.
Parameters:
parameterId(number, required): Parameter ID to filter stations
Example:
{
"parameterId": 1
}Returns: List of stations with ID, name, coordinates, elevation, and active status.
4. list-weather-parameters
List all available weather parameters.
Parameters: None
Returns: Complete list of queryable weather parameters with IDs and descriptions.
Common Weather Parameters
Parameter | ID | Description |
Temperature | 1 | Air temperature (°C) |
Wind Direction | 3 | Wind direction (degrees) |
Wind Speed | 4 | Wind speed (m/s) |
Precipitation | 5 | Precipitation (mm) |
Humidity | 6 | Relative humidity (%) |
Snow Depth | 8 | Snow depth (cm) |
Pressure | 9 | Air pressure (hPa) |
Visibility | 12 | Visibility (km) |
Development
Scripts
npm run build- Build the project with tsupnpm run dev- Run in development mode with watchnpm run type-check- Type check without buildingnpm start- Start the built server
Project Structure
src/
āāā index.ts # Entry point
āāā server.ts # MCP server setup
āāā services/
ā āāā smhi-api.ts # SMHI API client
ā āāā types.ts # TypeScript types
ā āāā test-api.ts # API test script
āāā (tools/, utils/ - for future expansion)
dist/ # Build output (generated)API Documentation
This server uses the SMHI Open Data API:
Forecast API: https://opendata.smhi.se/apidocs/metfcst/
Observations API: https://opendata.smhi.se/apidocs/metobs/
Main Portal: https://opendata.smhi.se/
Important Notes
ā ļø API Changes: SMHI is modernizing their APIs during spring 2026. The current APIs used by this server may be deprecated. Monitor SMHI's updates page for changes.
Examples
Get Stockholm Weather Forecast
Ask Claude:
"What's the weather forecast for Stockholm?"
Claude will use get-weather-forecast with Stockholm's coordinates (18.0686, 59.3293).
Find Temperature Stations
Ask Claude:
"List all active temperature measurement stations in Sweden"
Claude will use list-weather-stations with parameterId: 1 (temperature).
Get Historical Data
Ask Claude:
"Show me the temperature readings from Abisko station for the last hour"
Claude will:
Use
list-weather-stationsto find Abisko's station IDUse
get-weather-observationsto fetch the temperature data
License
MIT
Built with Model Context Protocol by Anthropic.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides access to Dutch weather data (current conditions, forecasts, alerts, and historical data) via the KNMI API, with automatic location name resolution for Dutch cities.Last updated1431Apache 2.0
- AlicenseAqualityDmaintenanceProvides access to Danish weather data from the Danish Meteorological Institute, enabling users to retrieve current conditions, hourly forecasts, and historical records. It supports location lookups via city names, postal codes, and coordinates for any Danish region.Last updated327MIT
- AlicenseBqualityDmaintenanceProvides access to current weather conditions and hourly forecasts for any location in Sweden using the SMHI Open Data API. It supports built-in city lists, coordinate inputs, and geocoding fallback to deliver detailed meteorological data without requiring authentication.Last updated211MIT
- Alicense-qualityDmaintenanceExposes Swiss weather forecast data as MCP tools, including rainfall, sunshine, temperature, wind, and more, with local caching.Last updated1Apache 2.0
Related MCP Connectors
Meteostat MCP ā historical weather from 11k+ stations (no auth)
Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.
Finnish Meteorological Institute open data (forecast, observations, warnings)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ribomation/smhi-weather-forecast-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server