open-meteo-mcp
MCP server for Open-Meteo free weather APIs, offering 16 tools for forecast, historical, air quality, marine, flood, ensemble, climate, seasonal, and scheduled data collection with no API key required.
README
open-meteo-mcp
MCP server for Open-Meteo — free weather APIs, no API key required.
Features
- 16 tools covering weather forecast, historical data, air quality, marine, flood, ensemble, climate projections, and scheduled data collection
- Scheduled jobs — server-side cron, persists readings to SQLite, returns aggregated stats
- No auth — Open-Meteo is free for non-commercial use
- stdio transport — works with Claude Desktop and any MCP client
Tools
Weather data
| Tool | Description |
|---|---|
geocode |
Search locations by name → lat/lon, timezone, country |
get_forecast |
7–16 day forecast, hourly + daily (45+ variables) |
get_historical |
ERA5 reanalysis from 1940 to present |
get_air_quality |
PM2.5, PM10, ozone, NO2, SO2, CO, pollen, EU/US AQI |
get_marine |
Wave height, period, direction, swell, sea surface temp |
get_elevation |
Elevation above sea level, batch up to 100 points |
get_flood |
GloFAS river discharge forecast, up to 16 weeks |
get_ensemble |
Multi-model ensemble with uncertainty quantification |
get_climate |
CMIP6 climate projections 1950–2050 |
get_seasonal |
ECMWF SEAS5 seasonal forecast up to 9 months |
get_dwd_icon |
DWD ICON model — high-res for Europe |
get_ecmwf |
ECMWF IFS model — gold standard global forecast |
Weather comparison
| Tool | Description |
|---|---|
compare_weather_cities |
Compare named cities on a date → ranked by weather quality score |
compare_weather_region |
Center city + radius km → grid sample → best spot in the area |
Score factors: sunshine, temperature comfort (18–28°C sweet spot), precipitation, wind, UV.
Example prompts:
- "Moscow, Sochi, Kazan this Saturday — where's best?" →
compare_weather_cities - "Best weather within 300 km of Moscow next Sunday?" →
compare_weather_region
Scheduled collection
| Tool | Description |
|---|---|
schedule_weather_job |
Create a recurring data collection job (cron expression) |
list_jobs |
List jobs with schedule, status, and reading count |
get_weather_summary |
Aggregated stats (min/max/avg) over a time window |
cancel_job |
Stop and delete a job |
Scheduled jobs survive server restarts — state is persisted in ~/.open-meteo-mcp/data.db.
Installation
git clone https://github.com/langepas/open-meteo-mcp.git
cd open-meteo-mcp
npm install
npm run build
Claude Desktop config
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"open-meteo": {
"command": "node",
"args": ["/absolute/path/to/open-meteo-mcp/dist/index.js"]
}
}
}
Restart Claude Desktop. Example prompts:
- "What's the weather in Moscow this week?" →
geocode→get_forecast - "Collect temperature in Saint Petersburg every hour" →
schedule_weather_job - "Show me the air quality summary for the last 24h" →
get_weather_summary
Development
npm run build # compile TypeScript
npm test # run unit tests
npm run dev # watch mode
Architecture
src/
├── index.ts # McpServer + StdioServerTransport entry point
├── client.ts # shared fetch helper (URLSearchParams, arrays → repeated keys)
├── db.ts # SQLite (better-sqlite3): jobs + readings tables
├── scheduler.ts # node-cron scheduler, restores jobs on start
└── tools/
├── forecast.ts # get_forecast
├── archive.ts # get_historical
├── air-quality.ts # get_air_quality
├── marine.ts # get_marine
├── elevation.ts # get_elevation
├── geocoding.ts # geocode
├── flood.ts # get_flood
├── ensemble.ts # get_ensemble
├── climate.ts # get_climate
├── seasonal.ts # get_seasonal
├── dwd-icon.ts # get_dwd_icon
├── ecmwf.ts # get_ecmwf
└── schedule.ts # schedule_weather_job, list_jobs, get_weather_summary, cancel_job
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.