Skip to main content
Glama

🌸 japan-seasons-mcp

Give your AI assistant live Japan travel data β€” cherry blossom forecasts, autumn leaves, fruit picking, flowers, festivals & more.

1,700+ spots. 17 tools. Live data from Japan Meteorological Corporation.

npm version npm downloads License: MIT MCP Live demo japan-seasons-mcp MCP server

Live map Β· Hosted MCP endpoint Β· npm


Screenshots

Cherry blossom map

Spot detail & weather

Fruit picking

What's On in Japan

Flowers in season

Mobile


Related MCP server: JMA Data MCP

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.


Use it with AI assistants

There are two different ways an AI assistant can use Japan in Seasons:

  1. AI search / web browsing can find and cite the public pages, text summaries, and JSON APIs. This is the lowest-friction path for people asking "latest sakura dates" in ChatGPT, Perplexity, Google AI Mode, etc.

  2. MCP tool use only works after the user or workspace admin connects the MCP server inside an MCP-capable client. Finding this repo in search does not give the assistant permission to run MCP tools.

For AI search, use these crawlable sources:

  • Latest sakura text summary: https://seasons.kooexperience.com/sakura-forecast.txt

  • Sakura forecast JSON: https://seasons.kooexperience.com/api/sakura/forecast

  • Interactive map and forecast pages: https://seasons.kooexperience.com

Remote MCP endpoint

No package install is needed when the client supports remote/streamable HTTP MCP. Add this as the MCP server/app/connector URL:

https://seasons.kooexperience.com/mcp

For ChatGPT Apps/Connectors, use:

  • Name: Japan in Seasons

  • Description: Use this for live Japan seasonal travel data: cherry blossom and sakura dates, autumn leaves, flowers, festivals, fruit picking, and weather. Best for current or date-specific Japan travel questions.

  • Connector URL: https://seasons.kooexperience.com/mcp

Claude Desktop / Claude Code / stdio MCP clients

Add this to the client's MCP config:

{
  "mcpServers": {
    "japan-seasons": {
      "command": "npx",
      "args": ["-y", "japan-seasons-mcp"]
    }
  }
}

Optional connection preferences supported by the hosted endpoint:

  • dateStyle β€” friendly or iso

  • temperatureUnit β€” celsius or fahrenheit

  • includeCoordinates β€” true or false

  • mapLanguage β€” english or japanese

Self-host

PORT=3000 npx -y japan-seasons-mcp --http
# MCP endpoint: http://localhost:3000/mcp

Optional durable cache for the hosted web map:

JAPAN_SEASONS_CACHE_DIR=/data PORT=3000 npx -y japan-seasons-mcp --http

Point JAPAN_SEASONS_CACHE_DIR at a persistent volume, for example a Railway Volume mounted at /data. This stores the warmed national sakura/koyo all-spots JSON across restarts; without it, the app falls back to in-memory cache and still works.

Why ChatGPT may find it but refuse to use it

ChatGPT Search can discover japan-seasons-mcp as a web result, but web discovery is not the same as connecting an MCP server. If the chat only has web search enabled, it should cite the crawlable forecast pages or JSON API. To run tools like sakura_now, sakura_forecast, or sakura_spots, the MCP endpoint must first be added as a ChatGPT app/connector or configured in another MCP client.


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

46 events

curated

Jul–Aug

Sunflower fields

7 spots

curated

May–Nov

Fruit picking

346 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

Best first-call tools

japan_seasonal_answer β€” answer a broad traveler question

Use this when someone asks a normal question instead of naming a dataset: "How is the sakura forecast?", "What is good in Japan in June?", "Where should I see autumn leaves in late November?", or "What seasonal activities match my dates?" It routes to the right live or curated dataset and returns a ready-to-use recommendation.

sakura_now β€” current cherry blossom answer

The best first call for broad sakura prompts. It summarizes what is good now, what is coming next, or what matched the user's trip dates, using live JMC forecast/observation data, and includes a short list of specific viewing spots when spot data is available.

koyo_now β€” current autumn leaves answer

The autumn equivalent of sakura_now: current koyo timing, maple/ginkgo peaks, trip-date matches, and next-step guidance for exact spots.

search / fetch β€” retrieval-friendly access

Provider-friendly search/fetch tools for ChatGPT-style retrieval and deep-research citation flows. search returns result IDs; fetch returns full text with a canonical URL.

Cherry blossom

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

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)...

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 plus a short list of specific viewing spots when spot data is available.

