# jp-flu-regional

> What is this week's flu count per sentinel in a Japanese prefecture, and was a warning or advisory announced? Hosted MCP and HTTP: no install, works from cloud agents. JIHS weekly figures plus, where prefecture terms allow, health-center areas and school closures; English with Japanese place names and a source receipt (URL, time, SHA-256) on every answer. Recorded daily since 2026-10-12 (JST); overwritten official values stay visible. Free. Descriptive statistics only; no medical or travel advice.

Data sources: Japan Institute for Health Security (JIHS) Infectious Diseases Weekly Report rapid data (https://id-info.jihs.go.jp/en/surveillance/idwr/rapid/), reused under the JIHS site terms (Government of Japan Standard Terms of Use 1.0: commercial use and modification allowed with attribution); prefecture infectious disease surveillance centers: Okayama Prefecture (Okayama Prefectural Infectious Disease Surveillance Center / Disease and Infectious Disease Control Division); Wakayama Prefecture (Wakayama Prefectural Infectious Disease Surveillance Center), Wakayama Infectious Diseases Report (WIDR). Extracted, recorded over time and compared with reference values by MK Career Planning; not an official service of JIHS, any prefecture or the Government of Japan.
Descriptive surveillance statistics only. This service relays and records weekly influenza sentinel surveillance values published by JIHS and by the prefectures listed in coverage. It gives no medical advice, no travel advice and no judgement of whether an area is safe or dangerous. A missing record is unknown, not 'no influenza'. status_basis 'official' is what an authority announced; 'computed' is this service's comparison with published reference values and is not an announcement. Check the publisher's page before relying on a value.
computed alert levels apply the pre-2025 national reference values (warning >= 30 per sentinel until a week below 10; advisory >= 10). The national warning/advisory system has been suspended since 2025 week 15, so computed levels are a descriptive comparison only.
School closures are aggregate counts by facility type and action (休校 / 学年閉鎖 / 学級閉鎖). School names are never stored or returned.
Tokyo health-center areas are not covered (the Tokyo Metropolitan Institute of Public Health terms do not allow commercial use).

## Connect

- MCP (streamable HTTP): https://jp-flu-regional-production.mk-career-planning.workers.dev/mcp
- OpenAPI: https://jp-flu-regional-production.mk-career-planning.workers.dev/openapi.json
- x402 discovery: https://jp-flu-regional-production.mk-career-planning.workers.dev/.well-known/x402

## Quickstart

- Developer quickstart (MCP client configs, free curl/TypeScript calls, official vs computed status, not_yet_observed, history, attribution): https://jp-flu-regional-production.mk-career-planning.workers.dev/quickstart

## Free tools

- catalog: List the tools of this server with prices, data sources, licensing, daily limits and data freshness.
- flu_region_snapshot: What is the latest weekly flu count per sentinel for Japan, a prefecture or a covered health-center area? ISO week, value, recent weeks, official warning/advisory where announced (status_basis official), separate from a comparison with reference values (status_basis computed), school-closure counts by facility type and action where covered (no school names), tracking_since and receipts (url, fetched_at, sha256). Optional as_of date. Descriptive statistics only, no medical or travel advice.
- flu_region_history: What changed in the recorded influenza figures for a Japanese region since a date? Versions this service recorded: new weeks (first_recorded) and revised values (revised, with the old value) of weekly per-sentinel figures, official statuses and school-closure counts, with observed_at, source URL and raw-file sha256, plus tracking_since and fetch gaps. From our own daily records; values the publisher later overwrote stay visible. Free: last 30 days of records. Descriptive statistics only.
- get_receipt: 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.
- HTTP: GET https://jp-flu-regional-production.mk-career-planning.workers.dev/v1/flu/region, GET https://jp-flu-regional-production.mk-career-planning.workers.dev/v1/flu/history return the same data as the MCP tools. GET https://jp-flu-regional-production.mk-career-planning.workers.dev/v1/receipts/<receipt_id> is get_receipt.

## Payments

This server offers free tools only. It does not request or accept x402 payments.

## Rate limits

- Free calls (free HTTP endpoints under /v1/ and free MCP tools) are limited to 300 requests per 60 seconds per client (a client is keyed by a one-way hash of its IP address and the first 64 characters of its User-Agent; neither is stored. The User-Agent can be set by anyone, so this split is for fairness between clients behind a shared gateway, not a security control). Over the limit, HTTP returns 429 RATE_LIMITED with a Retry-After header and MCP tools return the error RATE_LIMITED. Paid calls are not rate limited.

## Provenance and fetch_status

Responses carry provenance[] (source, upstream_updated_at, retrieved_at, content_sha256, parser_version, fetch_status). fetch_status values:

- found: The upstream document was retrieved and contains the data used for this answer.
- empty: The upstream was retrieved, but it has no item for this query (for example JMA had no bulletin for that area in its feeds, or the municipality is not in the list). The state is unknown: empty does NOT mean 'none in effect'.
- stale: The data was retrieved but is older than the freshness threshold for its kind; treat it with care.
- unavailable: The upstream could not be retrieved, read or used (network error, withdrawn bulletin, paused source, or data not yet loaded).
- unsupported: The query is outside what this source covers (for example a date JMA does not issue warnings for yet, or a period before the source's records).

## Errors

- RECEIPT_NOT_FOUND (get_receipt)
- RATE_LIMITED (free calls over the per-client limit; HTTP 429 with Retry-After; not charged)

## Terms

- found: recorded and re-fetched within stale_after_hours. stale: older. not_yet_observed: no record (unknown). not_covered: this area or dataset is not collected.
- History starts at tracking_since; each value version is kept with observed_at (our fetch time) and the raw file sha256.
- Free history window: change history recorded by this service is served for the last 30 days. A since earlier than that returns the last 30 days with history_window.clamped true (requested_since, served_since); older history can be requested as a paid product (not yet offered). tracking_since still shows when recording started.
- flu_region_snapshot as_of is also limited to the free history window; an older as_of returns OUTSIDE_FREE_HISTORY_WINDOW.

## Privacy and support

- Operator: MK Career Planning
- Terms of Service: https://jp-flu-regional-production.mk-career-planning.workers.dev/terms
- Privacy policy: https://jp-flu-regional-production.mk-career-planning.workers.dev/privacy
- Support (free): https://jp-flu-regional-production.mk-career-planning.workers.dev/support (mk.career.planning@gmail.com)
