Flightmussy/sunshine-atlas-mcp
๐ โ๏ธ - Where is it sunny? Monthly 0โ100 Sunshine Scores, day/night temperatures, rainfall and sea temperature for 3,833 destinations that all have their own airport โ ranked sunny-in-a-month searches, best-time-to-visit lookups and side-by-side comparisons from long-term climate normals. Hosted at https://sunshineatlas.com/api/mcp, no key required. Data CC BY 4.0.
Quick Install
{
"mcpServers": {
"flightmussy-sunshine-atlas-mcp": {
"command": "npx",
"args": [
"-y",
"flightmussy-sunshine-atlas-mcp"
]
}
}
}Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.
Documentation Overview
Sunshine Atlas MCP server
A remote, read-only Model Context Protocol server that answers "where is it sunny?" with data: monthly 0โ100 Sunshine Scores, day/night temperatures, rainfall and sea temperature for 3,833 destinations โ every one with its own airport โ from long-term climate normals. It serves the same open dataset published at sunshineatlas.com/data (CC BY 4.0, DOI 10.5281/zenodo.21322408).
Live endpoint (no key, no signup):
https://sunshineatlas.com/api/mcp
Listed in the official MCP registry as
com.sunshineatlas/sunshine-atlas. Docs page: sunshineatlas.com/mcp.
Tools
| Tool | Answers |
|---|---|
find_sunny_destinations | "Where is it sunny (and warm) in November?" โ ranked by that month's Sunshine Score, filterable by continent/country, minimum day temperature, swimmable sea (โฅ21 ยฐC), population |
get_destination_climate | "When is the best time to visit Faro?" โ full 12-month climate card for one destination (city, "city, country" or IATA code) |
compare_destinations | "Algarve or Crete in October?" โ side-by-side comparison of 2โ5 destinations with a one-line verdict |
Every result carries attribution and citable sunshineatlas.com destination URLs.
Connect a client
Claude Code
claude mcp add --transport http sunshine-atlas https://sunshineatlas.com/api/mcp
Claude (custom connector), ChatGPT connectors, or any Streamable-HTTP client โ add the URL
https://sunshineatlas.com/api/mcp.
Generic JSON config (Cursor, etc.)
{
"mcpServers": {
"sunshine-atlas": {
"url": "https://sunshineatlas.com/api/mcp"
}
}
}
Self-host
The server is a single stateless Node file (fresh McpServer per request, plain JSON responses,
binds to 127.0.0.1 โ put it behind your reverse proxy). It reads one dataset file and hot-reloads
it on mtime change.
npm install
curl -O https://sunshineatlas.com/data/sunshine-atlas-destinations.json
PORT=8787 DATA_FILE=./sunshine-atlas-destinations.json node server.mjs
GET /healthz reports status and destination count. server.json is the MCP-registry manifest.
Data & methodology
- Sunshine Score =
100 ร warmth ร (0.5 + 0.5 ร (0.55 ร dryness + 0.45 ร sunniness)), computed from long-term climate normals โ methodology. - Sources: temperature, rainfall and sunshine from NASA POWER climatology (2001โ2020); places & populations from GeoNames & OurAirports; sea temperatures via Open-Meteo Marine.
- Dataset: sunshineatlas.com/data ยท CSV/JSON ยท CC BY 4.0 ยท mirrors on GitHub, Hugging Face, Kaggle.
License
Code MIT. Data CC BY 4.0 (credit "Sunshine Atlas" + link). Not a forecast โ climate normals describe typical conditions, not this week's weather.