"I'm in Japan April 8–14, where should I go?"
β†’ Cities with bloom in that window, ranked by timing, plus spot suggestions and map links

kawazu_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

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

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

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

flowers_spots β€” 90 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

festivals_list β€” 46 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

fruit_seasons β€” 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

fruit_farms β€” 346 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

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:

  1. Ask for timing first with sakura_best_dates, koyo_best_dates, sakura_forecast, or koyo_forecast.

  2. Drill into exact parks, temples, farms, or events with sakura_spots, koyo_spots, fruit_farms, flowers_spots, or festivals_list.

  3. Check weather_forecast if rain or temperature could change the recommendation.

  4. 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 β€” 90 spots\nfestivals.json β€” 46 events\nfruit-farms.json β€” 346 farms"]
    end

    subgraph server["japan-seasons-mcp"]
        MCP["17 tools\n2 prompts\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, 346 fruit farms grouped by location, and 90 flower spots. There are also focused SEO/citation pages for cherry blossom forecasts, autumn leaves forecasts, and the MCP server. The map includes 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

90 flower spots, 46 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

Available Tools

17 tools
festivals_listJapan Seasonal FestivalsA
Read-onlyIdempotent

Use this when the user wants recurring Japan events to plan around, such as fireworks, matsuri, or winter festivals. Returns curated events with typical dates, attendance, official URLs, notes, and GPS coordinates. Do not use this for bloom timing, one-off concerts, or weather forecasts.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoOptional event type filter. Allowed values: 'all', 'fireworks', 'matsuri', or 'winter'. Omit or use 'all' to return every event type.
monthNoOptional month number from 1 to 12. Useful examples: 7 or 8 for fireworks season, 10 or 11 for autumn matsuri, and 1 or 2 for winter events.
prefectureNoOptional prefecture filter such as 'Tokyo', 'Kyoto', 'Osaka', or 'Hokkaido'. Partial case-insensitive matches are supported.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint true. The description adds value by specifying return details: curated events with typical dates, attendance, URLs, notes, GPS coordinates. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, no unnecessary words. Front-loaded with purpose and usage, then return details. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no required parameters and low complexity, the description is complete. It covers purpose, usage, returns, and exclusions. Output schema exists (though not shown), so return details are adequately covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all 3 parameters. Each parameter has detailed schema descriptions (month with examples, type with allowed values, prefecture with support). Description does not add additional semantics beyond schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'recurring Japan events' and lists specific types (fireworks, matsuri, winter festivals), making the purpose clear. It also distinguishes from sibling tools by stating what not to use it for (bloom timing, one-off concerts, weather forecasts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage guidance: when to use (for recurring events to plan around) and what not to use (for bloom timing, etc.). It does not explicitly name sibling tools as alternatives but the exclusion criteria effectively define scope.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetchFetch Japan in Seasons ResultA
Read-onlyIdempotent

Use this after search to retrieve a full Japan in Seasons result with citation URL and text. For live sakura or autumn leaves result IDs, this fetches the current forecast answer from live JMC data.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesResult ID returned by search, such as sakura-now, koyo-now, flowers, festivals, fruit, or mcp-install.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. The description adds that it returns citation URL and text, and that it fetches live data for certain IDs, providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main purpose, no extraneous information. Every word contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter tool with high schema coverage and output schema, the description is adequate. It explains the tool's role in a workflow (after search) and hints at live data behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema parameter description already includes examples. The tool description mentions the parameter implicitly but does not add significant new meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'retrieve a full Japan in Seasons result with citation URL and text' after search. It distinguishes itself from siblings by specifying it is a follow-up to search, while siblings are specific data tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this after search', providing clear context. Also mentions handling live sakura/autumn leaves IDs, implying usage for those cases. Does not explicitly state alternatives, but the sibling list provides context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

flowers_spotsSeasonal Flower SpotsA
Read-onlyIdempotent

Use this for non-sakura flower trips such as plum, wisteria, hydrangea, lavender, sunflower, or cosmos. Returns curated flower spots with peak windows, official URLs, notes, and GPS coordinates. Do not use this for cherry blossom or autumn leaves timing; use the sakura or koyo tools for those live forecasts.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoOptional flower type filter. Allowed values: 'all', 'plum', 'nanohana', 'wisteria', 'iris', 'hydrangea', 'lavender', 'sunflower', or 'cosmos'. Omit or use 'all' to return every flower type.
monthNoOptional month number from 1 to 12. Returns only flower types whose curated season includes that month, for example 4 for wisteria or 6 for hydrangea.
prefectureNoOptional prefecture filter such as 'Kanagawa', 'Kyoto', 'Tokyo', or 'Hokkaido'. Partial case-insensitive matches are supported.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly and idempotent, so the description adds value by detailing the returned data (peak windows, URLs, notes, GPS). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two clear, front-loaded sentences with zero waste. Every sentence provides essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage, an output schema, and clear purpose/usage guidelines, the description is fully adequate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to add parameter details. It mentions output fields but not parameter specifics. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is for non-sakura flower trips (plum, wisteria, etc.) and returns curated spots with specific details. It explicitly distinguishes from sakura and koyo tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (non-sakura flowers) and when not to (cherry blossom or autumn leaves), with specific alternatives (sakura or koyo tools).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fruit_farmsFruit Picking FarmsA
Read-onlyIdempotent

Use this when the user needs actual fruit-picking farms, booking links, and map coordinates. Returns farms from the local dataset, and month filtering automatically narrows results to fruits that are in season. If the user only asks which fruit is in season, call fruit_seasons first.

ParametersJSON Schema
NameRequiredDescriptionDefault
fruitNoOptional fruit name such as 'Strawberry', 'Apple', 'Grape', 'Peach', 'Cherry', or 'Mikan'. Matching is case-insensitive. Use with or instead of month.
limitNoOptional maximum number of farms to return. Default is 30 and the hard maximum is 100.
monthNoOptional travel month from 1 to 12. Filters to farms with at least one fruit in season during that month, for example 5 for May strawberry farms.
regionNoOptional prefecture, city, or region substring such as 'Yamanashi', 'Nagano', 'Aomori', or 'Tokyo'. Partial case-insensitive matching is supported against farm names and addresses.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly and idempotent. The description adds that month filtering automatically narrows to in-season fruits, which is a behavioral detail beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences: first states use case, second describes behavior, third gives alternative. No irrelevant information; every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 optional parameters, read-only behavior, and an output schema, the description covers essential context: what it returns, filtering behavior, and when to use alternatives. Complete for effective agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3). The description adds value by explaining that month filtering narrows results automatically and mentions case-insensitive matching, enhancing understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides fruit-picking farms, booking links, and map coordinates. It distinguishes from sibling fruit_seasons by specifying when to use that alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use this tool (when user needs actual farms) and when not to (if only season info, call fruit_seasons first), providing clear alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fruit_seasonsFruit Picking Season CalendarA
Read-onlyIdempotent

Use this when the user asks what fruit is in season in a given month or which month is best for strawberries, grapes, peaches, apples, and similar picking trips. Returns the fruit season calendar, peak months, best regions, and notes for 14 fruits. Call fruit_farms next if the user needs actual farm listings, map coordinates, or booking links.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthNoOptional month number from 1 to 12. Returns fruits in season during that month plus fruits starting the following month. Omit to return the full year calendar.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior. Description adds context about returning calendar, peak months, regions, and notes for 14 fruits, which is valuable beyond the annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load the use case and return information. Every sentence is necessary, no redundancy. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 optional parameter, output schema present), the description fully covers what the tool does, what it returns, and how to proceed. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the only parameter 'month' well-described in the input schema (range, behavior). Description does not add additional parameter semantics beyond what schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool's purpose: returning fruit season info for a given month or best months for specific fruits. It uses specific verbs ('returns') and resource ('fruit season calendar'), and distinguishes from sibling 'fruit_farms' which handles farm listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (user asks about fruit seasons) and when not to (use fruit_farms for listings). Provides a clear alternative and next step, making selection unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

