Japan Hospitals Accepting Foreign Patients
Server Details
MHLW list of medical institutions in Japan accepting foreign patients, by language. Tracks changes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: catalog describes the service itself, foreign_patient_hospital_lookup returns current listed institutions, foreign_patient_hospital_changes returns the diff history, and get_receipt re-fetches a settled paid result. The lookup-vs-changes boundary (state vs. versioned change) is explicitly explained, so misselection is unlikely.
The two core tools share a consistent prefixed snake_case pattern (foreign_patient_hospital_lookup/_changes), but 'catalog' is a bare noun and 'get_receipt' uses a verb_noun form, mixing conventions. Still readable, but not a single predictable pattern.
Four tools is lightly scoped but appropriate for a niche lookup service; two domain tools (lookup, changes) plus catalog and get_receipt meta-tools are justified. The domain surface is thin enough that a couple more operations (e.g., listing supported prefectures/languages) might be warranted.
The two core capabilities—current state and change history with filters—cover the main lifecycle for the MHLW list service, and receipt recovery closes the payment dead end. Minor gaps remain, such as fetching a single institution by identifier or enumerating valid language/category values.
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.
foreign_patient_hospital_changesChanges in the MHLW foreign-patient hospital listARead-onlyInspect
Which medical institutions were added to, changed in, removed from or returned to MHLW's list of medical institutions accepting foreign patients since a date (this service's own record of list versions; MHLW keeps none)? Optional prefecture and change_type filters. Free window: last 30 days. A public-service listing, not an enforcement list: removals are dated, and no reason is inferred.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of changes, 1-500 (default 100) | |
| since | Yes | ISO 8601 date or date-time with time zone, e.g. 2026-10-01 or 2026-10-01T00:00:00Z | |
| prefecture | No | Optional filter: prefecture name, JIS code or local government code | |
| change_type | No | Optional filter: added, modified, removed_from_list, reappeared |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| terms | Yes | URL of the terms of service. |
| source | Yes | Where the answer comes from: MHLW page and file, MHLW's dates on the page, and when this service last fetched it. |
| changes | Yes | Changes observed by this service between list versions, oldest first. |
| coverage | Yes | |
| truncated | Yes | |
| provenance | Yes | Freshness receipts for every upstream source used. |
| answered_at | Yes | |
| attribution | Yes | |
| history_note | Yes | |
| legal_notice | Yes | |
| history_window | Yes | Free history window applied to this answer. |
| official_check | Yes | Read first: Listing as published by MHLW on the date shown; it does not guarantee that the hospital will accept a given patient or offer a given language at a given time. Not medical advice. Call the hospital before visiting; in an emergency call 119. |
| tracking_since | Yes | When this service first loaded the list. Changes before it were not observed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only/open-world, and the description adds genuinely non-obvious context: the version history is this service's own record (MHLW keeps none), removals are dated, and no reason is inferred for a removal. That framing prevents an agent from misreading removal entries as enforcement actions.
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 dense sentences with the core scope front-loaded and the caveats (own record, free window, no inferred reasons) placed after. No sentence is filler, though the list of change kinds and the filter mention are slightly redundant with schema/enum.
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 annotations and an output schema present, the description supplies the behavioral framing an agent needs: data provenance, removal dating, window limit, and the absence of inferred reasons. Only an explicit sibling comparison 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 coverage is 100%, so the schema already documents `since`, `limit`, `prefecture` and `change_type` with formats and enum values. The description only names the two optional filters, adding little syntax or semantics beyond the schema, so 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?
The description states a specific verb and resource: which institutions were added/modified/removed/reappeared on MHLW's foreign-patient hospital list. The change-feed framing implicitly separates it from the static lookup sibling, though no sibling is named explicitly.
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 establishes clear usage terms: a required `since` date, optional prefecture and change_type filters, and a free window of the last 30 days. It doesn't explicitly say to use foreign_patient_hospital_lookup for current state instead, but the change-oriented scope makes the alternative inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
foreign_patient_hospital_lookupJapan hospitals listed as accepting foreign patientsARead-onlyInspect
Which medical institutions does MHLW list as accepting foreign patients in this prefecture or city, with which languages and categories? Give prefecture (or the name as published); city, language (EN, ZH...), category and facility_type narrow. Returns listed, no_longer_listed_since, not_found_in_checked_records or unknown, institutions with address and phone as published, and source. Not medical advice; call before visiting; emergency 119.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Municipality in the prefecture: 札幌市, Sapporo or a 6-digit local government code (011002). A Japanese ward or town name (北区) matches the address text | |
| name | No | Institution name in Japanese as published (width, spaces and symbols ignored; exact match, partial matches come back as candidates) | |
| limit | No | Maximum number of institutions, 1-100 (default 20) | |
| category | No | Prefecture-selected regional base institutions: category_1 (emergency patients needing hospitalization), category_2 (including clinics), regional_base (either), not_selected | |
| language | No | Language listed in the language-support columns: ISO 639-1 code (EN, ZH, KO, ES, PT, VI, NE...), English name or Japanese name (英語) | |
| prefecture | No | Prefecture: Tokyo or 東京都, JIS code (13) or local government code (130001). Required unless name is given | |
| facility_type | No | Facility type: hospital (病院), clinic (診療所), dental_clinic (歯科診療所) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| terms | Yes | URL of the terms of service. |
| total | Yes | |
| source | Yes | Where the answer comes from: MHLW page and file, MHLW's dates on the page, and when this service last fetched it. |
| status | Yes | listed = in the current list version; no_longer_listed_since = seen by this service in an earlier version, not in the current one (reason not stated by the list; not an enforcement list); not_found_in_checked_records = nothing matches in the current version (does not mean institutions there do not treat foreign patients); unknown = list not loaded or stale, or only partial-name candidates (unknown_reason). |
| hospitals | Yes | |
| truncated | Yes | |
| candidates | Yes | Partial-name candidates when no institution has exactly this name. Not matches. |
| provenance | Yes | Freshness receipts for every upstream source used. |
| answered_at | Yes | |
| attribution | Yes | |
| status_note | Yes | |
| legal_notice | Yes | |
| list_version | Yes | |
| languages_note | Yes | |
| official_check | Yes | Read first: Listing as published by MHLW on the date shown; it does not guarantee that the hospital will accept a given patient or offer a given language at a given time. Not medical advice. Call the hospital before visiting; in an emergency call 119. |
| unknown_reason | Yes | |
| registry_status | Yes | The common registry status section shared across this operator's servers. Null for prefecture queries without a name. |
| no_longer_listed | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, it discloses result statuses (listed, no_longer_listed_since, not_found_in_checked_records, unknown) and that records are as-published with a source field — meaningful operational context. It also adds safety caveats (not medical advice, call before visiting, 119).
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 as the user-facing question, then filters, then returns, then caveats — a sensible ordering with little waste. The phrasing is terse and slightly telegraphic but every clause carries information.
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 an output schema present, the description does not need to enumerate return fields, yet it summarizes statuses and source anyway. Combined with 100% schema coverage for seven parameters, an agent has enough to call it correctly; only sibling routing 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 coverage is 100%, so the schema already documents every parameter including enums and the prefecture/name requirement. The description only echoes which filters narrow results, adding no syntax or matching nuance (e.g. fuzzy name matching, ward-name address matching) beyond what the schema states.
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 description states a specific resource (MHLW listing of medical institutions accepting foreign patients) and the filters that scope it, framed as a direct question. It is clearly a lookup, not a mutation, and reads distinctly from a changes-feed sibling, though it never names foreign_patient_hospital_changes or catalog explicitly.
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 implies when to use it ('Give prefecture (or the name as published); city, language, category and facility_type narrow') and surfaces the required-key semantics of prefecture vs name. However, it never states when to prefer the sibling changes tool or catalog, and offers no exclusions beyond a safety disclaimer.
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
foreign_patient_hospital_changes - First observed
foreign_patient_hospital_lookup - First observed
get_receipt
Related MCP Connectors
Japanese national exam and result dates as published by MHLW, with tracked date changes.
MEXT list of schools eligible for Japan's tuition support system, with revocations. Tracks changes.
Is this Japanese SSW support organization in ISA's list? Hosted; tracks list changes. Relay only.
Published TITP actions (ISA) on Japanese intern supervising/implementing orgs. Tracks file changes.
Related MCP Servers
- AlicenseAqualityBmaintenanceSearch Japanese hotels by 48 verified kid-friendly conditions (baby beds, kids meals, family baths, etc.), with sources and verification dates. Covers 2,000+ hotels on kids-stay.com.4MIT
- FlicenseNot gradedqualityDmaintenanceJapanese real-estate actual transaction prices and official land prices (official MLIT Reinfolib data): search by area, period, and property type, with published land-price reference points.-
- AlicenseNot gradedqualityCmaintenanceA local-first MCP server and toolkit for Japanese healthcare reference data, enabling lookup and search without bundling official datasets.Apache 2.0
- AlicenseAqualityBmaintenanceJapan Operations OS for AI agents — 14 knowledge domains covering regulations, protocols, calendar, travel, food culture, language, disaster safety, daily life, and persistent memory. 31 MCP tools via REST + Streamable HTTP.31MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.