Koskamo

Japan National Exam Schedules MCP

Retrieves Japanese national qualification exam and result announcement dates published by the Ministry of Health, Labour and Welfare (MHLW). It tracks date changes across page versions, flags potentially stale data, and provides ISO dates with stable IDs for exams like physicians, nurses, and pharmacists.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Japan National Exam Schedules MCP logo, by MK Career PlanningCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by MK Career Planning
MCP endpoint (Streamable HTTP)
https://jp-exam-schedules-production.mk-career-planning.workers.dev/mcp
Vendor documentation

What you can do with it

  • Look up exam and result announcement dates by exam name or ID
  • Check if exam dates on the MHLW list page have changed
  • List available national qualification exams by category

Source and maintenance

Community listingRegistry 0.1.0

Protocol and capabilities

Server
jp-exam-schedules 0.1.0
MCP protocol
2025-06-18
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

4 advertised

catalog — Catalog: tools, prices and limits
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the tools of this server with prices, data sources, licensing, daily limits and data freshness.

catalog input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
catalog output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "server",
    "payment",
    "daily_limits",
    "paused",
    "tools",
    "legal",
    "terms"
  ],
  "properties": {
    "legal": {
      "type": "object",
      "properties": {},
      "additionalProperties": {}
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "price_usd",
          "description"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "price_usd": {
            "type": "number",
            "description": "Price per call in USD (0 = free)."
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      },
      "description": "Every tool of this server with its price."
    },
    "paused": {
      "type": "object",
      "description": "Operator pause flags (true = paused).",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "boolean"
      }
    },
    "server": {
      "type": "object",
      "required": [
        "name",
        "version",
        "stage"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "stage": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "payment": {
      "type": "object",
      "required": [
        "protocol",
        "network",
        "asset",
        "enabled"
      ],
      "properties": {
        "asset": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "network": {
          "type": "string"
        },
        "protocol": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "properties": {
          "source": {
            "type": "object",
            "required": [
              "publisher",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "publisher": {
                "type": "string"
              }
            },
            "description": "Publisher and URL of the upstream document or dataset.",
            "additionalProperties": {}
          },
          "fetch_status": {
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "type": "string",
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          },
          "retrieved_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When this service retrieved the upstream data (null if unknown)."
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "upstream_updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Update time stated by the upstream, or null when it states none."
          }
        },
        "description": "Freshness receipt for one upstream source.",
        "additionalProperties": {}
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "daily_limits": {
      "type": "object",
      "properties": {},
      "description": "Daily limits of paid calls (calls, usd, timezone) or a misconfiguration notice.",
      "additionalProperties": {}
    },
    "fetch_status_values": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "additionalProperties": {}
}
catalog annotations
{
  "readOnlyHint": true
}
exam_schedule_lookup — Look up Japanese national exam dates (MHLW list)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

When is this Japanese national exam held and when are results announced, as published on MHLW's list page, and did the dates change? Give exam (exam_id like nurse, or the name in Japanese or English); omit it to list exams, optionally by category. Returns next_events and all events with ISO dates, revision_status, revisions (before and after), possibly_stale, retrieved_at and source. Application periods are not covered. Confirm on the official exam page.

exam_schedule_lookup input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "exam": {
      "type": "string",
      "maxLength": 100,
      "description": "exam_id (e.g. nurse, pharmacist, certified-social-worker) or exam name in Japanese (看護師国家試験, 看護師) or English"
    },
    "limit": {
      "type": "integer",
      "maximum": 120,
      "minimum": 1,
      "description": "Maximum number of exams when listing, 1-120 (default 50)"
    },
    "category": {
      "enum": [
        "medical",
        "occupational_safety",
        "beauty_health",
        "welfare_care"
      ],
      "type": "string",
      "description": "Optional filter when listing: medical (Medical, pharmaceutical, health and food sanitation), occupational_safety (Technical, occupational safety and health), beauty_health (Beauty and health), welfare_care (Welfare and long-term care)"
    },
    "include_undated": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        }
      ],
      "description": "When listing, also include exams for which the page gives no dates (default false)"
    }
  }
}
exam_schedule_lookup output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "official_check",
    "query",
    "status",
    "unknown_reason",
    "status_note",
    "registry_status",
    "today_jst",
    "exams",
    "candidates",
    "total",
    "truncated",
    "source",
    "legal_notice",
    "attribution",
    "answered_at",
    "provenance",
    "terms"
  ],
  "properties": {
    "exams": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "exam_id",
          "exam_name_ja",
          "exam_name_en",
          "listing_type",
          "category",
          "exam_page_url",
          "listed",
          "no_longer_listed_since",
          "listing_kind",
          "dates_not_on_list_text",
          "published_as_of",
          "coverage_status",
          "possibly_stale",
          "possibly_stale_reason",
          "next_events",
          "events",
          "application_periods",
          "recent_history",
          "first_seen_at",
          "last_changed_at"
        ],
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "event_id",
                "exam_id",
                "exam_name_ja",
                "exam_name_en",
                "session",
                "event_type",
                "part",
                "part_ja",
                "sitting",
                "start_date",
                "end_date",
                "days",
                "alternative_days",
                "date_precision",
                "date_text_as_published",
                "timezone",
                "deadline_basis",
                "source_url",
                "exam_page_url",
                "published_as_of",
                "retrieved_at",
                "first_seen_at",
                "last_changed_at",
                "revision_status",
                "coverage_status",
                "is_past",
                "revisions"
              ],
              "properties": {
                "days": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "part": {
                  "type": "string"
                },
                "exam_id": {
                  "type": "string"
                },
                "is_past": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "part_ja": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "session": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Session number (dai N kai) as published; null because the list page does not show it."
                },
                "sitting": {
                  "type": "number"
                },
                "end_date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "YYYY-MM-DD; same as start_date for a single day."
                },
                "event_id": {
                  "type": "string",
                  "description": "Stable id: exam_id:fiscal_year:event_type:part:sitting."
                },
                "timezone": {
                  "type": "string",
                  "const": "Asia/Tokyo"
                },
                "revisions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "observed_at",
                      "before",
                      "after"
                    ],
                    "properties": {
                      "after": {
                        "type": "object",
                        "required": [
                          "date_precision",
                          "start_date",
                          "end_date",
                          "days",
                          "alternative_days",
                          "date_text_as_published"
                        ],
                        "properties": {
                          "days": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "end_date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "start_date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "date_precision": {
                            "enum": [
                              "day",
                              "part_of_month"
                            ],
                            "type": "string"
                          },
                          "alternative_days": {
                            "type": "boolean"
                          },
                          "date_text_as_published": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": {}
                      },
                      "before": {
                        "type": "object",
                        "required": [
                          "date_precision",
                          "start_date",
                          "end_date",
                          "days",
                          "alternative_days",
                          "date_text_as_published"
                        ],
                        "properties": {
                          "days": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "end_date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "start_date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "date_precision": {
                            "enum": [
                              "day",
                              "part_of_month"
                            ],
                            "type": "string"
                          },
                          "alternative_days": {
                            "type": "boolean"
                          },
                          "date_text_as_published": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": {}
                      },
                      "observed_at": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": {}
                  },
                  "description": "Date changes observed by this service (before and after), within the free history window."
                },
                "event_type": {
                  "enum": [
                    "exam",
                    "result_announcement",
                    "application"
                  ],
                  "type": "string"
                },
                "source_url": {
                  "type": "string"
                },
                "start_date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "YYYY-MM-DD in Asia/Tokyo; null when the page gives no day (see approximate_period)."
                },
                "exam_name_en": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "exam_name_ja": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "retrieved_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "exam_page_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "first_seen_at": {
                  "type": "string"
                },
                "date_precision": {
                  "enum": [
                    "day",
                    "part_of_month"
                  ],
                  "type": "string"
                },
                "deadline_basis": {
                  "anyOf": [
                    {
                      "enum": [
                        "received_by",
                        "postmarked_by",
                        "online_closes",
                        "unknown"
                      ],
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Application events only: how the deadline is counted when the page states it; unknown otherwise (never inferred). null for other events."
                },
                "coverage_status": {
                  "enum": [
                    "complete",
                    "partial",
                    "unknown"
                  ],
                  "type": "string"
                },
                "last_changed_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "published_as_of": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "revision_status": {
                  "enum": [
                    "initial",
                    "changed",
                    "removed_from_list"
                  ],
                  "type": "string"
                },
                "alternative_days": {
                  "type": "boolean",
                  "description": "true when the page says one day OR another (for example 5 or 6 November); which day applies is not on the list page."
                },
                "date_text_as_published": {
                  "type": "string"
                }
              },
              "additionalProperties": {}
            }
          },
          "listed": {
            "type": "boolean"
          },
          "exam_id": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "next_events": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "event_id",
                "exam_id",
                "exam_name_ja",
                "exam_name_en",
                "session",
                "event_type",
                "part",
                "part_ja",
                "sitting",
                "start_date",
                "end_date",
                "days",
                "alternative_days",
                "date_precision",
                "date_text_as_published",
                "timezone",
                "deadline_basis",
                "source_url",
                "exam_page_url",
                "published_as_of",
                "retrieved_at",
                "first_seen_at",
                "last_changed_at",
                "revision_status",
                "coverage_status",
                "is_past",
                "revisions"
              ],
              "properties": {
                "days": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "part": {
                  "type": "string"
                },
                "exam_id": {
                  "type": "string"
                },
                "is_past": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "part_ja": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "session": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Session number (dai N kai) as published; null because the list page does not show it."
                },
                "sitting": {
                  "type": "number"
                },
                "end_date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "YYYY-MM-DD; same as start_date for a single day."
                },
                "event_id": {
                  "type": "string",
                  "description": "Stable id: exam_id:fiscal_year:event_type:part:sitting."
                },
                "timezone": {
                  "type": "string",
                  "const": "Asia/Tokyo"
                },
                "revisions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "observed_at",
                      "before",
                      "after"
                    ],
                    "properties": {
                      "after": {
                        "type": "object",
                        "required": [
                          "date_precision",
                          "start_date",
                          "end_date",
                          "days",
                          "alternative_days",
                          "date_text_as_published"
                        ],
                        "properties": {
                          "days": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "end_date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "start_date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "date_precision": {
                            "enum": [
                              "day",
                              "part_of_month"
                            ],
                            "type": "string"
                          },
                          "alternative_days": {
                            "type": "boolean"
                          },
                          "date_text_as_published": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": {}
                      },
                      "before": {
                        "type": "object",
                        "required": [
                          "date_precision",
                          "start_date",
                          "end_date",
                          "days",
                          "alternative_days",
                          "date_text_as_published"
                        ],
                        "properties": {
                          "days": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "end_date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "start_date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "date_precision": {
                            "enum": [
                              "day",
                              "part_of_month"
                            ],
                            "type": "string"
                          },
                          "alternative_days": {
                            "type": "boolean"
                          },
                          "date_text_as_published": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": {}
                      },
                      "observed_at": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": {}
                  },
                  "description": "Date changes observed by this service (before and after), within the free history window."
                },
                "event_type": {
                  "enum": [
                    "exam",
                    "result_announcement",
                    "application"
                  ],
                  "type": "string"
                },
                "source_url": {
                  "type": "string"
                },
                "start_date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "YYYY-MM-DD in Asia/Tokyo; null when the page gives no day (see approximate_period)."
                },
                "exam_name_en": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "exam_name_ja": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "retrieved_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "exam_page_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "first_seen_at": {
                  "type": "string"
                },
                "date_precision": {
                  "enum": [
                    "day",
                    "part_of_month"
                  ],
                  "type": "string"
                },
                "deadline_basis": {
                  "anyOf": [
                    {
                      "enum": [
                        "received_by",
                        "postmarked_by",
                        "online_closes",
                        "unknown"
                      ],
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Application events only: how the deadline is counted when the page states it; unknown otherwise (never inferred). null for other events."
                },
                "coverage_status": {
                  "enum": [
                    "complete",
                    "partial",
                    "unknown"
                  ],
                  "type": "string"
                },
                "last_changed_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "published_as_of": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "revision_status": {
                  "enum": [
                    "initial",
                    "changed",
                    "removed_from_list"
                  ],
                  "type": "string"
                },
                "alternative_days": {
                  "type": "boolean",
                  "description": "true when the page says one day OR another (for example 5 or 6 November); which day applies is not on the list page."
                },
                "date_text_as_published": {
                  "type": "string"
                }
              },
              "additionalProperties": {}
            }
          },
          "exam_name_en": {
            "type": [
              "string",
              "null"
            ]
          },
          "exam_name_ja": {
            "type": "string"
          },
          "listing_kind": {
            "enum": [
              "dated",
              "dates_not_on_list"
            ],
            "type": "string"
          },
          "listing_type": {
            "enum": [
              "exam",
              "course"
            ],
            "type": "string"
          },
          "exam_page_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "first_seen_at": {
            "type": "string"
          },
          "possibly_stale": {
            "type": "boolean"
          },
          "recent_history": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": {}
            }
          },
          "coverage_status": {
            "enum": [
              "complete",
              "partial",
              "unknown"
            ],
            "type": "string"
          },
          "last_changed_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "published_as_of": {
            "type": [
              "string",
              "null"
            ]
          },
          "application_periods": {
            "type": "object",
            "required": [
              "covered",
              "note",
              "see"
            ],
            "properties": {
              "see": {
                "type": "string"
              },
              "note": {
                "type": "string"
              },
              "covered": {
                "type": "boolean"
              }
            },
            "additionalProperties": {}
          },
          "possibly_stale_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "dates_not_on_list_text": {
            "type": [
              "string",
              "null"
            ]
          },
          "no_longer_listed_since": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": {}
      }
    },
    "query": {
      "type": "object",
      "required": [
        "exam"
      ],
      "properties": {
        "exam": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": {}
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    },
    "total": {
      "type": "number"
    },
    "source": {
      "type": "object",
      "required": [
        "list_page_url",
        "published_as_of",
        "retrieved_at",
        "version_observed_at",
        "page_sha256",
        "processed_by"
      ],
      "properties": {
        "page_sha256": {
          "type": [
            "string",
            "null"
          ]
        },
        "processed_by": {
          "type": "string"
        },
        "retrieved_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "When this service last read MHLW's list page successfully."
        },
        "list_page_url": {
          "type": "string"
        },
        "published_as_of": {
          "type": [
            "string",
            "null"
          ]
        },
        "version_observed_at": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "description": "Where the answer comes from: MHLW's list page, when this service last read it, and the page version used.",
      "additionalProperties": {}
    },
    "status": {
      "enum": [
        "listed",
        "not_found_in_checked_records",
        "no_longer_listed_since",
        "expired",
        "unknown"
      ],
      "type": "string",
      "description": "listed = on the current list page; no_longer_listed_since = seen earlier by this service, not on the current page (reason not stated); not_found_in_checked_records = not on the page nor seen leaving it since tracking_since; unknown = page not loaded or stale, or only partial-name candidates (unknown_reason)."
    },
    "today_jst": {
      "type": "string"
    },
    "truncated": {
      "type": "boolean"
    },
    "candidates": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "exam_id",
          "exam_name_ja"
        ],
        "properties": {
          "exam_id": {
            "type": "string"
          },
          "exam_name_ja": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      },
      "description": "Partial-name candidates when no exam has exactly this name or id. Not matches."
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "properties": {
          "source": {
            "type": "object",
            "required": [
              "publisher",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "publisher": {
                "type": "string"
              }
            },
            "description": "Publisher and URL of the upstream document or dataset.",
            "additionalProperties": {}
          },
          "fetch_status": {
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "type": "string",
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          },
          "retrieved_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When this service retrieved the upstream data (null if unknown)."
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "upstream_updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Update time stated by the upstream, or null when it states none."
          }
        },
        "description": "Freshness receipt for one upstream source.",
        "additionalProperties": {}
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "answered_at": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "required": [
        "source_ja",
        "processed_ja",
        "source_en",
        "terms_url",
        "license_url",
        "license_note"
      ],
      "properties": {
        "source_en": {
          "type": "string"
        },
        "source_ja": {
          "type": "string"
        },
        "terms_url": {
          "type": "string"
        },
        "license_url": {
          "type": "string"
        },
        "license_note": {
          "type": "string"
        },
        "processed_ja": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "status_note": {
      "type": "string"
    },
    "legal_notice": {
      "type": "string"
    },
    "official_check": {
      "type": "object",
      "required": [
        "message",
        "message_ja",
        "urls",
        "schedule_change_notices_url"
      ],
      "properties": {
        "urls": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "message": {
          "type": "string"
        },
        "message_ja": {
          "type": "string"
        },
        "schedule_change_notices_url": {
          "type": "string"
        }
      },
      "description": "Read first: dates as published on MHLW's list page at retrieved_at; confirm on the official exam page before applying.",
      "additionalProperties": {}
    },
    "unknown_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "registry_status": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "registry",
            "registry_name_en",
            "registry_name_ja",
            "authority",
            "status",
            "unknown_reason",
            "status_since",
            "status_as_of",
            "last_observed_at",
            "tracking_since",
            "source_url",
            "matched_records",
            "match_basis",
            "limitations"
          ],
          "properties": {
            "status": {
              "enum": [
                "listed",
                "not_found_in_checked_records",
                "no_longer_listed_since",
                "expired",
                "unknown"
              ],
              "type": "string",
              "description": "listed: A record matching the query by identifier or exact name is in the version of the official record checked (status_as_of). not_found_in_checked_records: No matching record in the version checked. It says nothing about other registries, other names or periods before tracking_since. no_longer_listed_since: A matching record was seen by this service earlier and is not in the current version since the date given. The reason is not published here and is not inferred. expired: The official record itself states an end or expiry date that has passed. The reason is not inferred. unknown: Could not be determined: not checked, data unavailable or stale, or only similar-name candidates were found (see unknown_reason)."
            },
            "registry": {
              "type": "string"
            },
            "authority": {
              "type": "string"
            },
            "source_url": {
              "type": "string"
            },
            "limitations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "match_basis": {
              "enum": [
                "exact_id",
                "exact_name",
                "fuzzy_candidate",
                "none"
              ],
              "type": "string"
            },
            "status_as_of": {
              "type": [
                "string",
                "null"
              ]
            },
            "status_since": {
              "type": [
                "string",
                "null"
              ]
            },
            "tracking_since": {
              "type": [
                "string",
                "null"
              ]
            },
            "unknown_reason": {
              "type": [
                "string",
                "null"
              ]
            },
            "matched_records": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {},
                "additionalProperties": {}
              }
            },
            "last_observed_at": {
              "type": [
                "string",
                "null"
              ]
            },
            "registry_name_en": {
              "type": "string"
            },
            "registry_name_ja": {
              "type": "string"
            }
          },
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ],
      "description": "The common registry status section shared across this operator's servers. Null when listing without an exam query."
    }
  },
  "additionalProperties": {}
}
exam_schedule_lookup annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
exam_schedule_changes — Japanese national exam schedule changes
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Which exam dates on MHLW's list page of national qualification exams changed, appeared or left the list since a date (this service's own record of page versions; MHLW keeps none)? Each change has before and after as published and the time this service first read it. Optional exam and change_type filters. Free window: last 30 days.