japan_seasonal_answerAnswer Japan Seasonal Travel QuestionA
Read-onlyIdempotent

Use this first when the user asks a broad Japan seasonal travel question, including cherry blossom forecasts, autumn leaves, flowers, festivals, fruit picking, or what is good during travel dates. This is the best entry point for natural traveler prompts because it routes to the right live dataset and returns a ready-to-use recommendation. Do not use this for hotels, flights, trains, visas, restaurants, or generic itinerary planning unrelated to seasonal timing.

ParametersJSON Schema
NameRequiredDescriptionDefault
seasonNoOptional explicit season/topic. Use auto unless the user clearly asks for one topic. Use overview for broad questions about what seasonal activities are good in a month.
end_dateNoOptional trip end date in YYYY-MM-DD format. Provide this when the user gives travel dates.
locationNoOptional city, prefecture, or region such as Tokyo, Kyoto, Hokkaido, Kansai, Tohoku.
questionNoThe user's natural-language question, for example 'How is the sakura forecast?', 'Where should I see autumn leaves in late November?', or 'What seasonal things are good in Japan in June?'
start_dateNoOptional trip start date in YYYY-MM-DD format. Provide this when the user gives travel dates.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The tool has annotations readOnlyHint=true and idempotentHint=true, which already cover safety. The description adds minimal behavioral context ('routes to the right live dataset and returns a ready-to-use recommendation'), which is helpful but not substantial beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with purpose and usage, and every sentence adds value. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 optional parameters, an output schema, and numerous sibling tools, the description is complete. It tells what the tool does, when to use it, and when not to, which is sufficient for an agent to correctly select and invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all five parameters. The tool description does not add extra parameter-level detail beyond what is in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool is for broad Japan seasonal travel questions, listing specific topics like cherry blossoms, autumn leaves, and festivals. It clearly differentiates from siblings by noting it is the best entry point for natural traveler prompts and contrasts with non-seasonal tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use ('when the user asks a broad Japan seasonal travel question') and when-not-to-use ('Do not use for hotels, flights, trains, visas, restaurants, or generic itinerary planning unrelated to seasonal timing'). This is exemplary guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kawazu_forecastKawazu Early Cherry Blossom ForecastA
Read-onlyIdempotent

