Skip to main content
Glama

Japan Election Schedules

Server Details

When are elections held in a Japanese prefecture? Official dates relayed, official page URL first.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation4/5

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).

Naming Consistency3/5

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.

Tool Count4/5

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.

Completeness4/5

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 tools
catalogCatalog: tools, prices and limitsA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
legalYes
termsYesURL of the terms of service.
toolsYesEvery tool of this server with its price.
pausedYesOperator pause flags (true = paused).
serverYes
paymentYes
provenanceNoFreshness receipts for every upstream source used.
daily_limitsYesDaily limits of paid calls (calls, usd, timezone) or a misconfiguration notice.
fetch_status_valuesNo

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 dateA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of changes, 1-500 (default 100)
sinceYesISO 8601 date or date-time with time zone, e.g. 2026-10-01 or 2026-10-01T00:00:00Z
prefectureNoOptional filter: prefecture name, JIS code (13) or local government code (130001)
change_typeNoOptional filter: added, modified, removed_from_page, page_gone, page_restored or page_unreadable

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
termsYesURL of the terms of service.
changesYesChanges observed by this service on the schedule pages, oldest first.
coverageYes
truncatedYes
provenanceYesFreshness receipts for every upstream source used.
answered_atYes
attributionYes
history_noteYes
legal_noticeYes
history_windowYesFree history window applied to this answer.
official_checkYesRead first: check the official election commission page(s) listed here before relying on any date.
tracking_sinceYesWhen this service first read a schedule page. Nothing before it was observed.

TDQS

A4.3/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 prefectureA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoOptional end date YYYY-MM-DD, Japan time (default from + 365 days; range at most 731 days)
fromNoOptional start date YYYY-MM-DD, Japan time (default today)
typeNoOptional filter: governor, mayor, assembly, by-election, national or other
limitNoMaximum number of elections, 1-500 (default 200)
prefectureNoOptional: prefecture name (Tokyo or 東京都), JIS code (13) or local government code (130001). Omit for all covered prefectures

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
termsYesURL of the terms of service.
totalYes
statusYesfound = 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.
completeYestrue when every schedule page for the prefectures asked about was usable (read, parsed and fresh).
coverageYes
electionsYes
truncatedYes
provenanceYesFreshness receipts for every upstream source used.
answered_atYes
attributionYes
status_noteYes
legal_noticeYes
official_checkYesRead first: check the official election commission page(s) listed here before relying on any date.

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 callA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
receipt_idYesThe receipt_id returned with a paid result ("rcpt_" + 64 hex characters).

Output Schema

ParametersJSON Schema
NameRequiredDescription
toolYesName of the paid tool that produced the result.
termsYesURL of the terms of service.
resultYesThe stored result, exactly as returned by the paid call.
paymentYes
provenanceYesFreshness receipts for every upstream source used.
receipt_idYesReceipt id of the settled paid call ("rcpt_" + 64 hex). Use with get_receipt.
settled_atYes

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 4 tool updates
    • First observedcatalog
    • First observedelection_changes
    • First observedelections_upcoming
    • First observedget_receipt

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    A
    maintenance
    Enables 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
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources