Japan Election Schedules
Server Details
When are elections held in a Japanese prefecture? Official dates relayed, official page URL first.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a distinct role: catalog (metadata), elections_upcoming (forward-looking date-range query), election_changes (diff feed since a date), and get_receipt (paid-call recovery). The only mild overlap is between elections_upcoming and election_changes, but the descriptions explicitly bound them (scheduled-in-range vs. added/modified/removed since a date).
Names mix conventions: bare noun (catalog), verb_noun (get_receipt), and noun_noun with inconsistent number/order (election_changes singular-prefixed vs. elections_upcoming plural-prefixed). All are snake_case and readable, but there is no single predictable pattern.
Four tools is on the thin side but defensible for a narrow, read-only domain of prefectural election schedules plus a billing/receipt concern. Nothing looks redundant, though a fifth tool would not feel padded.
The read-only lifecycle is largely covered: discovery (catalog), forward queries (elections_upcoming), history/diffs (election_changes), and payment recovery (get_receipt), including coverage gaps for uncovered prefectures. Minor gaps remain: no single-election lookup by id and no way to browse elections before tracking_since or past voting days.
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.
election_changesElection schedule changes since a dateARead-onlyInspect
What changed on Japanese prefectural election schedule pages since a date? From this service's own daily reads: elections added, modified (with before/after dates and the changed fields), removed from the page, and pages that disappeared, became unreadable or came back. History starts at tracking_since. Free window: last 30 days (an earlier since is clamped; see history_window). Election-level facts only. Check the official page before relying on a date.
| 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 (13) or local government code (130001) | |
| change_type | No | Optional filter: added, modified, removed_from_page, page_gone, page_restored or page_unreadable |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| terms | Yes | URL of the terms of service. |
| changes | Yes | Changes observed by this service on the schedule pages, 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: check the official election commission page(s) listed here before relying on any date. |
| tracking_since | Yes | When this service first read a schedule page. Nothing before it was observed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint/openWorldHint already declared, the description still adds substantial behavioral context: provenance (the service's own daily reads), the effective coverage window, the clamping behavior on since, the scope limit (election-level facts only), and the fact that pages can disappear, become unreadable, or be restored. These are non-obvious traits an agent could not infer from the schema or annotations.
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-loads the core question in the first sentence and keeps the whole thing to a handful of dense clauses with no filler. The middle sentence is an unusually packed enumeration, and the trailing 'Check the official page' caveat is stylistically clipped, but every element 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?
An output schema exists, so return structure need not be described, and the annotations cover the safety profile. What remains — data source, history start, window clamping, and the limitation to election-level facts — is exactly the context an agent needs before invoking this change-tracking tool.
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 parameter names, formats, bounds and the change_type enum are already fully documented and the baseline is 3. The description adds meaning the schema does not: that an earlier-than-30-days since is silently clamped rather than rejected. It adds nothing further about limit or prefecture semantics.
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 operation (reporting what changed) on a specific resource (Japanese prefectural election schedule pages) with an explicit time scope, and enumerates the six change categories it can report. That enumeration makes it clearly distinguishable in practice from elections_upcoming, but no sibling tool is named as an alternative or contrast, which is the only thing separating this from a 5.
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 real usage context: history starts at tracking_since, the free window is the last 30 days, earlier since values are clamped, and it points to history_window for details. It also warns to verify against the official page. It stops short of stating when to prefer this over elections_upcoming or catalog, so no exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
elections_upcomingUpcoming elections in Japan by prefectureARead-onlyInspect
Which elections are scheduled in a Japanese prefecture between two dates? Name (Japanese and an English label we translate), type, local government code, notice date, voting day, term expiry and seats as published, with the official election commission page URL and a source receipt (URL, fetched_at, sha256, page update text). Prefectures not covered yet are listed with their official pages. Election-level facts only: no candidate data, no vote counts. Check the official page first.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Optional end date YYYY-MM-DD, Japan time (default from + 365 days; range at most 731 days) | |
| from | No | Optional start date YYYY-MM-DD, Japan time (default today) | |
| type | No | Optional filter: governor, mayor, assembly, by-election, national or other | |
| limit | No | Maximum number of elections, 1-500 (default 200) | |
| prefecture | No | Optional: prefecture name (Tokyo or 東京都), JIS code (13) or local government code (130001). Omit for all covered prefectures |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| terms | Yes | URL of the terms of service. |
| total | Yes | |
| status | Yes | found = elections in range on the pages checked; none_in_checked_pages = every page for the prefectures asked about was read and parsed within 72 hours and none lists an election in range (not a statement that no election will be held); not_covered = this prefecture is not read yet; unknown = a page is not loaded, gone or unreadable and nothing was found; stale = a page was last read more than 72 hours ago and nothing was found. |
| complete | Yes | true when every schedule page for the prefectures asked about was usable (read, parsed and fresh). |
| coverage | Yes | |
| elections | Yes | |
| truncated | Yes | |
| provenance | Yes | Freshness receipts for every upstream source used. |
| answered_at | Yes | |
| attribution | Yes | |
| status_note | Yes | |
| legal_notice | Yes | |
| official_check | Yes | Read first: check the official election commission page(s) listed here before relying on any date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint), so the bar is lower. The description adds real value beyond that: it discloses coverage gaps ('prefectures not covered yet are listed with their official pages'), provenance (source receipt with URL, fetched_at, sha256), and data boundaries (no candidates/votes).
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 well, but the second sentence is a dense run-on enumerating every returned field, which is redundant given an output schema exists. The trailing 'Check the official page first' is ambiguous and does not earn its place as written.
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, return values need not be re-explained (though they are). The description adequately covers scope, provenance, and coverage limitations for a read-only query tool. The one weak spot is the unclear 'Check the official page first' instruction.
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 all five parameters (from, to, type, limit, prefecture) are already fully documented in the schema. The description only restates the two-date framing and does not add syntax or format detail beyond what the schema provides. 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 opening sentence states a specific verb+resource+scope: scheduled elections in a Japanese prefecture between two dates. It clearly scopes to election-level facts and rules out candidate/vote data. It does not, however, explicitly differentiate from the sibling election_changes, leaving some ambiguity about which tool to pick.
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?
Usage is implied by the opening question ('which elections are scheduled... between two dates'), and exclusions ('no candidate data, no vote counts') hint at scope. But there is no explicit when-to-use guidance relative to siblings catalog/election_changes/get_receipt, and 'Check the official page first' is cryptic and does not clarify selection.
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
election_changes - First observed
elections_upcoming - First observed
get_receipt
Related MCP Connectors
How much influenza is this Japanese prefecture reporting this week? Hosted, recorded daily.
Neutral, sourced election calendar: polling days, when provisional and final results are due.
Read-only index to Japanese election data, official sources, relations and scoped search history.
Japan payroll & social insurance. 日本の給与計算・社会保険。47都道府県の料率、源泉所得税、割増賃金、有給、標準報酬月額の改定、最低賃金。根拠の条文つき。
Related MCP Servers
- FlicenseAqualityAmaintenanceEnables AI agents to query Japan's 47 prefectures' regional minimum wages from official MHLW statistics, including hourly rates, effective dates, and 24-year history.4-

@pipeworx/mcp-japanofficial
AlicenseNot gradedqualityBmaintenanceEnables searching and browsing Japanese government tender notices from national ministries, all 47 prefectures, and municipalities via the Kankōju portal, with filters by prefecture, organization, category, date, and full notice details.21 npmMIT- AlicenseAqualityDmaintenanceReal-time search of Japanese government subsidies and grants (official jGrants data): deadlines, amounts, eligibility, filterable by prefecture.2MIT
- AlicenseAqualityDmaintenanceSearch Japan's National Diet records (1947-present): ministerial statements, committee Q&A, and policy debates with speaker, party, and citation URLs.2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.