Use this for January-February cherry blossom requests or when the user specifically asks about Kawazu-zakura, early blossoms, or the Izu Peninsula. Returns the Japan Meteorological Corporation forecast comment, forecast map links, and Kawazu cherry spots with bloom percentages, full-bloom percentages, forecast dates, and coordinates. Do not use this for standard Somei-Yoshino sakura elsewhere in Japan.

ParametersJSON Schema
NameRequiredDescriptionDefault
spot_nameNoOptional case-insensitive substring filter for a specific Kawazu landmark or area, such as '原木', '駅前', 'iZoo', or '七滝'. Use this when the user asks about one named spot instead of the full list.
include_spotsNoWhether to include the full list of Kawazu viewing spots. Defaults to true. Set false when the user only needs the overall forecast summary and map.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description's burden is lower. It adds context by detailing the returned data (forecast comment, map links, spot coordinates, bloom percentages). It does not mention rate limits or auth needs, but these are not critical given the read-only nature. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (4 sentences) and front-loaded with usage conditions, followed by return values and a prohibition. Every sentence adds value with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 optional params, output schema exists, no required fields), the description is complete: it covers when to use, what is returned, and what not to use. No gaps for an agent to make correct invocation decisions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters. The tool description does not add additional meaning beyond what the schema provides (e.g., it mentions 'full list of Kawazu viewing spots' which aligns with include_spots but does not introduce new insights). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it returns Kawazu cherry blossom forecast data including JMC comment, map links, and spot details. It explicitly identifies the target user requests (January-February, Kawazu-zakura, early blossoms, Izu Peninsula) and distinguishes from standard sakura tools, making it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidelines: when to use ('January-February cherry blossom requests', 'specifically asks about Kawazu-zakura, early blossoms, or the Izu Peninsula') and when not to use ('Do not use this for standard Somei-Yoshino sakura elsewhere'). This directly helps the agent select the correct tool from siblings like sakura_forecast.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

koyo_best_datesBest Autumn Leaves Dates for TripA
Read-onlyIdempotent

Use this when the user gives autumn travel dates and wants the best cities during that window. Returns cities whose maple or ginkgo viewing windows overlap the trip, based on forecast peak dates. Do not use this for general climate questions or for exact park recommendations without dates; use koyo_spots when the prefecture is already known.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYesTrip end date in YYYY-MM-DD format, for example '2026-11-27'. Must be on or after start_date.
start_dateYesTrip start date in YYYY-MM-DD format, for example '2026-11-20'. The tool checks whether each city's koyo window overlaps this date.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, idempotentHint), description discloses that it checks overlap of trip dates with each city's koyo window based on forecast peak dates. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, then usage conditions and exclusions. Every word adds value; no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full schema coverage, output schema present, and clear differentiation from siblings, the description is fully adequate for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already covers both parameters with format and constraints. Description reinforces their role as trip dates but adds no new semantic detail beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'returns' and resource 'cities' with specific conditions (autumn travel dates). Distinguishes from sibling by specifying 'maple or ginkgo viewing windows' and not for general climate or exact park recommendations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (autumn travel dates, want best cities) and when not to (general climate, no dates). Provides alternative sibling tool 'koyo_spots' when prefecture is known.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

koyo_forecastAutumn Leaves ForecastA
Read-onlyIdempotent