exam_schedule_changes input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "since"
  ],
  "properties": {
    "exam": {
      "type": "string",
      "maxLength": 100,
      "description": "Optional: exam_id or exact exam name"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "description": "Maximum number of changes, 1-500 (default 100)"
    },
    "since": {
      "type": "string",
      "maxLength": 40,
      "description": "ISO 8601 date or date-time with time zone, e.g. 2026-10-01 or 2026-10-01T00:00:00Z"
    },
    "change_type": {
      "enum": [
        "exam_added",
        "exam_reappeared",
        "exam_removed",
        "exam_details_changed",
        "event_added",
        "event_date_changed",
        "event_details_changed",
        "event_removed"
      ],
      "type": "string",
      "description": "Optional filter: exam_added, exam_reappeared, exam_removed, exam_details_changed, event_added, event_date_changed, event_details_changed, event_removed"
    }
  }
}
exam_schedule_changes output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "official_check",
    "query",
    "tracking_since",
    "history_window",
    "coverage",
    "changes",
    "truncated",
    "source",
    "legal_notice",
    "history_note",
    "attribution",
    "answered_at",
    "provenance",
    "terms"
  ],
  "properties": {
    "query": {
      "type": "object",
      "required": [
        "since"
      ],
      "properties": {
        "since": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    },
    "source": {
      "type": "object",
      "required": [
        "list_page_url",
        "published_as_of",
        "retrieved_at",
        "version_observed_at",
        "page_sha256",
        "processed_by"
      ],
      "properties": {
        "page_sha256": {
          "type": [
            "string",
            "null"
          ]
        },
        "processed_by": {
          "type": "string"
        },
        "retrieved_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "When this service last read MHLW's list page successfully."
        },
        "list_page_url": {
          "type": "string"
        },
        "published_as_of": {
          "type": [
            "string",
            "null"
          ]
        },
        "version_observed_at": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "description": "Where the answer comes from: MHLW's list page, when this service last read it, and the page version used.",
      "additionalProperties": {}
    },
    "changes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "change_type",
          "date",
          "exam_id",
          "event_id",
          "statement",
          "changed_fields",
          "before",
          "after"
        ],
        "properties": {
          "date": {
            "type": "string"
          },
          "after": {},
          "before": {},
          "exam_id": {
            "type": "string"
          },
          "event_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "statement": {
            "type": "string"
          },
          "change_type": {
            "enum": [
              "exam_added",
              "exam_reappeared",
              "exam_removed",
              "exam_details_changed",
              "event_added",
              "event_date_changed",
              "event_details_changed",
              "event_removed"
            ],
            "type": "string"
          },
          "changed_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": {}
      },
      "description": "Changes observed by this service between versions of the list page, oldest first."
    },
    "coverage": {
      "type": "object",
      "required": [
        "since_before_tracking",
        "note"
      ],
      "properties": {
        "note": {
          "type": "string"
        },
        "since_before_tracking": {
          "type": "boolean"
        }
      },
      "additionalProperties": {}
    },
    "truncated": {
      "type": "boolean"
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "properties": {
          "source": {
            "type": "object",
            "required": [
              "publisher",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "publisher": {
                "type": "string"
              }
            },
            "description": "Publisher and URL of the upstream document or dataset.",
            "additionalProperties": {}
          },
          "fetch_status": {
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "type": "string",
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          },
          "retrieved_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When this service retrieved the upstream data (null if unknown)."
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "upstream_updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Update time stated by the upstream, or null when it states none."
          }
        },
        "description": "Freshness receipt for one upstream source.",
        "additionalProperties": {}
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "answered_at": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "required": [
        "source_ja",
        "processed_ja",
        "source_en",
        "terms_url",
        "license_url",
        "license_note"
      ],
      "properties": {
        "source_en": {
          "type": "string"
        },
        "source_ja": {
          "type": "string"
        },
        "terms_url": {
          "type": "string"
        },
        "license_url": {
          "type": "string"
        },
        "license_note": {
          "type": "string"
        },
        "processed_ja": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "history_note": {
      "type": "string"
    },
    "legal_notice": {
      "type": "string"
    },
    "history_window": {
      "type": "object",
      "required": [
        "free_days",
        "requested_since",
        "served_since",
        "clamped",
        "older_history"
      ],
      "properties": {
        "clamped": {
          "type": "boolean",
          "description": "true when requested_since was earlier than the free window and the answer covers only the window."
        },
        "free_days": {
          "type": "number",
          "description": "Days of recorded history served free of charge."
        },
        "served_since": {
          "type": "string",
          "description": "The since actually applied: requested_since, or the start of the free window if requested_since was earlier."
        },
        "older_history": {
          "type": "string",
          "description": "Status of recorded history older than the free window."
        },
        "requested_since": {
          "type": "string",
          "description": "The since you asked for (normalized to ISO 8601)."
        }
      },
      "description": "Free history window applied to this answer.",
      "additionalProperties": {}
    },
    "official_check": {
      "type": "object",
      "required": [
        "message",
        "message_ja",
        "urls",
        "schedule_change_notices_url"
      ],
      "properties": {
        "urls": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "message": {
          "type": "string"
        },
        "message_ja": {
          "type": "string"
        },
        "schedule_change_notices_url": {
          "type": "string"
        }
      },
      "description": "Read first: dates as published on MHLW's list page at retrieved_at; confirm on the official exam page before applying.",
      "additionalProperties": {}
    },
    "tracking_since": {
      "type": [
        "string",
        "null"
      ],
      "description": "When this service first read the list page. Changes before it were not observed."
    }
  },
  "additionalProperties": {}
}
exam_schedule_changes annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
get_receipt — Get receipt of a paid call
Advertised by the server during the last successful anonymous check.
Advertised read-only

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 30 days after settlement.

