Server definition
- Hash
- sha256:d80680916003df490fec8e782fdb11694aa042a1b4a39df46cb7cd1a5188efbe
- What it is
- What a remote MCP server returned when asked what it offers: 22 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "The declaration/activation for an Australian Government Reference Number, merged across sources with the full affected-LGA list.\n\nRequires the \"declarations\" entitlement on the API key. Accounts without it get a clear error rather than an empty result, so an empty response never means \"not entitled\".",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"agrn": {
"type": "string"
}
},
"required": [
"agrn"
],
"type": "object"
},
"name": "declaration_by_agrn",
"outputSchema": null
},
{
"description": "Returns the declaration STATUS for the local government area containing a lat/lng point, resolved against ABS LGA 2022 (ASGS Edition 3) boundary polygons at full resolution. POST with a JSON body is used deliberately so coordinates never appear in URLs or request logs; the request is read-only and safe to retry. Coordinates are never stored, logged, or echoed back, and the response is Cache-Control: no-store. Reports declared-area status only; the billing decision rests with the practitioner. A point outside every Australian LGA returns unknown_location. A point exactly on a shared LGA boundary returns every covering area with onBoundary=true. LGA matching is at ABS code level; some ABS codes aggregate multiple administrative areas (for example Unincorporated NSW covers both Far West and Lord Howe Island).\n\nRequires the \"declarations\" entitlement on the API key. Accounts without it get a clear error rather than an empty result, so an empty response never means \"not entitled\".",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"as_at": {
"description": "Point-in-time check (YYYY-MM-DD). Defaults to today.",
"type": "string"
},
"include_expired": {
"description": "Include expired records in the per-LGA lists. Never changes matchStatus.",
"type": "boolean"
},
"instrument_type": {
"description": "Trim the returned record lists to one instrument type. Never changes matchStatus.",
"type": "string"
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
}
},
"required": [
"lat",
"lng"
],
"type": "object"
},
"name": "declarations_by_point",
"outputSchema": null
},
{
"description": "Returns the declaration STATUS for a postcode: declared, partial, activation_only, not_declared, uncertain, or unknown_postcode, with per-LGA detail and official source links. Reports declared-area status only; the billing/eligibility decision rests with the practitioner. Built for Medicare disaster telehealth checks.\n\nRequires the \"declarations\" entitlement on the API key. Accounts without it get a clear error rather than an empty result, so an empty response never means \"not entitled\".",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"as_at": {
"description": "Point-in-time check (YYYY-MM-DD). Defaults to today.",
"type": "string"
},
"include_expired": {
"description": "Include expired records in the per-LGA lists. Never changes matchStatus.",
"type": "boolean"
},
"instrument_type": {
"description": "Trim the returned record lists to one instrument type. Never changes matchStatus.",
"type": "string"
},
"postcode": {
"type": "string"
},
"suburb": {
"description": "Optional suburb/locality name (ABS SAL) to narrow the result to the local government areas that suburb falls in, within this postcode only. Matching is exact after normalisation; there is no fuzzy matching. An unmatched suburb never fails the lookup: the full-postcode result is returned with narrowing.applied=false, a reason, and the postcode's known suburbs. Narrowing can legitimately change matchStatus (for example partial to declared); a suburb that itself spans two LGAs stays partial, and a bare name that denotes suburbs on both sides of a border (Mingoola in 4380) matches all of them.",
"type": "string"
}
},
"required": [
"postcode"
],
"type": "object"
},
"name": "declarations_by_postcode",
"outputSchema": null
},
{
"description": "Returns attribution information for all data sources, including licence details. Required for CC BY compliance.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "get_attribution",
"outputSchema": null
},
{
"description": "The answer for one date in one jurisdiction. A jurisdiction-wide public holiday wins, then the weekend, then the calendar's own entries in order (industry shutdown, RDO, part-day holiday, annual leave, industry event); otherwise working. Restricted holidays (a show day for one region, a public-service-only day) never decide it and are returned under restricted for the caller to apply to the employer's area.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"date": {
"description": "The date, YYYY-MM-DD",
"type": "string"
},
"jurisdiction": {
"description": "Jurisdiction code",
"type": "string"
}
},
"required": [
"jurisdiction",
"date"
],
"type": "object"
},
"name": "get_calendar_day",
"outputSchema": null
},
{
"description": "The day rows for one jurisdiction across a date range, each date answered by exactly one edition. Defaults to the current calendar year in the jurisdiction's own time zone; a lone from or to extends to the edge of its own year. Every place the calendar disagrees with the official list is returned under discrepancies. Rows can be CSV with format=csv.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category": {
"description": "Comma-separated categories to include (default all). Values are the CalendarDay category enum.",
"type": "string"
},
"from": {
"description": "First date, YYYY-MM-DD",
"type": "string"
},
"jurisdiction": {
"description": "Jurisdiction code",
"type": "string"
},
"to": {
"description": "Last date, YYYY-MM-DD",
"type": "string"
}
},
"required": [
"jurisdiction"
],
"type": "object"
},
"name": "get_calendar_days",
"outputSchema": null
},
{
"description": "Returns a single clustered event by ID. Use `include_incidents=true` to also\nretrieve all incidents that belong to this event cluster.\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "Event UUID",
"type": "string"
},
"include_incidents": {
"description": "Include linked incidents in the response",
"type": "boolean"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_event",
"outputSchema": null
},
{
"description": "Returns a single gauge station plus its trailing 6 hours of raw readings (enough to see the current trend). Deeper history is the tier-gated /gauges/{id}/readings endpoint.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "Gauge id from /gauges (e.g. hydstra-nsw-410001)",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_gauge",
"outputSchema": null
},
{
"description": "Counts of gauges at or above minor/moderate/major flood classification, grouped by state or LGA, plus the full list of at-or-above-minor stations (capped at 500). STALE GUARD: only readings within the staleness horizon enter class counts — a days-old reading above minor is counted as stale, never as a current flood signal.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"groupBy": {
"description": "state (default) or lga (requires the state parameter)",
"type": "string"
},
"state": {
"type": "string"
},
"variable": {
"description": "Measured variable. Defaults to water_level (rain gauges carry no flood class, so they are excluded from the counts by default).",
"type": "string"
}
},
"type": "object"
},
"name": "get_gauge_summary",
"outputSchema": null
},
{
"description": "Returns a single incident as a GeoJSON Feature.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "Incident ID (e.g. nsw-rfs-1234567)",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_incident",
"outputSchema": null
},
{
"description": "Returns all valid enum values for event types, categories, states, warning levels, and other filterable fields. Use this to discover what values are accepted by filter parameters. No authentication required.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "get_schema",
"outputSchema": null
},
{
"description": "What official sources recorded near a location, unioned with the disaster declarations that covered its local government area. Two lanes are returned because both are required: the observed lane (historical archive plus live-era incident history within a radius) and the declared lane (declarations for the covering ABS LGA, counted once per AGRN even when several authorities recorded the same event). Measured example: a Lismore address returns the February 2022 flood only through the declared lane, because the spatial lane holds no record for it at address precision. POST with a JSON body is used deliberately so coordinates never appear in URLs or request logs; the request is read-only and safe to retry. Coordinates are never stored, logged, or echoed back, and the response is Cache-Control: no-store. This reports a RECORD and a declared STATUS. It is not an assessment of risk, insurability, or any obligation, and absence of a record is not evidence that nothing happened. Precision is reported per record: a record at postcode precision sits at a postcode centroid, which can be kilometres from the event.\n\nRequires the \"hazard-history\" entitlement on the API key. Accounts without it get a clear error rather than an empty result, so an empty response never means \"not entitled\".",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"lat": {
"description": "Latitude in decimal degrees, -90 to 90. Never logged or echoed.",
"type": "number"
},
"lng": {
"description": "Longitude in decimal degrees, -180 to 180. Never logged or echoed.",
"type": "number"
},
"radiusKm": {
"description": "Search radius for the observed lane, greater than 0 and no more than 5. Defaults to 1.",
"type": "number"
},
"records": {
"description": "Maximum observed records returned in the list. Aggregates always cover everything in radius. 1 to 100, defaults to 25.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"lat",
"lng"
],
"type": "object"
},
"name": "hazard_history_by_point",
"outputSchema": null
},
{
"description": "Returns the incidents that were active at a specific point in time. Recent datetimes are reconstructed from live and lifecycle data. Datetimes before 2026-04-08 are reconstructed from the historical archive (4.8M+ records) and are gated by the same tier lookback as /incidents/history (free has no archive access; Starter 1 year, Developer and Business 5 years, Pro and Enterprise unlimited). Archive (pre-2026-04-08) snapshots require a state filter, and meta.source indicates whether the result came from \"live\" or \"archive\".",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"datetime": {
"description": "ISO 8601 datetime to query (cannot be in the future)",
"type": "string"
},
"event_type": {
"description": "Filter by event type",
"type": "string"
},
"limit": {
"description": "Max results (default 500)",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"state": {
"description": "Filter by state code. Required for archive (pre-2026-04-08) snapshots.",
"type": "string"
}
},
"required": [
"datetime"
],
"type": "object"
},
"name": "incident_snapshot",
"outputSchema": null
},
{
"description": "Every industry-calendar edition on the platform, one per jurisdiction and year (NSW, VIC, QLD, WA, SA, TAS, ACT and NT for 2026), with its publisher, cover range and per-category counts. RDOs, public holidays, school holidays and industry shutdowns, read from each branch calendar and verified against the Fair Work Ombudsman list and the education departments' term dates.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "list_calendars",
"outputSchema": null
},
{
"description": "Browse and historically report on declaration records. Filters and keyset (cursor) pagination. Record status is derived at query time.\n\nRequires the \"declarations\" entitlement on the API key. Accounts without it get a clear error rather than an empty result, so an empty response never means \"not entitled\".",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"active_on": {
"type": "string"
},
"cursor": {
"description": "Opaque pagination cursor from links.next.",
"type": "string"
},
"disaster_type": {
"type": "string"
},
"instrument_type": {
"type": "string"
},
"jurisdiction": {
"type": "string"
},
"limit": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"status": {
"type": "string"
}
},
"type": "object"
},
"name": "list_declarations",
"outputSchema": null
},
{
"description": "Returns spatially clustered emergency events as a GeoJSON FeatureCollection.\nEvents group related incidents using PostGIS ST_ClusterDBSCAN spatial clustering.\nEach event has a boundary polygon, centroid, affected suburbs, contributing agencies,\nand auto-generated title and summary. Only active events are returned by default.\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"eventType": {
"description": "Comma-separated event types (e.g. bushfire,flood)",
"type": "string"
},
"limit": {
"description": "Maximum events to return (default 50, max 200)",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"severity": {
"description": "Comma-separated max severity levels",
"type": "string"
},
"state": {
"description": "Comma-separated state codes to filter by (e.g. nsw,vic). Uses array overlap matching.",
"type": "string"
},
"warningLevel": {
"description": "Comma-separated max warning levels",
"type": "string"
}
},
"type": "object"
},
"name": "list_events",
"outputSchema": null
},
{
"description": "Historical water level readings for one gauge. Free tier is blocked (the free surface is current readings on /gauges and the 6-hour window on /gauges/{id}). Starter tier limited to 1 year lookback, Developer and Business to 5 years, Pro and Enterprise unlimited. Retention ladder: raw 30 days, hourly rollups 90 days, daily forever — plus full-resolution raw inside flood-event windows kept forever. interval=auto picks the finest granularity available for the requested window.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"above": {
"description": "Only readings at/above this published flood classification for the gauge",
"type": "string"
},
"after": {
"description": "Start of range (ISO 8601, inclusive). Tier-limited.",
"type": "string"
},
"before": {
"description": "End of range (ISO 8601, exclusive). Defaults to now.",
"type": "string"
},
"cursor": {
"description": "Pagination cursor from meta.nextCursor (ISO timestamp keyset)",
"type": "string"
},
"id": {
"type": "string"
},
"interval": {
"description": "raw, hourly, daily, or auto (default)",
"type": "string"
},
"limit": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "list_gauge_readings",
"outputSchema": null
},
{
"description": "Returns river gauge stations with their latest water level, the Bureau of Meteorology flood classification thresholds for each gauge, and a derived floodClass (below_minor, minor, moderate, major, or unclassified) computed from the latest reading against the published thresholds. Water-level readings are in metres relative to each gauge's local datum (each gauge carries its own unit, since some report in AHD). readingStatus flags stale data (bom-kiwis sourced stations are a 1-2 day archive, stale horizon 72 hours; bcc-telemetry are event-driven council ALERT loggers, stale horizon 48 hours; telemetry sources 24 hours). Defaults to water-level gauges; pass variable=rainfall for observed rainfall gauges, which report incremental millimetres and carry no flood classification. Status reporting, not flood prediction.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bbox": {
"description": "Bounding box minLng,minLat,maxLng,maxLat (within Australia)",
"type": "string"
},
"cursor": {
"description": "Pagination cursor from meta.nextCursor",
"type": "string"
},
"floodClass": {
"description": "Filter to gauges at or above this class (>= semantics: minor matches moderate and major too). Water-level only; cannot combine with variable=rainfall.",
"type": "string"
},
"lga": {
"description": "ABS LGA code (the same LGA_2022 vocabulary as the declarations API)",
"type": "string"
},
"limit": {
"description": "Max results per page (1-500, default 100)",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"source": {
"description": "Polling source (hydstra-nsw, hydstra-vic, hydstra-qld, aquarius-sa, aquarius-tas, aquarius-nt, bom-kiwis, bcc-telemetry)",
"type": "string"
},
"state": {
"description": "Lowercase state code (nsw, vic, qld, sa, wa, tas, nt, act)",
"type": "string"
},
"variable": {
"description": "Measured variable. Defaults to water_level; rainfall returns observed rain gauges (millimetres, incremental, no flood class).",
"type": "string"
}
},
"type": "object"
},
"name": "list_gauges",
"outputSchema": null
},
{
"description": "Returns historical emergency incidents from the 4.8M+ record archive (1840-2026). Free tier is blocked. Starter tier limited to 1 year lookback, Developer and Business to 5 years, Pro and Enterprise unlimited.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"after": {
"description": "Start of date range (ISO 8601, inclusive). Tier-limited.",
"type": "string"
},
"before": {
"description": "End of date range (ISO 8601, exclusive). Defaults to now.",
"type": "string"
},
"eventType": {
"description": "Comma-separated event types",
"type": "string"
},
"limit": {
"description": "Max results per page (1-500, default 100)",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"state": {
"description": "Comma-separated state codes",
"type": "string"
}
},
"type": "object"
},
"name": "list_historical_incidents",
"outputSchema": null
},
{
"description": "Returns a GeoJSON FeatureCollection of all current emergency incidents, with support for filtering, pagination, and bounding box queries.\n\nExample response:\n{\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"id\": \"nsw-rfs-1234567\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n 150.604,\n -33.883\n ]\n },\n \"properties\": {\n \"source\": {\n \"state\": \"nsw\",\n \"agency\": \"RFS\",\n \"feedId\": \"1234567\"\n },\n \"title\": \"Bush Fire - Warragamba\",\n \"eventType\": \"bushfire\",\n \"status\": \"active\",\n \"warningLevel\": \"watch_and_act\",\n \"severity\": \"Severe\",\n \"urgency\": \"Expected\",\n \"certainty\": \"Observed\",\n \"location\": {\n \"address\": \"Warragamba Dam Rd, Warragamba NSW\",\n \"suburb\": \"Warragamba\",\n \"state\": \"NSW\",\n \"latitude\": -33.883,\n \"longitude\": 150.604\n },\n \"details\": {\n \"description\": \"Bush fire burning in a south-easterly direction\"\n },\n \"timestamps\": {\n \"reported\": \"2026-04-07T14:30:00+10:00\",\n \"updated\": \"2026-04-07T16:45:00+10:00\",\n \"fetched\": \"2026-04-07T16:46:12+10:00\"\n },\n \"retraction\": {\n \"retracted\": true,\n \"retractedAt\": \"2026\n... (truncated)",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"after": {
"description": "Alias for cursor. This is the parameter name emitted in links.next, and is accepted for backward compatibility. If both are supplied, after wins.",
"type": "string"
},
"agency": {
"description": "Source agency filter",
"type": "string"
},
"bbox": {
"description": "Bounding box: minLon,minLat,maxLon,maxLat",
"type": "string"
},
"category": {
"description": "Comma-separated event categories. Groups related event types (e.g. fire includes bushfire, structure_fire, grass_fire, vehicle_fire). burn_off is its own category (planned). See /api/v1/schema for the full mapping.",
"type": "string"
},
"certainty": {
"description": "CAP-AU certainty levels (Observed, Likely, Possible, Unlikely, Unknown)",
"type": "string"
},
"cursor": {
"description": "Opaque pagination cursor, taken from meta.next_cursor of the previous response. Absent next_cursor means there are no further pages.",
"type": "string"
},
"eventType": {
"description": "Comma-separated event types (bushfire, burn_off, fire_ban, structure_fire, vehicle_fire, grass_fire, hazmat, rescue, flood, storm, tree_down, cyclone, earthquake, extreme_heat, vehicle_accident, medical, alarm, other)",
"type": "string"
},
"featureType": {
"description": "Comma-separated feature types. Defaults to 'incident' (point incidents only), so boundary polygons never appear unless requested. Request them explicitly: incident_area, warning_area, fire_ban_area. See /api/v1/schema.",
"type": "string"
},
"include_retracted": {
"description": "Include retracted incidents (default false). Retracted incidents are marked when upstream feeds stop publishing them.",
"type": "boolean"
},
"limit": {
"description": "Results per page (default 100, max 500)",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"severity": {
"description": "CAP-AU severity levels (Extreme, Severe, Moderate, Minor, Unknown)",
"type": "string"
},
"state": {
"description": "Comma-separated state codes (e.g. nsw,vic,qld)",
"type": "string"
},
"status": {
"description": "Incident status filter",
"type": "string"
},
"urgency": {
"description": "CAP-AU urgency levels (Immediate, Expected, Future, Past, Unknown)",
"type": "string"
},
"warningLevel": {
"description": "Australian Warning System levels",
"type": "string"
}
},
"type": "object"
},
"name": "list_incidents",
"outputSchema": null
},
{
"description": "Returns the status of each state feed, including last poll time, health, and incident count.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "list_states",
"outputSchema": null
},
{
"description": "Returns incidents within a radius (km) of a given lat/lng coordinate, sorted by distance.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"agency": {
"type": "string"
},
"certainty": {
"type": "string"
},
"eventCategory": {
"type": "string"
},
"eventType": {
"type": "string"
},
"include_retracted": {
"description": "Set true to include retracted incidents. Default false; retracted incidents are hidden, matching /incidents.",
"type": "boolean"
},
"lat": {
"description": "Latitude",
"type": "number"
},
"limit": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"lng": {
"description": "Longitude",
"type": "number"
},
"radius": {
"description": "Radius in kilometres (max 500)",
"type": "number"
},
"severity": {
"type": "string"
},
"state": {
"type": "string"
},
"status": {
"description": "Comma-separated incident statuses (active, contained, controlled, safe, completed). Defaults to all.",
"type": "string"
},
"urgency": {
"type": "string"
},
"warningLevel": {
"type": "string"
}
},
"required": [
"lat",
"lng",
"radius"
],
"type": "object"
},
"name": "nearby_incidents",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:d80680916003df490fec8e782fdb11694aa042a1b4a39df46cb7cd1a5188efbe | sha256sum