Use this when the user asks when autumn leaves peak, whether one city colors earlier than another, or wants a national overview for October-December. Returns city-level maple and ginkgo forecast dates, forecast maps, and regional commentary from Japan Meteorological Corporation. Do not use this for specific temples, gardens, or GPS-tagged locations; call koyo_spots next for those.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoOptional case-insensitive filter for a region, prefecture, or city such as 'Kyoto', 'Tokyo', 'Hokkaido', 'Kansai'. Use this when the user only cares about one part of Japan instead of the full national forecast.
tree_typeNoOptional tree filter. Use 'maple' for momiji-only dates, 'ginkgo' for ginkgo-only dates, or omit/use 'all' to return both.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and idempotentHint annotations, the description adds valuable behavioral context: it returns city-level forecast dates, maps, and regional commentary from Japan Meteorological Corporation, and specifies the time period (October-December). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences covering purpose, when to use, what returns, and exclusion criteria. Every word adds value with zero redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the annotations (readOnly, idempotent) and the presence of an output schema, the description fully informs the agent about the tool's scope, outputs, and limitations. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with clear descriptions. The tool description adds no new semantic detail for parameters beyond what's in the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses precise verbs ('forecast') and a specific resource ('autumn leaves peak'), and clearly distinguishes from sibling tools like koyo_spots and koyo_now by stating it provides forecasts, not current conditions or specific spots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (peak timing, city comparisons, national overview) and when not to use (specific temples/gardens), with a direct alternative: 'call koyo_spots next for those.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

koyo_nowAutumn Leaves Forecast NowA
Read-onlyIdempotent

Use this first for broad autumn leaves prompts such as 'How are autumn leaves looking?', 'Where is koyo good now?', 'Kyoto autumn leaves forecast', or 'Where should I see fall foliage in Japan?'. Returns a concise current answer from live Japan Meteorological Corporation maple and ginkgo forecast data. Do not use this for cherry blossoms, fruit picking, hotels, trains, or generic itinerary planning.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoOptional city, prefecture, or region filter such as Kyoto, Tokyo, Hokkaido, Kansai, Nikko, Tohoku. Omit for nationwide status.
end_dateNoOptional trip end date in YYYY-MM-DD format. Use with start_date when the user gives travel dates.
start_dateNoOptional trip start date in YYYY-MM-DD format. Use with end_date when the user gives travel dates.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description does not need to repeat safety. It adds context about the data source (Japan Meteorological Corporation maple and ginkgo forecast data) and the nature of the answer (concise, current). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the key directive, and every sentence adds value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage, and exclusions. An output schema exists so return values are documented elsewhere. For a simple query tool with optional parameters, this is sufficient. It does not discuss pagination or edge cases, but that is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for all parameters. The description adds no additional detail beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it answers broad autumn leaves prompts with a concise current answer from live Japan Meteorological Corporation data. It includes example queries and explicitly excludes cherry blossoms and other topics, but does not explicitly distinguish from closely related koyo siblings like koyo_forecast or koyo_best_dates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use ('Use this first for broad autumn leaves prompts'), provides example queries, and specifies when not to use (cherry blossoms, fruit picking, hotels, etc.). This gives strong guidance for choosing this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

koyo_spotsAutumn Leaves Viewing SpotsA
Read-onlyIdempotent

Use this when the user already knows the prefecture and needs exact autumn leaves viewing spots. Returns Japan Meteorological Corporation koyo spots for one prefecture with best start, peak, and end dates, leaf type, popularity rating, and GPS coordinates. Omit prefecture to get a top-destinations guide. Do not use this for cross-city date matching; use koyo_forecast or koyo_best_dates first.

ParametersJSON Schema
NameRequiredDescriptionDefault
prefectureNoPrefecture filter. Accepts English name or numeric code such as 'Kyoto', 'Tokyo', 'Hokkaido', or '26'. Omit to receive a curated list of top koyo destinations across Japan.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint and idempotentHint, and description adds behavioral context: returns specific fields (dates, leaf type, popularity, GPS), per-prefecture operation, and top-destinations when prefecture omitted. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: primary use, outputs, alternative/restrictions. Every sentence adds unique value. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one optional parameter, full schema coverage, and output schema exists, description provides complete context: use case, output details, parameter behavior, exclusions, and sibling references.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and describes the parameter well. Description adds context about omitting prefecture for top destinations, reinforcing schema. Single parameter is fully documented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'get exact spots' and resource 'autumn leaves viewing spots'. It distinguishes from siblings by specifying use case (user knows prefecture) and explicitly warns against using for cross-city date matching, directing to koyo_forecast or koyo_best_dates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (user knows prefecture), when to omit prefecture (for top destinations guide), and when not to use (cross-city date matching). Provides alternative tools (koyo_forecast, koyo_best_dates).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sakura_best_datesBest Cherry Blossom Dates for TripA
Read-onlyIdempotent