get_receipt input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "receipt_id"
  ],
  "properties": {
    "receipt_id": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "The receipt_id returned with a paid result (\"rcpt_\" + 64 hex characters)."
    }
  }
}
get_receipt output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "receipt_id",
    "tool",
    "settled_at",
    "payment",
    "result",
    "provenance",
    "terms"
  ],
  "properties": {
    "tool": {
      "type": "string",
      "description": "Name of the paid tool that produced the result."
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    },
    "result": {
      "description": "The stored result, exactly as returned by the paid call."
    },
    "payment": {
      "type": "object",
      "required": [
        "network",
        "transaction"
      ],
      "properties": {
        "network": {
          "type": [
            "string",
            "null"
          ]
        },
        "transaction": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": {}
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "properties": {
          "source": {
            "type": "object",
            "required": [
              "publisher",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "publisher": {
                "type": "string"
              }
            },
            "description": "Publisher and URL of the upstream document or dataset.",
            "additionalProperties": {}
          },
          "fetch_status": {
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "type": "string",
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          },
          "retrieved_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When this service retrieved the upstream data (null if unknown)."
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "upstream_updated_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "Update time stated by the upstream, or null when it states none."
          }
        },
        "description": "Freshness receipt for one upstream source.",
        "additionalProperties": {}
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "receipt_id": {
      "type": "string",
      "description": "Receipt id of the settled paid call (\"rcpt_\" + 64 hex). Use with get_receipt."
    },
    "settled_at": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "additionalProperties": {}
}
get_receipt annotations
{
  "readOnlyHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1073 ms
95th percentile latency
1073 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1073 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http japan-national-exam-schedules-mcp https://jp-exam-schedules-production.mk-career-planning.workers.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add japan-national-exam-schedules-mcp --url https://jp-exam-schedules-production.mk-career-planning.workers.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable japan-national-exam-schedules-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "japan-national-exam-schedules-mcp": {
      "url": "https://jp-exam-schedules-production.mk-career-planning.workers.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "japan-national-exam-schedules-mcp": {
      "type": "streamableHttp",
      "url": "https://jp-exam-schedules-production.mk-career-planning.workers.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start japan-national-exam-schedules-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "japan-national-exam-schedules-mcp": {
      "type": "http",
      "url": "https://jp-exam-schedules-production.mk-career-planning.workers.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http japan-national-exam-schedules-mcp https://jp-exam-schedules-production.mk-career-planning.workers.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "japan-national-exam-schedules-mcp": {
      "url": "https://jp-exam-schedules-production.mk-career-planning.workers.dev/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "japan-national-exam-schedules-mcp": {
      "serverUrl": "https://jp-exam-schedules-production.mk-career-planning.workers.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Japan National Exam Schedules MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.