japan-seasons-mcp
Live Japan seasonal travel data from Japan Meteorological Corporation. 12 tools covering cherry blossom (sakura) forecasts, autumn leaves (koyo), fruit picking, flowers, festivals, and 3-day weather. 1,700+ GPS-tagged spots updated daily at 9AM JST. Works via npx or hosted HTTP endpoint β no auth required.
README
<div align="center">
πΈ japan-seasons-mcp
Give your AI assistant live Japan travel data β cherry blossom forecasts, autumn leaves, fruit picking, flowers, festivals & more.
1,700+ spots. 12 tools. Live data from Japan Meteorological Corporation.
Live map Β· Hosted MCP endpoint Β· npm
</div>
Screenshots
| Cherry blossom map | Spot detail & weather |
|---|---|
| <img src="screenshots/08-sakura-zoomed.png" width="420"> | <img src="screenshots/02-sakura-popup.png" width="420"> |
| Fruit picking | What's On in Japan |
|---|---|
| <img src="screenshots/03-fruit-picking.png" width="420"> | <img src="screenshots/05-whatson.png" width="420"> |
| Flowers in season | Mobile |
|---|---|
| <img src="screenshots/04-flowers.png" width="420"> | <img src="screenshots/07-mobile.png" width="420"> |
The problem
You ask Claude, ChatGPT, or Gemini: "When should I visit Kyoto for cherry blossoms?"
You get "late March to early April" β the same answer every year, based on training data that has no idea what this winter was like.
The actual bloom date shifts by 2β3 weeks depending on temperatures. Tokyo peaked March 29 in 2024, March 22 in 2023, March 28 in 2022 β a 7-day spread in just two years. Your AI is guessing. This MCP server stops the guessing.
The fix
It connects Claude (or any MCP client) to live forecast data from the Japan Meteorological Corporation β the same data that powers SAKURA NAVI and Japan's major cherry blossom forecast sites. Bloom meters update daily at 9 AM JST; spot observations update when JMC reporters file.
You: "I'm in Japan April 8β14. Where should I see cherry blossoms?"
Claude: Based on today's JMC forecast data:
Cities in full bloom during your visit:
β’ Sendai (Miyagi) β full bloom forecast Apr 10 (avg Apr 12)
β’ Morioka (Iwate) β full bloom forecast Apr 13 (avg Apr 16, running early)
β’ Akita β full bloom forecast Apr 14
For Sendai, top spots include Tsutsujigaoka Park (92% full bloom today)
and Nishi Park. Morioka Castle ruins are a classic.
One thing to watch: 40% rain chance Apr 10 in Sendai. Rain speeds up
petal fall, so Apr 11β12 is probably the safer window.
Real bloom percentages. Real park names. Real weather.
Installation
Claude Desktop / Claude Code / any stdio MCP client
{
"mcpServers": {
"japan-seasons": {
"command": "npx",
"args": ["-y", "japan-seasons-mcp"]
}
}
}
HTTP endpoint β no install required
Any MCP client that supports HTTP transport can point directly at the hosted instance:
https://seasons.kooexperience.com/mcp
Optional connection preferences supported by the hosted endpoint:
dateStyleβfriendlyorisotemperatureUnitβcelsiusorfahrenheitincludeCoordinatesβtrueorfalsemapLanguageβenglishorjapanese
Self-host
PORT=3000 npx -y japan-seasons-mcp --http
# MCP endpoint: http://localhost:3000/mcp
What's covered
| Season | Data | Spots | Source |
|---|---|---|---|
| JanβFeb | Kawazu cherry (early deep-pink variety, Izu Peninsula) | 9 spots | JMC live |
| JanβMar | Plum blossoms | 8 spots | curated |
| MarβMay | Cherry blossom (sakura) | 1,012 parks & temples | JMC live, daily |
| AprβMay | Wisteria | 13 spots | curated |
| MayβJun | Iris gardens | 9 spots | curated |
| JunβJul | Hydrangea | 15 spots | curated |
| JunβJul | Lavender fields | 6 spots | curated |
| JulβAug | Fireworks festivals & summer matsuri | 52 events | curated |
| JulβAug | Sunflower fields | 7 spots | curated |
| MayβNov | Fruit picking | 350+ farms, 14 fruits | Jalan + Navitime |
| SepβOct | Cosmos fields | 8 spots | curated |
| OctβDec | Autumn leaves (koyo) | 687 viewing spots | JMC live |
| JanβFeb | Winter events (Sapporo Snow Festival, etc.) | 8 events | curated |
1,700+ GPS-tagged spots across 12 seasonal categories.
Tools
Cherry blossom
get_sakura_forecast β the big picture
All 48 JMA observation cities in one call: this year's forecast, actual dates when observed, and how each city compares to the historical average. Good starting point before you drill into specific spots.
"What's the cherry blossom situation in Japan right now?"
β 48 cities by region, bloom status, forecast dates, days vs average
get_sakura_spots β specific parks and temples
1,012 spots across Japan with current status, bloom percentages, and GPS coordinates. When JMC spot reporters have filed a recent update (within 48 hours), the tool uses that observed status as the primary reading. Otherwise it falls back to the JMC bloom-meter forecast. Stale observations are shown as context, not hidden.
"Cherry blossom spots in Kyoto"
β 51 spots: Kiyomizu-dera (Full bloom, observed Apr 9), Maruyama Park (91% full-bloom)...
get_sakura_best_dates β match travel dates to bloom
Give it your start and end dates, get back the cities where full bloom overlaps your window.
"I'm in Japan April 8β14, where should I go?"
β Cities with bloom in that window, ranked by timing, avg comparison
get_kawazu_cherry_forecast β early-season deep-pink variety
Kawazu cherry blooms JanuaryβFebruary in Izu Peninsula, months before standard sakura opens anywhere.
"Can I see cherry blossoms in February?"
β 9 Kawazu spots with bloom %, GPS, forecast dates
Autumn leaves
get_koyo_forecast β maple and ginkgo timing by city
50+ cities with this year's colour-change dates and how they compare to the historical normal. Maple and ginkgo peak at different times; both are included.
"When do autumn leaves peak in Kyoto vs Hokkaido?"
β City-by-city maple/ginkgo dates, days early or late vs average
get_koyo_best_dates β same idea as sakura best dates, for autumn
Match your travel window to cities in peak colour.
"I'm in Japan late October, where for autumn leaves?"
β Cities in peak colour during your dates, maple vs ginkgo timing
get_koyo_spots β 687 viewing spots by prefecture
Each spot has a peak window (start, peak, end), leaf type, popularity rating, and GPS.
"Top autumn leaves spots in Kyoto"
β Arashiyama, Eikando, Tofukuji, Rurikoin... with star rating and exact peak dates
Flowers
get_flower_spots β 80 curated spots, 8 flower types, Jan through Oct
| Type | Season | Notable spots |
|---|---|---|
| Plum | JanβMar | Atami, Mito Kairakuen |
| Nanohana | FebβApr | Chiba coast, Showa Kinen |
| Wisteria | AprβMay | Ashikaga, Kawachi, Kameido Tenjin |
| Iris | MayβJun | Meiji Jingu, Horikiri Shobuen |
| Hydrangea | JunβJul | Meigetsu-in, Hasedera, Yatadera |
| Lavender | JunβJul | Furano (Hokkaido) |
| Sunflower | JulβAug | Zama, Hokuryu |
| Cosmos | SepβOct | Showa Kinen, Hitachi Seaside |
Filter by type, prefecture, or month. Each spot has an official URL and verified GPS.
Festivals and events
get_japan_festivals β 52 major recurring events with official URLs and attendance figures
"Best fireworks festivals in Japan?"
β Sumida River (900k), Nagaoka (1.1M), Omagari, PL Osaka, Miyajima...
"Festivals in Kyoto in October?"
β Jidai Matsuri (Oct 22), Kurama Fire Festival, with booking tips
Filter by type (fireworks / matsuri / winter), month, and prefecture.
Fruit picking
get_fruit_season_calendar β full-year calendar for 14 fruits
Which fruits are in season and at peak for any given month, with best regions and notes.
"What fruit can I pick in September in Japan?"
β Grape at peak (Yamanashi, Nagano), Pear at peak, Peach ending, Apple starting
get_fruit_picking_farms β 350+ farms with GPS and booking links
Pass month= and it auto-filters to farms with something in season. Add region= to narrow further.
"Strawberry farms near Tokyo in April"
β Farms in the Tokyo/Kanto area with strawberry in season, GPS + Jalan links
Weather
get_weather_forecast β 3-day JMA forecast for 51 cities
Temperature, rain probability by 6-hour window, and conditions. Worth checking because rain speeds up petal fall.
"Weather in Osaka this weekend?"
β Min/max temp, rain % per 6-hour window, conditions
Usage
Ask your MCP client for a goal, not a tool name. A few good examples:
"I'm in Japan April 8-14. Where should I go for cherry blossoms?"
"Top autumn leaves spots in Kyoto in late November"
"What flowers are in season in Japan in June?"
"Best fireworks festivals in Japan in August"
"Fruit picking near Tokyo in May"
"Will rain in Osaka this weekend make sakura worse?"
Typical workflow:
- Ask for timing first with
get_sakura_best_dates,get_koyo_best_dates,get_sakura_forecast, orget_koyo_forecast. - Drill into exact parks, temples, farms, or events with
get_sakura_spots,get_koyo_spots,get_fruit_picking_farms,get_flower_spots, orget_japan_festivals. - Check
get_weather_forecastif rain or temperature could change the recommendation. - Set optional connection preferences if you want ISO dates, Fahrenheit weather, Japanese map links, or outputs without GPS coordinates.
How it works
flowchart LR
subgraph live["Live APIs (cached 1β6h)"]
JMC["Japan Meteorological Corp\nsakura Β· koyo Β· kawazu\n1,700+ spots Β· daily 9AM JST"]
JMA["Japan Met Agency\nweather Β· 51 cities\nhourly"]
end
subgraph static["Static datasets (loaded at startup)"]
DATA["flowers.json β 80 spots\nfestivals.json β 52 events\nfruit-farms.json β 350+ farms"]
end
subgraph server["japan-seasons-mcp"]
MCP["12 tools\n1 planning prompt\nstdio + HTTP transport"]
end
subgraph clients["MCP clients"]
C1["Claude Desktop\n/ Claude Code"]
C2["Cursor\n/ Windsurf"]
C3["Any MCP\nclient"]
end
JMC -->|live fetch| MCP
JMA -->|live fetch| MCP
DATA -->|in-memory| MCP
MCP -->|MCP protocol| C1
MCP -->|MCP protocol| C2
MCP -->|MCP protocol| C3
Static datasets load at startup and are served from memory with no disk I/O per request. Live JMC data is cached server-side (1β6h TTL). The all-spots payload is pre-gzipped at startup so repeat serving is essentially free.
Bloom scale reference
JMC publishes two separate data products for sakura spots. Both are used:
Spot observations β reported by JMC partners and spot managers, used as primary status when updated within 48 hours:
State 0 Pre-bloom (buds visible)
State 1 First bloom β ιθ± (a few flowers open)
State 2 30% bloom β δΈεε²γ (sanbu-zaki)
State 3 70% bloom β δΈεε²γ (nanabu-zaki)
State 4 Full bloom β ζΊι (mankai)
State 5 Petals starting to fall β ζ£γε§γ
State 6 Green leaves β θζ‘ (hazakura, bloom season over)
Bloom-meter forecast (jr_data) β mathematical model used as fallback when no fresh observation exists:
BLOOM RATE β progress toward first bloom (ιθ±)
βββββββββββββββββββββββββββββββββββββββββββββββββ
0% 60% 85% 100%
β Bud β Swelling β Opening β <- First bloom!
θ±θ½γγ€γΌγΏ θ¨γγΏε§γ ιγε§γ ιθ±
FULL BLOOM RATE β progress toward mankai / ζΊι
βββββββββββββββββββββββββββββββββββββββββββββββββ
0% 20% 40% 70% 90% 100%
βOpenβ 30% β 50% β 70% βFull β <- Mankai!
ιθ± δΈεε²γ δΊεε²γ δΈεε²γ ζΊι
The forecast model stays frozen at full-bloom=100% after peak and cannot detect petal fall or hazakura on its own. Spot observations (states 5β6) are the only way to confirm post-peak status for a specific park.
Peak viewing is typically full bloom Β± 3 days. Rain accelerates petal fall.
Web app
seasons.kooexperience.com is the interactive companion to this MCP server. It shows all the same data on a map β 1,012 sakura spots with lifecycle colours (orange bud, pink bloom, green ended), 687 koyo spots, 350+ fruit farms grouped by location, and 80 flower spots. There's also a "Plan My Trip" mode where you pick cities and see every seasonal activity near each one ranked by distance, and a "Near Me" button that finds spots within 30km of your GPS location.
Development
git clone https://github.com/haomingkoo/japan-seasons-mcp.git
cd japan-seasons-mcp
npm install
npm run build
npm start # stdio MCP mode
npm run start:http # HTTP mode, MCP at http://localhost:3000/mcp
TypeScript. No external database. No auth required.
Data sources
| Source | What it provides |
|---|---|
| Japan Meteorological Corporation | Sakura and koyo forecasts, bloom percentages, 1,700+ viewing spots |
| Japan Meteorological Agency via tsukumijima | City weather forecasts |
| Jalan / Navitime | Fruit picking farm listings |
| Hand-curated | 80 flower spots, 52 festival entries, each with an official URL and verified GPS |
Contributing
PRs welcome, especially for flower spots, festival entries, and farm corrections. See CONTRIBUTING.md.
Formerly
Previously published as japan-sakura-koyo-mcp (deprecated). Use this package instead:
npx -y japan-seasons-mcp
License
MIT Β· Built by Haoming Koo
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.