Use this when the user provides travel dates and wants to know where sakura is likely to be best during that trip. Returns cities whose viewing window overlaps the requested date range, based on observed or forecast full-bloom dates. Do not use this for January-February early-bloom Kawazu requests; use kawazu_forecast for those.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYesTrip end date in YYYY-MM-DD format, for example '2026-04-14'. Must be on or after start_date.
start_dateYesTrip start date in YYYY-MM-DD format, for example '2026-04-08'. The tool compares this against each city's sakura viewing window.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint true, so safety is covered. The description adds that it uses observed or forecast full-bloom dates and returns overlapping cities, providing useful behavioral context without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each purposeful: usage context, output description, exclusion and alternative. Front-loaded and efficient with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering safety, well-described schema parameters, and an output schema existing (as per context signals), the description is complete. It also addresses sibling differentiation, making it sufficient for an AI agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed descriptions including format and example. The tool description does not add new parameter meaning, but schema already explains them well. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns cities with sakura viewing windows overlapping given travel dates. It specifies the verb 'returns' and the resource 'cities', and explicitly distinguishes from kawazu_forecast for early-bloom requests.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('when the user provides travel dates and wants to know where sakura is likely to be best') and when not to use ('Do not use for January-February early-bloom Kawazu requests; use kawazu_forecast'), providing clear guidance and an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sakura_forecastCherry Blossom ForecastA
Read-onlyIdempotent

Use this when the user asks about cherry blossom timing, peak bloom, whether sakura has started, or how cities compare across Japan. Returns Japan Meteorological Corporation forecast bloom dates, full-bloom dates, observed dates when available, historical averages, and status for 48 observation cities. Do not use this for specific parks or temples; call sakura_spots next for prefecture-level viewing spots.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoOptional city, prefecture, or region filter such as 'Tokyo', 'Kyoto', 'Hokkaido', or 'Tohoku'. Partial case-insensitive matches are supported across city, prefecture, and region names. Omit to return all observation cities.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds behavioral context beyond annotations: specifies data source (Japan Meteorological Corporation), what data is returned (forecast dates, full-bloom, observed, historical averages, status), and scale (48 observation cities). Annotations already indicate read-only and idempotent, so bar is lower; description adds significant value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no redundancy. Every sentence earns its place: first for when to use, second for what it returns and sibling guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has one optional parameter, output schema present, annotations cover read-only/idempotent. Description fully captures purpose, usage boundaries, return content, and sibling relationship. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description does not add parameter-specific detail beyond what schema provides, but it does contextualize the parameter's role by describing the overall tool scope. No extra semantics needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb (use this), resource (cherry blossom timing), and scope (cities across Japan). Explicitly distinguishes from siblings like sakura_spots and koyo_forecast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use criteria ('when the user asks about cherry blossom timing...') and when-not-to-use instructions ('Do not use for specific parks or temples; call sakura_spots'). Also suggests alternative sibling tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sakura_nowSakura Forecast NowA
Read-onlyIdempotent

Use this first for broad cherry blossom prompts such as 'How is the sakura forecast?', 'Is sakura blooming now?', 'Where should I view sakura today?', 'Where should I see cherry blossoms this week?', or 'How is Kyoto sakura looking?'. Returns a concise current answer from live Japan Meteorological Corporation forecast and observation data, including specific viewing spot suggestions when current spot data is available, plus next-step guidance for the full park list and weather. Do not use this for autumn leaves, non-sakura flowers, hotels, trains, or generic itinerary planning.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoOptional city, prefecture, or region filter such as Tokyo, Kyoto, Hokkaido, Kansai, Tohoku. Omit for nationwide status.
end_dateNoOptional trip end date in YYYY-MM-DD format. Use with start_date when the user gives travel dates.
start_dateNoOptional trip start date in YYYY-MM-DD format. Use with end_date when the user gives travel dates.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds that it returns 'concise current answer', 'specific viewing spot suggestions when available', and 'next-step guidance', which are useful behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with purpose and examples, followed by clear exclusions. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simple scope (3 optional params, output schema exists but not shown), the description fully covers when to use, what it does, and what it returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for city, start_date, and end_date. The description reinforces parameter usage through examples like 'How is Kyoto sakura looking?' for the city parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it handles broad cherry blossom prompts, uses live Japan Meteorological Corporation data, and gives viewing spot suggestions. It distinguishes from siblings by explicitly excluding autumn leaves and other topics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this first for broad cherry blossom prompts' with example queries, and lists exclusions. However, it does not compare directly with other sakura siblings like sakura_forecast or sakura_spots.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sakura_spotsCherry Blossom Viewing SpotsA
Read-onlyIdempotent

