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.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
63%
命名の品質
85%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,859トークン数(ツール定義)
~11.4 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 3.01%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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": {}
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 4 件