Japan Weather Forecast Archive (JMA, as issued)
Server Details
What did Japan's weather agency forecast, as issued at a past time? Archive of JMA bulletins.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The four tools have distinct roles: catalog (server metadata), forecast_as_issued (archived forecast content), forecast_issuances (issuance listing), and get_receipt (paid call recovery). The two forecast_* tools could be momentarily confused, but the descriptions explicitly clarify that one returns content and the other lists metadata.
Naming mixes conventions: 'catalog' is a bare noun, 'forecast_as_issued' is a noun phrase with a preposition, 'forecast_issuances' is a noun plural, and 'get_receipt' follows verb_noun. The forecast_* prefix groups two tools, but the overall pattern is inconsistent.
Four tools are well-scoped for a focused weather archive API. Each tool has a clear role in the retrieval workflow, with no redundant or filler operations.
The core lifecycle is covered: discover tools, list issuances by area and time, retrieve archived content, and recover lost paid responses. A minor gap is the lack of a tool to list valid area identifiers, which could force agents to guess prefecture names.
Available Tools
4 toolscatalogCatalog: tools, prices and limitsARead-onlyInspect
List the tools of this server with prices, data sources, licensing, daily limits and data freshness.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| legal | Yes | |
| terms | Yes | URL of the terms of service. |
| tools | Yes | Every tool of this server with its price. |
| paused | Yes | Operator pause flags (true = paused). |
| server | Yes | |
| payment | Yes | |
| provenance | No | Freshness receipts for every upstream source used. |
| daily_limits | Yes | Daily limits of paid calls (calls, usd, timezone) or a misconfiguration notice. |
| fetch_status_values | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds the content categories returned (prices, licensing, limits, freshness), which is useful context, but an output schema exists and would surface the same structure, so the incremental disclosure is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every clause enumerates distinct payload content, so nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, a read-only annotation, and an output schema present, the description need not explain return values or safety. It is nearly complete for this simple tool; only a hint about when to reach for it is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies under the '0 params' rule.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ("List") plus resource ("the tools of this server") and an enumeration of the payload contents (prices, data sources, licensing, daily limits, freshness). It is plainly distinguishable from siblings like get_receipt or drone_flight_check, though it does not explicitly name or contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is given; usage is only implied by the discovery framing ("the tools of this server"). An agent can infer this is the entry point for learning available tools and pricing, but nothing states that intent directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forecast_as_issuedJMA forecast as issued at a past timeARead-onlyInspect
Archived JMA prefectural weather forecast as issued. Give an area and at (forecast in effect then) or issued_at (exact JMA issue time). Returns JMA's bulletin as published (Japanese weather text, wind, waves, 6-hour rain probability, temperatures) with report_datetime (JMA's issue time) apart from fetched_at (ours). Status found, not_archived (before this archive started), unknown or no_issuance_at_that_time. Not the current forecast: check JMA.
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | ISO 8601 date-time with time zone: return the issuance in effect at this time, e.g. 2026-10-12T09:00:00+09:00 | |
| area | Yes | JMA forecast office code (130000), sub-area code (130010), prefecture (Tokyo, 東京都, 13) or JMA area name (Kushiro Nemuro). Prefectures with several offices (Hokkaido, Kagoshima, Okinawa) need the office or sub-area | |
| issued_at | No | ISO 8601 date-time with time zone: return the issuance with exactly this JMA issue time, e.g. 2026-10-12T05:00:00+09:00 |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| terms | Yes | URL of the terms of service. |
| status | Yes | found = the archived issuance; not_archived = before this archive's start (JMA does not publish past forecasts); unknown = the feed was not read for part of the period or the bulletin could not be read; no_issuance_at_that_time = feed read, no issuance with exactly that issue time. |
| archive | Yes | |
| issuance | Yes | |
| provenance | Yes | Freshness receipts for every upstream source used. |
| answered_at | Yes | |
| attribution | Yes | |
| status_note | Yes | |
| legal_notice | Yes | |
| archive_notice | Yes | Every answer is an archived issuance, not the current forecast and not a forecast made by this service. |
| official_check | Yes | Read first: this is an archive of what JMA issued; for current forecasts check the JMA pages listed here. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover readOnly/openWorld, so the description carries real weight: it discloses the archive's temporal limit ('before this archive started'), the full status vocabulary (found, not_archived, unknown, no_issuance_at_that_time), and the report_datetime vs fetched_at distinction. That is materially more than the annotations provide, though return-field detail partly overlaps the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then parameter usage, return contents, statuses, and the routing caveat, with almost no filler. Dense but every clause carries information; the run-on return sentence could be split for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A complete definition for a read-only archival lookup: purpose, parameter selection rules, return payload, issue-time vs fetch-time semantics, status outcomes, and the explicit pointer away from the live forecast. With annotations and an output schema present, nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already defines area codes and the ISO-8601 format of 'at' and 'issued_at'. The description restates those semantics in terser form and distinguishes the two time params, but adds little that the schema does not already say; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: an archived JMA prefectural weather forecast as it was originally issued. It clearly contrasts itself with the live/current forecast, though it never names its actual siblings (forecast_issuances, catalog), so sibling differentiation is only partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete selection guidance between the two time parameters: use 'at' for the issuance in effect at a time, 'issued_at' for an exact JMA issue time, plus area requirements. It does not spell out forbidden cases beyond 'not the current forecast', so no explicit when-not clause against siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forecast_issuancesList of JMA forecast issuances for an areaARead-onlyInspect
Which prefectural weather forecasts did JMA issue for an area between two times? Lists each archived issuance (JMA issue time, transmission time, our fetch time, scheduled/unscheduled/correction/cancellation, bulletin URL and SHA-256) with coverage gaps where JMA's feed could not be read. Free window: last 30 days (an earlier since is clamped; see history_window). Use forecast_as_issued for the content. An archive, not a forecast service.
| Name | Required | Description | Default |
|---|---|---|---|
| area | Yes | JMA forecast office code (130000), sub-area code (130010), prefecture (Tokyo, 東京都, 13) or JMA area name (Kushiro Nemuro). Prefectures with several offices (Hokkaido, Kagoshima, Okinawa) need the office or sub-area | |
| limit | No | Maximum number of issuances, 1-500 (default 100) | |
| since | Yes | Issuances after this: ISO 8601 date (00:00 Japan time) or date-time with time zone, e.g. 2026-10-12 or 2026-10-12T05:00:00+09:00 | |
| until | No | Optional end: ISO 8601 date (00:00 Japan time) or date-time with time zone (default now) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| terms | Yes | URL of the terms of service. |
| archive | Yes | |
| coverage | Yes | |
| issuances | Yes | JMA issuances held for this office, oldest first. |
| truncated | Yes | |
| provenance | Yes | Freshness receipts for every upstream source used. |
| answered_at | Yes | |
| attribution | Yes | |
| legal_notice | Yes | |
| archive_notice | Yes | Every answer is an archived issuance, not the current forecast and not a forecast made by this service. |
| history_window | Yes | Free history window applied to this answer. |
| official_check | Yes | Read first: this is an archive of what JMA issued; for current forecasts check the JMA pages listed here. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly and openWorld; the description goes well beyond them by disclosing coverage gaps where JMA's feed could not be read, the 30-day window with clamping behavior, and the full record contents (issue/transmission/fetch times, status categories, bulletin URL, SHA-256). These are material traits an agent could not infer from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with no filler: question-form scope first, contents second, window constraint third, routing/negative framing last. Every sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description still covers routing, the time window, and data-quality caveats. Nothing an agent needs to select or invoke this tool correctly is missing; the 'see history_window' pointer is a minor loose end but not a blocker.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents area, since, until and limit thoroughly (formats, defaults, ranges), which sets the baseline at 3. The description adds one genuinely new parameter behavior the schema does not state: that an earlier 'since' is clamped, which affects how the caller should interpret a query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a precise verb+resource+scope: which archived JMA prefectural forecast issuances exist for an area within a time range, and it enumerates exactly what each record contains. It is immediately distinguishable from forecast_as_issued, which the description explicitly routes content requests to.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the alternative (forecast_as_issued) and the condition that selects it ('Use forecast_as_issued for the content'), plus states the 30-day free window and that earlier 'since' values are clamped. 'An archive, not a forecast service' is an explicit when-not statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_receiptGet receipt of a paid callARead-onlyInspect
Re-fetch the stored result of a settled paid call by its receipt_id, for when the response was lost after payment. Free. Unknown or unsettled receipt ids return RECEIPT_NOT_FOUND. Results are kept for 90 days after settlement.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_id | Yes | The receipt_id returned with a paid result ("rcpt_" + 64 hex characters). |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Name of the paid tool that produced the result. |
| terms | Yes | URL of the terms of service. |
| result | Yes | The stored result, exactly as returned by the paid call. |
| payment | Yes | |
| provenance | Yes | Freshness receipts for every upstream source used. |
| receipt_id | Yes | Receipt id of the settled paid call ("rcpt_" + 64 hex). Use with get_receipt. |
| settled_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past readOnlyHint=true by disclosing cost ('Free'), the failure mode and error code (RECEIPT_NOT_FOUND for unknown/unsettled ids), and the retention window (90 days after settlement). These are exactly the runtime traits an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and the receipt_id, followed by behavioral facts. No filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description still covers cost, error behavior, and retention limits. Nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already specifies the receipt_id format ('rcpt_' + 64 hex characters, maxLength 80). The description only names the identifier without adding format or constraint detail, so the schema does the real work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('re-fetch'), specific resource ('stored result of a settled paid call'), and the keying mechanism ('by its receipt_id'). The 're-fetch ... for when the response was lost' framing clearly separates it from the unrelated sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit triggering scenario: use it when a paid call's response was lost after payment. It also implies the boundary condition (unknown or unsettled ids are not valid targets), but does not name an alternative tool or state a when-not clause for other lookup paths.
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.
4 tool updates
- First observed
catalog - First observed
forecast_as_issued - First observed
forecast_issuances - First observed
get_receipt
Related MCP Connectors
Japan JMA warnings, typhoons, volcano levels and municipality code history in English; x402 checks
JMA (Japan Meteorological Agency) MCP — keyless weather forecasts, warnings,
How much influenza is this Japanese prefecture reporting this week? Hosted, recorded daily.
Japan: next bus/tram/boat from 26 places, RTK bases, JMA warnings, municipality facts. No key.
Related MCP Servers
- MIT
- AlicenseAqualityAmaintenanceProvides access to Japan Meteorological Agency (JMA) weather data including real-time observations, historical weather data, and forecasts from 1286 AMeDAS stations across Japan.111MIT
- AlicenseNot gradedqualityBmaintenanceEnables you to retrieve JMA weather forecasts, warnings/advisories, and earthquake reports by place name, with no API key required.26 npmMIT
- FlicenseNot gradedqualityCmaintenanceMCP server providing weather forecast, warnings, AMeDAS observations, and area search from Japan Meteorological Agency JSON APIs. It normalizes responses and supports Japanese place names.-
Glama MCP Gateway
Add one secure layer between your agents and this server.