Use this when the user already knows the prefecture and needs exact cherry blossom viewing spots with current status and GPS coordinates. Each spot uses JMC reporter observations as the primary status when filed within the last 48 hours (states: pre-bloom through hazakura/green leaves); falls back to the JMC bloom-meter estimate otherwise, with any stale observation shown as secondary context. Also returns the prefecture's JMA reference station summary. Do not use this for nationwide timing comparisons or date matching; use sakura_forecast or sakura_best_dates first.

ParametersJSON Schema
NameRequiredDescriptionDefault
prefectureYesRequired prefecture filter. Accepts English prefecture name or numeric prefecture code such as 'Tokyo', 'Kyoto', 'Hokkaido', or '13'. This tool returns one prefecture at a time.

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint, but the description adds significant behavioral context: fallback logic for observations (JMC reporter within 48 hours vs. bloom-meter estimate with stale secondary), and inclusion of JMA reference station summary. This goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with usage guidance, covers behavior, and ends with exclusions. Every sentence is necessary and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (output schema present, single parameter, no nested objects), the description is complete: it covers purpose, usage, behavioral logic, parameter details, and references sibling tools. The output schema accounts for return values, so no further detail needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds value by specifying accepted formats (English name or numeric code) and the limitation of returning one prefecture at a time. This enhances the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: retrieving exact cherry blossom viewing spots with current status and GPS coordinates for a known prefecture. It distinguishes from siblings by specifying it is not for nationwide timing comparisons, directing to sakura_forecast or sakura_best_dates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('when the user already knows the prefecture') and when not to ('Do not use this for nationwide timing comparisons or date matching; use sakura_forecast or sakura_best_dates first'). Provides clear guidance for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weather_forecastJapan Weather ForecastA
Read-onlyIdempotent

