Japan Tuition Support Eligible Schools
Server Details
MEXT list of schools eligible for Japan's tuition support system, with revocations. Tracks changes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The core tools are mostly distinct: school_lookup checks one institution's status, changes reports list diffs over time, and get_receipt handles paid-call recovery. catalog is a broad meta-tool name, but its description clearly scopes it to server/tool metadata, so confusion is limited.
Names mix conventions: catalog is a bare noun, get_receipt is verb_noun, and the two domain tools use long noun-phrase prefixes. The tuition_support_ prefix helps group related tools, but there is no predictable server-wide verb_noun pattern.
Four tools is reasonable for a narrow lookup-and-change-tracking service, with one meta catalog, one receipt recovery tool, and two domain tools. The surface is slightly thin but not obviously over- or under-scoped.
The set covers single-school eligibility checks, historical changes, and receipt recovery, but lacks an obvious way to list or browse eligible schools by prefecture/school type. Agents can check specific schools and track changes, but cannot easily enumerate the current eligible list.
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.
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.
tuition_support_changesTuition support eligible list changes and publicationsARead-onlyInspect
Which schools were added to, changed in, removed from or returned to MEXT's list of institutions eligible for the tuition support system since a date (this service's own record of list versions; MEXT keeps none), and which confirmation revocations and notifications did MEXT publish since then (MEXT's dates, still listed by MEXT)? Free window: last 30 days. Published facts only, not an assessment.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of list 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, revocation_published, noncompliance_notice_published | |
| school_type | No | Optional filter: university (大学), junior_college (短期大学), college_of_technology (高等専門学校), specialized_training_college (専門学校) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| terms | Yes | URL of the terms of service. |
| source | Yes | Where the answer comes from: MEXT page and file, the list's own as-of date, 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 | |
| publications | Yes | Revocations and notifications MEXT published on or after 'since' and still lists. |
| history_window | Yes | Free history window applied to this answer. |
| official_check | Yes | Read first: listed as published by MEXT on the date shown; eligibility for an individual student depends on the student's own requirements; confirm with the school and MEXT. |
| tracking_since | Yes | When this service first loaded the list. List changes before it were not observed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint/openWorldHint, it discloses data provenance ('this service's own record of list versions; MEXT keeps none'), date attribution ('MEXT's dates, still listed by MEXT'), and a tier/access limit ('Free window: last 30 days') — exactly the kind of context annotations cannot carry. The 'free window' phrasing is slightly ambiguous about whether it caps query range or access tier.
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?
It is front-loaded with the core question and contains no filler, but it is a single ~60-word sentence with multiple nested parentheticals that is hard to scan. Splitting the two result families and the access limit into separate sentences would help without adding length.
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?
Output schema covers return values and annotations cover the safety profile, and the description still supplies provenance, date semantics, the free window, and the 'facts not assessment' boundary. It does not explain whether the two result families are merged, ordered, or paged by the limit parameter.
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 baseline is 3; the description earns above that by clarifying that 'since' is interpreted differently for the two result families — this service's own list-version records versus MEXT's publication dates. That dual date basis is genuinely non-obvious and not derivable from the schema alone.
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 and verb: which schools were added/changed/removed/reappeared on MEXT's tuition-support eligibility list since a date, plus which revocation and noncompliance publications appeared. Its change-log framing implicitly separates it from the sibling tuition_support_school_lookup (current-state lookup), though no sibling is named outright.
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?
'since a date' establishes the temporal-scoping precondition, 'Free window: last 30 days' tells the agent how far back queries are viable, and 'Published facts only, not an assessment' is an explicit scope boundary telling the agent not to use it for evaluation. No named alternative or explicit when-not case, keeping it below 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tuition_support_school_lookupLook up a school in Japan's tuition support eligible listARead-onlyInspect
Is this school in MEXT's list of institutions eligible for Japan's tuition support system (tuition reduction, JASSO grants), since when, and did MEXT publish a revocation or notification for it? Give school_name (exact, width and spaces ignored) or school_code (F101110100010); prefecture, school_type, establishment narrow. Returns listed, no_longer_listed_since, not_found_in_checked_records or unknown, confirmed_on, published_notices (dates, URLs) and source. Confirm with the school and MEXT.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of schools, 1-100 (default 20) | |
| prefecture | No | Prefecture of the main campus: Tokyo or 東京都, JIS code (13) or local government code (130001) | |
| school_code | No | MEXT school code: one letter and 12 digits, e.g. F101110100010 | |
| school_name | No | School name in Japanese as published, e.g. 北海道大学 (width, spaces and symbols ignored; exact match, partial matches come back as candidates) | |
| school_type | No | School type: university (大学), junior_college (短期大学), college_of_technology (高等専門学校), specialized_training_college (専門学校) | |
| establishment | No | Establishment: national (国立), public (公立), private (私立) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| terms | Yes | URL of the terms of service. |
| total | Yes | |
| source | Yes | Where the answer comes from: MEXT page and file, the list's own as-of date, 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_found_in_checked_records = not in the current version nor among schools seen leaving it since tracking_since; unknown = list not loaded or stale, or only partial-name candidates (unknown_reason). |
| schools | Yes | |
| truncated | Yes | |
| candidates | Yes | Partial-name candidates when no school 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 | |
| official_check | Yes | Read first: listed as published by MEXT on the date shown; eligibility for an individual student depends on the student's own requirements; confirm with the school and MEXT. |
| unknown_reason | Yes | |
| registry_status | Yes | The common registry status section shared across this operator's servers. Null for list queries without a school name or code. |
| no_longer_listed | Yes | |
| published_notices | Yes | Confirmation revocations and notifications published by MEXT for this school name (published facts with dates and URLs; not an assessment). Null for list queries without a school name or code. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is known. The description adds meaningful behavior beyond that: possible statuses such as no_longer_listed_since, not_found_in_checked_records, and unknown, plus published_notices with dates/URLs and a caveat to confirm with the school and MEXT.
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?
The purpose is front-loaded as a direct question, and the description stays compact for a six-parameter tool. It is somewhat dense and repeats a few details already in the schema or output schema, but the information is relevant and not padded.
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?
Given the read-only lookup nature, rich input schema, output schema, and annotations, the description is complete enough. It covers the core question, input alternatives, result statuses, source/notice fields, and an important confirmation caveat.
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 baseline is 3. The description still adds useful guidance by indicating that school_name or school_code identifies the school, while prefecture, school_type, and establishment narrow results, and it reinforces exact-name matching behavior with width/spaces ignored.
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 clearly states a specific verb and resource: checking whether a school is in MEXT's tuition-support eligibility list, since when, and whether notifications/revocations exist. It is distinct by name and scope, but it does not explicitly differentiate itself from sibling tools such as tuition_support_changes or catalog.
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?
The description implies use for checking a specific school and tells the agent to provide school_name or school_code, with prefecture/school_type/establishment as narrowing filters. However, it gives no explicit when-to-use versus sibling alternatives, nor when-not-to-use guidance.
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
get_receipt - First observed
tuition_support_changes - First observed
tuition_support_school_lookup
Related MCP Connectors
Japanese national exam and result dates as published by MHLW, with tracked date changes.
Japan NTA qualified invoice issuer status of corporations by T-number. Records daily changes.
Published TITP actions (ISA) on Japanese intern supervising/implementing orgs. Tracks file changes.
Japan JMA warnings, typhoons, volcano levels and municipality code history in English; x402 checks
Related MCP Servers
- AlicenseAqualityDmaintenanceSearch Japan's National Diet records (1947-present): ministerial statements, committee Q&A, and policy debates with speaker, party, and citation URLs.2MIT
- AlicenseAqualityDmaintenanceReal-time search of Japanese government subsidies and grants (official jGrants data): deadlines, amounts, eligibility, filterable by prefecture.2MIT
- AlicenseAqualityBmaintenanceEnables users to determine the Japanese school stage, grade, and subject range for a given knowledge item or term, and to audit LLM explanations for content exceeding a specified grade limit. It also searches normalized MEXT curriculum-code tables and retrieves prerequisite knowledge for topics.6MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search Japanese government subsidies and grants, including archived closed calls and recurring application periods based on historical data.4 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.