Japan Drone Rule Pre-check (partial coverage)
Partial pre-check of Japan drone rules at a point/time: DID, 150 m, night, airports. Not a go/no-go.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"jp-drone-airspace": {
"url": "https://jp-drone-airspace-production.mk-career-planning.workers.dev/mcp"
}
}
}원격 엔드포인트
https://jp-drone-airspace-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": {}
}🟢drone_flight_check(lat, lon, datetime, altitude_agl_m, altitude_msl_m, ...)
Which Japanese drone rules apply at this point, time and height? Returns applies / does_not_apply / possible_check_required / unknown per check (DID 2020, 150 m, night, airport screening, Small UAS Act facilities, MLIT emergency airspace, flight methods, 25 kg), the category (I/II/III/unknown) and permission_needed, with a receipt per check. Reference only; uncertain = check DIPS; no applications prepared.
입력 스키마
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": 20,
"maximum": 46,
"description": "Latitude in decimal degrees (WGS84/JGD2011), Japan only, e.g. 35.6852"
},
"lon": {
"type": "number",
"minimum": 122,
"maximum": 154,
"description": "Longitude in decimal degrees, Japan only, e.g. 139.7528"
},
"datetime": {
"description": "Planned time, ISO 8601. Without an offset it is read as JST (e.g. 2026-12-21T18:00). Default: now.",
"type": "string",
"maxLength": 40
},
"altitude_agl_m": {
"description": "Planned height above ground or water in metres",
"type": "number",
"minimum": 0,
"maximum": 10000
},
"altitude_msl_m": {
"description": "Planned altitude above mean sea level in metres (ground elevation from GSI is subtracted). Give this or altitude_agl_m.",
"type": "number",
"minimum": -100,
"maximum": 10000
},
"bvlos": {
"description": "Beyond visual line of sight (true/false). Omitted = reported unknown",
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false"
]
}
]
},
"night": {
"description": "Night flight (true/false). Omitted = derived from datetime and the location",
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false"
]
}
]
},
"within_30m": {
"description": "Within 30 m of people or property not related to the flight (true/false)",
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false"
]
}
]
},
"over_event": {
"description": "Over an event site where many people gather (true/false)",
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false"
]
}
]
},
"carrying_hazardous": {
"description": "Carrying hazardous materials (true/false)",
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false"
]
}
]
},
"dropping_objects": {
"description": "Dropping objects (true/false)",
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false"
]
}
]
},
"aircraft_mass_kg": {
"description": "Maximum take-off mass in kg",
"type": "number",
"minimum": 0,
"maximum": 1000
},
"pilot_cert": {
"description": "Japanese remote pilot certificate held: none, 2nd or 1st class",
"type": "string",
"enum": [
"none",
"2nd",
"1st"
]
},
"aircraft_cert": {
"description": "Aircraft certification: none, type2 (2nd class) or type1 (1st class)",
"type": "string",
"enum": [
"none",
"type2",
"type1"
]
},
"limited_change_night": {
"description": "Certificate has the limited change allowing night flight (true/false)",
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false"
]
}
]
},
"limited_change_bvlos": {
"description": "Certificate has the limited change allowing BVLOS flight (true/false)",
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"true",
"false"
]
}
]
},
"entry_control": {
"description": "Third parties kept out from under the flight path (立入管理措置): in_place or not_in_place",
"type": "string",
"enum": [
"in_place",
"not_in_place"
]
}
},
"required": [
"lat",
"lon"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lon": {
"type": "number"
}
},
"required": [
"lat",
"lon"
],
"additionalProperties": {}
},
"overall": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"I",
"II",
"III",
"unknown"
],
"description": "Flight category per the rules and data checked."
},
"category_if_uncertain_checks_clear": {
"anyOf": [
{
"type": "string",
"enum": [
"I",
"II",
"III",
"unknown"
]
},
{
"type": "null"
}
]
},
"specified_flight": {
"type": "string",
"enum": [
"yes",
"no",
"unknown"
],
"description": "Whether the flight is a specified flight (特定飛行) under the Civil Aeronautics Act."
},
"permission_needed": {
"type": "string",
"enum": [
"not_required_per_checked_rules",
"required",
"possibly_required_check_DIPS"
],
"description": "Permission/approval need per the rules and data checked. Any uncertain check gives possibly_required_check_DIPS unless a confirmed trigger already requires it."
},
"waiver": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"summary_en": {
"type": "string"
},
"reasons": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"category",
"category_if_uncertain_checks_clear",
"specified_flight",
"permission_needed",
"waiver",
"summary_en",
"reasons"
],
"additionalProperties": {}
},
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title_en": {
"type": "string"
},
"title_ja": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"applies",
"does_not_apply",
"possible_check_required",
"unknown"
],
"description": "applies / does_not_apply per the data checked; possible_check_required = near a boundary or only screened, confirm; unknown = not determinable here."
},
"reason": {
"type": "string"
},
"law": {
"type": "string",
"enum": [
"civil_aeronautics_act",
"drone_act"
]
},
"basis": {
"type": "string"
},
"how_to_confirm": {
"type": "string"
},
"details": {
"type": "object",
"properties": {},
"additionalProperties": {}
},
"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."
}
},
"required": [
"id",
"title_en",
"title_ja",
"status",
"reason",
"law",
"basis",
"how_to_confirm",
"details",
"provenance"
],
"additionalProperties": {}
},
"description": "One entry per check, each with its own provenance receipts."
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"rules": {
"type": "object",
"properties": {
"version": {
"type": "string"
},
"outdated": {
"type": "boolean"
},
"reviewed_by": {
"type": "string"
}
},
"required": [
"version",
"outdated",
"reviewed_by"
],
"additionalProperties": {}
},
"disclaimer": {
"type": "string"
},
"disclaimer_ja": {
"type": "string"
},
"legal_line": {
"type": "string"
},
"attribution": {
"type": "object",
"properties": {},
"additionalProperties": {}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"publisher": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"publisher",
"url"
],
"additionalProperties": {}
}
},
"retrieved_at": {
"type": [
"string",
"null"
]
},
"answered_at": {
"type": "string"
},
"not_covered": {
"type": "array",
"items": {
"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": [
"query",
"overall",
"checks",
"notes",
"rules",
"disclaimer",
"disclaimer_ja",
"legal_line",
"attribution",
"sources",
"retrieved_at",
"answered_at",
"not_covered",
"provenance",
"terms"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢drone_rule_table
Which rules and thresholds does drone_flight_check use? Returns the rule table (specified flight triggers under Civil Aeronautics Act Art. 132-85/86, which can be waived with certificates), category definitions, screening radii and their basis, the review guideline version and sources. Reference only.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"version": {
"type": "string"
},
"review_guideline": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"revised": {
"type": "string"
}
},
"required": [
"url",
"revised"
],
"additionalProperties": {}
},
"reviewed_by": {
"type": "string"
},
"rules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name_en": {
"type": "string"
},
"name_ja": {
"type": "string"
},
"basis": {
"type": "string"
},
"makes_specified_flight": {
"type": "boolean"
},
"waivable_with_certificates": {
"type": "boolean"
}
},
"required": [
"key",
"name_en",
"name_ja",
"basis",
"makes_specified_flight",
"waivable_with_certificates"
],
"additionalProperties": {}
}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"category": {
"type": "string"
},
"meaning_en": {
"type": "string"
}
},
"required": [
"category",
"meaning_en"
],
"additionalProperties": {}
}
},
"screening": {
"type": "object",
"properties": {},
"additionalProperties": {}
},
"disclaimer": {
"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": [
"version",
"review_guideline",
"reviewed_by",
"rules",
"categories",
"screening",
"disclaimer",
"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": {}
}커뮤니티
증거