Use this when short-range weather could change the recommendation, especially for sakura petal fall, rain risk, or packing advice. Returns the next 3 days of Japan Meteorological Agency forecast text, temperatures, and 6-hour rain probabilities for one supported city. Do not use this for seasonal bloom timing months in advance; use the sakura or koyo forecast tools for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesSupported city name such as 'Tokyo', 'Kyoto', 'Osaka', or 'Sapporo'. Partial case-insensitive matching is accepted. Full supported list: Sapporo, Hakodate, Asahikawa, Kushiro, Obihiro, Aomori, Morioka, Sendai, Akita, Yamagata, Fukushima, Mito, Utsunomiya, Maebashi, Saitama, Chiba, Tokyo, Yokohama, Niigata, Toyama, Kanazawa, Fukui, Kofu, Nagano, Gifu, Shizuoka, Nagoya, Tsu, Otsu, Kyoto, Osaka, Kobe, Nara, Wakayama, Tottori, Matsue, Okayama, Hiroshima, Shimonoseki, Tokushima, Takamatsu, Matsuyama, Kochi, Fukuoka, Saga, Nagasaki, Kumamoto, Oita, Miyazaki, Kagoshima, Naha

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesThe tool's user-facing answer as Markdown or JSON text.

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint true, so the description's added value is limited to return content details and city scope. No contradictions, but does not add significant behavioral context beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences, zero waste. The first sentence clearly states the primary use case, the second provides exclusions and alternatives. Front-loaded with key guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists (not shown but indicated) and the tool has only one parameter, the description covers all necessary aspects: purpose, usage context, and constraints. No gaps for an AI agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%; the description does not add meaning beyond what the schema's property description already provides. The tool has only one parameter, and the description clarifies the city-specific scope, but this is implicit in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb ('returns') and specifies the resource ('next 3 days of Japan Meteorological Agency forecast text, temperatures, and 6-hour rain probabilities for one supported city'). It also distinguishes from sibling tools (sakura/koyo forecasts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('short-range weather could change recommendation') and when not to ('Do not use for seasonal bloom timing months in advance'), with clear alternatives (sakura or koyo forecast tools).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 17 tool updatesv0.4.14
    • Changedfestivals_list1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedfetch1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedflowers_spots1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedfruit_farms1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedfruit_seasons1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedjapan_seasonal_answer1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedkawazu_forecast1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedkoyo_best_dates1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedkoyo_forecast1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedkoyo_now1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedkoyo_spots1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedsakura_best_dates1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedsakura_forecast1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedsakura_now1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedsakura_spots1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
    • Changedweather_forecast1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "answer": {
        +      "description": "The tool's user-facing answer as Markdown or JSON text.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "answer"
        +  ],
        +  "type": "object"
        +}
  2. 4 tool updatesv0.1.5
    • Changedjapan_seasonal_answer1 field changed
      • changedInput schema / properties / location / description
        Previous value: -"Optional city, prefecture, or region such as Tokyo, Kyoto, Hokkaido, Kansai, or Tohoku."New value: +"Optional city, prefecture, or region such as Tokyo, Kyoto, Hokkaido, Kansai, Tohoku."
    • Changedkoyo_forecast1 field changed
      • changedInput schema / properties / region / description
        Previous value: -"Optional case-insensitive filter for a region, prefecture, or city such as 'Kansai', 'Kyoto', 'Hokkaido', or 'Tokyo'. Use this when the user only cares about one part of Japan instead of the full national forecast."New value: +"Optional case-insensitive filter for a region, prefecture, or city such as 'Kyoto', 'Tokyo', 'Hokkaido', 'Kansai'. Use this when the user only cares about one part of Japan instead of the full national forecast."
    • Changedkoyo_now1 field changed
      • changedInput schema / properties / region / description
        Previous value: -"Optional city, prefecture, or region filter such as Kyoto, Tokyo, Hokkaido, Kansai, Nikko, or Tohoku. Omit for nationwide status."New value: +"Optional city, prefecture, or region filter such as Kyoto, Tokyo, Hokkaido, Kansai, Nikko, Tohoku. Omit for nationwide status."
    • Changedsakura_now1 field changed
      • changedInput schema / properties / city / description
        Previous value: -"Optional city, prefecture, or region filter such as Tokyo, Kyoto, Hokkaido, Kansai, or Tohoku. Omit for nationwide status."New value: +"Optional city, prefecture, or region filter such as Tokyo, Kyoto, Hokkaido, Kansai, Tohoku. Omit for nationwide status."
  3. 5 tool updatesv0.1.2
    • Addedfetch
    • Addedjapan_seasonal_answer
    • Addedkoyo_now
    • Addedsakura_now
    • Addedsearch
  4. 12 tool updatesv0.1.1
    • Addedfestivals_list
    • Addedflowers_spots
    • Addedfruit_farms
    • Addedfruit_seasons
    • Addedkawazu_forecast
    • Addedkoyo_best_dates
    • Addedkoyo_forecast
    • Addedkoyo_spots
    • Addedsakura_best_dates
    • Addedsakura_forecast
    • Addedsakura_spots
    • Addedweather_forecast

TDQS

A4.6/5.0

Scored across 17 tools

Disambiguation5/5

Each tool targets a distinct seasonal travel aspect: separate tools for sakura, koyo, other flowers, festivals, fruit, weather, and a general router. Overlapping concepts like multiple sakura tools are clearly differentiated by use case (current status, forecasting, spot finding, date matching), ensuring agents can select correctly.

Naming Consistency5/5

All tools use snake_case with a consistent pattern: either domain_action (sakura_forecast, koyo_spots) or category_list (festivals_list, flowers_spots). Even standalone tools like fetch and search follow the predictable style.

Tool Count5/5

17 tools cover the full scope of Japan seasonal travel: multiple granular tools for sakura and koyo, plus dedicated tools for other flowers, festivals, fruit, weather, and retrieval. Each tool serves a clear, necessary role without bloat.

Completeness5/5

The tool set covers all major seasonal travel domains: cherry blossoms (4 tools + early bloom), autumn leaves (4 tools), other flowers, festivals, fruit picking (2 tools), and weather. The search/fetch system and router fill any gaps, providing a complete surface for seasonal travel queries.

Maintenance

ActivityMaintained
ResponsivenessSlow

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides weather information for 110 cities across Japan with natural language support for location names in kanji, hiragana, and katakana. Retrieves current weather conditions and forecasts using OpenMeteo API through MCP-compliant tools.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Japan-specific utilities for AI agents β€” era ↔ Western year conversion, kanji-to-romaji, postal code lookup, national holidays, kana conversion, and Japanese name splitting. 9 tools, MIT licensed, install via uvx.
    9
    MIT