Japan Election Schedules
When are elections held in a Japanese prefecture? Official dates relayed, official page URL first.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"jp-elections": {
"url": "https://jp-elections-production.mk-career-planning.workers.dev/mcp"
}
}
}远程端点
https://jp-elections-production.mk-career-planning.workers.dev/mcpstreamable-http它能做什么
工具清单
工具(4)
🟢catalog
List the tools of this server with prices, data sources, licensing, daily limits and data freshness.
输入模式
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
},
"stage": {
"type": "string"
}
},
"required": [
"name",
"version",
"stage"
],
"additionalProperties": {}
},
"payment": {
"type": "object",
"properties": {
"protocol": {
"type": "string"
},
"network": {
"type": "string"
},
"asset": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"protocol",
"network",
"asset",
"enabled"
],
"additionalProperties": {}
},
"daily_limits": {
"type": "object",
"properties": {},
"additionalProperties": {},
"description": "Daily limits of paid calls (calls, usd, timezone) or a misconfiguration notice."
},
"paused": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "boolean"
},
"description": "Operator pause flags (true = paused)."
},
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"price_usd": {
"type": "number",
"description": "Price per call in USD (0 = free)."
},
"description": {
"type": "string"
}
},
"required": [
"name",
"price_usd",
"description"
],
"additionalProperties": {}
},
"description": "Every tool of this server with its price."
},
"legal": {
"type": "object",
"properties": {},
"additionalProperties": {}
},
"fetch_status_values": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"provenance": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "object",
"properties": {
"publisher": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"publisher",
"url"
],
"additionalProperties": {},
"description": "Publisher and URL of the upstream document or dataset."
},
"upstream_updated_at": {
"description": "Update time stated by the upstream, or null when it states none.",
"type": [
"string",
"null"
]
},
"retrieved_at": {
"description": "When this service retrieved the upstream data (null if unknown).",
"type": [
"string",
"null"
]
},
"content_sha256": {
"type": [
"string",
"null"
]
},
"parser_version": {
"type": "string"
},
"fetch_status": {
"type": "string",
"enum": [
"found",
"empty",
"stale",
"unavailable",
"unsupported"
],
"description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
},
"processed_by": {
"type": "string"
}
},
"required": [
"source",
"upstream_updated_at",
"retrieved_at",
"content_sha256",
"parser_version",
"fetch_status",
"processed_by"
],
"additionalProperties": {},
"description": "Freshness receipt for one upstream source."
},
"description": "Freshness receipts for every upstream source used."
},
"terms": {
"type": "string",
"description": "URL of the terms of service."
}
},
"required": [
"server",
"payment",
"daily_limits",
"paused",
"tools",
"legal",
"terms"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢elections_upcoming(prefecture, from, to, type, limit)
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.
输入模式
{
"type": "object",
"properties": {
"prefecture": {
"description": "Optional: prefecture name (Tokyo or 東京都), JIS code (13) or local government code (130001). Omit for all covered prefectures",
"type": "string",
"maxLength": 20
},
"from": {
"description": "Optional start date YYYY-MM-DD, Japan time (default today)",
"type": "string",
"maxLength": 10
},
"to": {
"description": "Optional end date YYYY-MM-DD, Japan time (default from + 365 days; range at most 731 days)",
"type": "string",
"maxLength": 10
},
"type": {
"description": "Optional filter: governor, mayor, assembly, by-election, national or other",
"type": "string",
"enum": [
"governor",
"mayor",
"assembly",
"by-election",
"national",
"other"
]
},
"limit": {
"description": "Maximum number of elections, 1-500 (default 200)",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"official_check": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"urls": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"message",
"urls"
],
"additionalProperties": {},
"description": "Read first: check the official election commission page(s) listed here before relying on any date."
},
"query": {
"type": "object",
"properties": {
"prefecture": {
"type": [
"string",
"null"
]
},
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"prefecture",
"from",
"to"
],
"additionalProperties": {}
},
"status": {
"type": "string",
"enum": [
"found",
"none_in_checked_pages",
"not_covered",
"unknown",
"stale"
],
"description": "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."
},
"status_note": {
"type": "string"
},
"complete": {
"type": "boolean",
"description": "true when every schedule page for the prefectures asked about was usable (read, parsed and fresh)."
},
"elections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"official_page_url": {
"type": "string"
},
"election_id": {
"type": "string"
},
"prefecture": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"lg_code": {
"type": "string"
},
"name_ja": {
"type": "string"
},
"name_en": {
"type": "string"
}
},
"required": [
"code",
"lg_code",
"name_ja",
"name_en"
],
"additionalProperties": {}
},
"name_ja": {
"type": "string",
"description": "Election name as published by the election commission (Japanese)."
},
"name_en": {
"type": "string",
"description": "English label translated by this service (not an official name)."
},
"name_en_is_translation": {
"type": "boolean",
"const": true
},
"type": {
"type": "string",
"enum": [
"governor",
"mayor",
"assembly",
"by-election",
"national",
"other"
]
},
"reason": {
"type": "string",
"enum": [
"term_expiry",
"resignation",
"vacancy",
"dissolution",
"loss_of_office",
"death",
"recall",
"unknown"
]
},
"municipality": {
"anyOf": [
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"name_ja": {
"type": "string"
},
"name_en": {
"type": "string"
},
"level": {
"type": "string",
"enum": [
"prefecture",
"municipality"
]
}
},
"required": [
"code",
"name_ja",
"name_en",
"level"
],
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"notice_date": {
"description": "Official notice date (kokuji/koji), YYYY-MM-DD, as published; null if not published.",
"type": [
"string",
"null"
]
},
"vote_date": {
"description": "Voting day, YYYY-MM-DD, as published; null if not published yet.",
"type": [
"string",
"null"
]
},
"term_expiry": {
"description": "Term expiry date, YYYY-MM-DD, if published on the page.",
"type": [
"string",
"null"
]
},
"seats": {
"description": "Number of seats to be filled, if published.",
"type": [
"number",
"null"
]
},
"source": {
"type": "object",
"properties": {
"page_id": {
"type": "string"
},
"url": {
"type": "string"
},
"fetched_at": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": [
"string",
"null"
]
},
"as_of_text": {
"type": [
"string",
"null"
]
}
},
"required": [
"page_id",
"url",
"fetched_at",
"sha256",
"as_of_text"
],
"additionalProperties": {}
}
},
"required": [
"official_page_url",
"election_id",
"prefecture",
"name_ja",
"name_en",
"name_en_is_translation",
"type",
"reason",
"municipality",
"notice_date",
"vote_date",
"term_expiry",
"seats",
"source"
],
"additionalProperties": {}
}
},
"total": {
"type": "number"
},
"truncated": {
"type": "boolean"
},
"coverage": {
"type": "object",
"properties": {
"covered_prefectures": {
"type": "array",
"items": {
"type": "string"
}
},
"not_covered": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"official_url": {
"type": "string"
}
},
"required": [
"code",
"official_url"
],
"additionalProperties": {}
}
},
"unavailable_pages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"page_id": {
"type": "string"
}
},
"required": [
"page_id"
],
"additionalProperties": {}
}
}
},
"required": [
"covered_prefectures",
"not_covered",
"unavailable_pages"
],
"additionalProperties": {}
},
"legal_notice": {
"type": "string"
},
"attribution": {
"type": "object",
"properties": {
"source_ja": {
"type": "string"
},
"processed_ja": {
"type": "string"
},
"source_en": {
"type": "string"
},
"license_note": {
"type": "string"
}
},
"required": [
"source_ja",
"processed_ja",
"source_en",
"license_note"
],
"additionalProperties": {}
},
"answered_at": {
"type": "string"
},
"provenance": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "object",
"properties": {
"publisher": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"publisher",
"url"
],
"additionalProperties": {},
"description": "Publisher and URL of the upstream document or dataset."
},
"upstream_updated_at": {
"description": "Update time stated by the upstream, or null when it states none.",
"type": [
"string",
"null"
]
},
"retrieved_at": {
"description": "When this service retrieved the upstream data (null if unknown).",
"type": [
"string",
"null"
]
},
"content_sha256": {
"type": [
"string",
"null"
]
},
"parser_version": {
"type": "string"
},
"fetch_status": {
"type": "string",
"enum": [
"found",
"empty",
"stale",
"unavailable",
"unsupported"
],
"description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
},
"processed_by": {
"type": "string"
}
},
"required": [
"source",
"upstream_updated_at",
"retrieved_at",
"content_sha256",
"parser_version",
"fetch_status",
"processed_by"
],
"additionalProperties": {},
"description": "Freshness receipt for one upstream source."
},
"description": "Freshness receipts for every upstream source used."
},
"terms": {
"type": "string",
"description": "URL of the terms of service."
}
},
"required": [
"official_check",
"query",
"status",
"status_note",
"complete",
"elections",
"total",
"truncated",
"coverage",
"legal_notice",
"attribution",
"answered_at",
"provenance",
"terms"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢election_changes(since, prefecture, change_type, limit)
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.
输入模式
{
"type": "object",
"properties": {
"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"
},
"prefecture": {
"description": "Optional filter: prefecture name, JIS code (13) or local government code (130001)",
"type": "string",
"maxLength": 20
},
"change_type": {
"description": "Optional filter: added, modified, removed_from_page, page_gone, page_restored or page_unreadable",
"type": "string",
"enum": [
"added",
"modified",
"removed_from_page",
"page_gone",
"page_restored",
"page_unreadable"
]
},
"limit": {
"description": "Maximum number of changes, 1-500 (default 100)",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"since"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"official_check": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"urls": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"message",
"urls"
],
"additionalProperties": {},
"description": "Read first: check the official election commission page(s) listed here before relying on any date."
},
"query": {
"type": "object",
"properties": {
"since": {
"type": "string"
}
},
"required": [
"since"
],
"additionalProperties": {}
},
"tracking_since": {
"description": "When this service first read a schedule page. Nothing before it was observed.",
"type": [
"string",
"null"
]
},
"history_window": {
"type": "object",
"properties": {
"free_days": {
"type": "number",
"description": "Days of recorded history served free of charge."
},
"requested_since": {
"type": "string",
"description": "The since you asked for (normalized to ISO 8601)."
},
"served_since": {
"type": "string",
"description": "The since actually applied: requested_since, or the start of the free window if requested_since was earlier."
},
"clamped": {
"type": "boolean",
"description": "true when requested_since was earlier than the free window and the answer covers only the window."
},
"older_history": {
"type": "string",
"description": "Status of recorded history older than the free window."
}
},
"required": [
"free_days",
"requested_since",
"served_since",
"clamped",
"older_history"
],
"additionalProperties": {},
"description": "Free history window applied to this answer."
},
"coverage": {
"type": "object",
"properties": {
"since_before_tracking": {
"type": "boolean"
},
"note": {
"type": "string"
}
},
"required": [
"since_before_tracking",
"note"
],
"additionalProperties": {}
},
"changes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"observed_at": {
"type": "string"
},
"change_type": {
"type": "string",
"enum": [
"added",
"modified",
"removed_from_page",
"page_gone",
"page_restored",
"page_unreadable"
]
},
"election_id": {
"type": [
"string",
"null"
]
},
"prefecture": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"lg_code": {
"type": "string"
},
"name_ja": {
"type": "string"
},
"name_en": {
"type": "string"
}
},
"required": [
"code",
"lg_code",
"name_ja",
"name_en"
],
"additionalProperties": {}
},
"source_url": {
"type": "string"
},
"changed_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"date_changes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": [
"notice_date",
"vote_date",
"term_expiry"
]
},
"previous": {
"type": [
"string",
"null"
]
},
"new": {
"type": [
"string",
"null"
]
}
},
"required": [
"field",
"previous",
"new"
],
"additionalProperties": {}
},
"description": "For modified: each date that moved on the page, with the previous and new date. The reason is not inferred."
},
"before": {
"anyOf": [
{
"type": "object",
"properties": {
"name_ja": {
"type": "string"
},
"name_en": {
"type": "string"
},
"vote_date": {
"type": [
"string",
"null"
]
},
"notice_date": {
"type": [
"string",
"null"
]
},
"term_expiry": {
"type": [
"string",
"null"
]
}
},
"required": [
"name_ja",
"name_en",
"vote_date",
"notice_date",
"term_expiry"
],
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"after": {
"anyOf": [
{
"type": "object",
"properties": {
"name_ja": {
"type": "string"
},
"name_en": {
"type": "string"
},
"vote_date": {
"type": [
"string",
"null"
]
},
"notice_date": {
"type": [
"string",
"null"
]
},
"term_expiry": {
"type": [
"string",
"null"
]
}
},
"required": [
"name_ja",
"name_en",
"vote_date",
"notice_date",
"term_expiry"
],
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"required": [
"observed_at",
"change_type",
"election_id",
"prefecture",
"source_url",
"changed_fields",
"date_changes",
"before",
"after"
],
"additionalProperties": {}
},
"description": "Changes observed by this service on the schedule pages, oldest first."
},
"truncated": {
"type": "boolean"
},
"legal_notice": {
"type": "string"
},
"history_note": {
"type": "string"
},
"attribution": {
"type": "object",
"properties": {
"source_ja": {
"type": "string"
},
"processed_ja": {
"type": "string"
},
"source_en": {
"type": "string"
},
"license_note": {
"type": "string"
}
},
"required": [
"source_ja",
"processed_ja",
"source_en",
"license_note"
],
"additionalProperties": {}
},
"answered_at": {
"type": "string"
},
"provenance": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "object",
"properties": {
"publisher": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"publisher",
"url"
],
"additionalProperties": {},
"description": "Publisher and URL of the upstream document or dataset."
},
"upstream_updated_at": {
"description": "Update time stated by the upstream, or null when it states none.",
"type": [
"string",
"null"
]
},
"retrieved_at": {
"description": "When this service retrieved the upstream data (null if unknown).",
"type": [
"string",
"null"
]
},
"content_sha256": {
"type": [
"string",
"null"
]
},
"parser_version": {
"type": "string"
},
"fetch_status": {
"type": "string",
"enum": [
"found",
"empty",
"stale",
"unavailable",
"unsupported"
],
"description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
},
"processed_by": {
"type": "string"
}
},
"required": [
"source",
"upstream_updated_at",
"retrieved_at",
"content_sha256",
"parser_version",
"fetch_status",
"processed_by"
],
"additionalProperties": {},
"description": "Freshness receipt for one upstream source."
},
"description": "Freshness receipts for every upstream source used."
},
"terms": {
"type": "string",
"description": "URL of the terms of service."
}
},
"required": [
"official_check",
"query",
"tracking_since",
"history_window",
"coverage",
"changes",
"truncated",
"legal_notice",
"history_note",
"attribution",
"answered_at",
"provenance",
"terms"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢get_receipt(receipt_id)
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.
输入模式
{
"type": "object",
"properties": {
"receipt_id": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "The receipt_id returned with a paid result (\"rcpt_\" + 64 hex characters)."
}
},
"required": [
"receipt_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"receipt_id": {
"type": "string",
"description": "Receipt id of the settled paid call (\"rcpt_\" + 64 hex). Use with get_receipt."
},
"tool": {
"type": "string",
"description": "Name of the paid tool that produced the result."
},
"settled_at": {
"type": [
"string",
"null"
]
},
"payment": {
"type": "object",
"properties": {
"network": {
"type": [
"string",
"null"
]
},
"transaction": {
"type": [
"string",
"null"
]
}
},
"required": [
"network",
"transaction"
],
"additionalProperties": {}
},
"result": {
"description": "The stored result, exactly as returned by the paid call."
},
"provenance": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "object",
"properties": {
"publisher": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"publisher",
"url"
],
"additionalProperties": {},
"description": "Publisher and URL of the upstream document or dataset."
},
"upstream_updated_at": {
"description": "Update time stated by the upstream, or null when it states none.",
"type": [
"string",
"null"
]
},
"retrieved_at": {
"description": "When this service retrieved the upstream data (null if unknown).",
"type": [
"string",
"null"
]
},
"content_sha256": {
"type": [
"string",
"null"
]
},
"parser_version": {
"type": "string"
},
"fetch_status": {
"type": "string",
"enum": [
"found",
"empty",
"stale",
"unavailable",
"unsupported"
],
"description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
},
"processed_by": {
"type": "string"
}
},
"required": [
"source",
"upstream_updated_at",
"retrieved_at",
"content_sha256",
"parser_version",
"fetch_status",
"processed_by"
],
"additionalProperties": {},
"description": "Freshness receipt for one upstream source."
},
"description": "Freshness receipts for every upstream source used."
},
"terms": {
"type": "string",
"description": "URL of the terms of service."
}
},
"required": [
"receipt_id",
"tool",
"settled_at",
"payment",
"result",
"provenance",
"terms"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}社区
证据