Skip to main content
Glama

Criora: climate & disaster risk for any place

One hazard event for the map

get_map_event
Read-onlyIdempotent

One hazard event the interactive map opens when the reader taps a warning's area or a storm's cone: the event, or none when it is no longer listed. The map calls it in clients that display it; to list the hazards near a place, use get_hazards_near.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "get_map_event"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe event's id, as a warning's area on the map lists it

Output Schema

NameRequiredDescriptionDefault
eventsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed58 schema fields changed
    • removedOutput schema / $defs / MapEvent / description
      Removed value: -"An event as the page draws it, from whichever read found it: a search near a place gives its\ndistance, a tapped warning read by its id gives none."
    • removedOutput schema / $defs / MapEvent / properties / active_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / active_at / default
      Removed value: -null
    • removedOutput schema / $defs / MapEvent / properties / active_at / description
      Removed value: -"The latest moment the source reports it active"
    • addedOutput schema / $defs / MapEvent / properties / active_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / area / default
      Removed value: -false
    • removedOutput schema / $defs / MapEvent / properties / area / description
      Removed value: -"Whether the event covers an area (a warning's, a storm's cone, a modelled forecast's)"
    • removedOutput schema / $defs / MapEvent / properties / bounds / default
      Removed value: -null
    • removedOutput schema / $defs / MapEvent / properties / bounds / description
      Removed value: -"The area's box, west, south, east, north, which the map frames the event on"
    • removedOutput schema / $defs / MapEvent / properties / distance_km / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / distance_km / default
      Removed value: -null
    • removedOutput schema / $defs / MapEvent / properties / distance_km / description
      Removed value: -"From the place the map is of; none for a tapped event"
    • addedOutput schema / $defs / MapEvent / properties / distance_km / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / event_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / event_date / default
      Removed value: -null
    • addedOutput schema / $defs / MapEvent / properties / event_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / expires_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / expires_at / default
      Removed value: -null
    • removedOutput schema / $defs / MapEvent / properties / expires_at / description
      Removed value: -"When the source says it ends; null when it states none"
    • addedOutput schema / $defs / MapEvent / properties / expires_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / kind / default
      Removed value: -"occurrence"
    • removedOutput schema / $defs / MapEvent / properties / kind / description
      Removed value: -"occurrence, warning or status"
    • removedOutput schema / $defs / MapEvent / properties / label / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / label / default
      Removed value: -null
    • addedOutput schema / $defs / MapEvent / properties / label / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / nature / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / nature / default
      Removed value: -null
    • addedOutput schema / $defs / MapEvent / properties / nature / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / onset_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / onset_at / default
      Removed value: -null
    • removedOutput schema / $defs / MapEvent / properties / onset_at / description
      Removed value: -"When a warned hazard begins; null when the source states none"
    • addedOutput schema / $defs / MapEvent / properties / onset_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / severity / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / severity / default
      Removed value: -null
    • addedOutput schema / $defs / MapEvent / properties / severity / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / severity_rank / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / severity_rank / default
      Removed value: -null
    • removedOutput schema / $defs / MapEvent / properties / severity_rank / description
      Removed value: -"Criora Severity, 0 to 100, which the map sizes a mark by"
    • addedOutput schema / $defs / MapEvent / properties / severity_rank / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / source / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / source / default
      Removed value: -null
    • addedOutput schema / $defs / MapEvent / properties / source / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / value / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / value / default
      Removed value: -null
    • addedOutput schema / $defs / MapEvent / properties / value / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / value_normalized / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / value_normalized / default
      Removed value: -null
    • addedOutput schema / $defs / MapEvent / properties / value_normalized / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / value_text / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / value_text / default
      Removed value: -null
    • addedOutput schema / $defs / MapEvent / properties / value_text / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / value_unit / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / value_unit / default
      Removed value: -null
    • addedOutput schema / $defs / MapEvent / properties / value_unit / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / MapEvent / properties / visible_hours / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / MapEvent / properties / visible_hours / default
      Removed value: -null
    • removedOutput schema / $defs / MapEvent / properties / visible_hours / description
      Removed value: -"Hours from its latest activity the map draws it for, where that depends on the event; null where it is its type's"
    • addedOutput schema / $defs / MapEvent / properties / visible_hours / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
  2. Changed28 schema fields changed
    • removedInput schema / properties / id / title
      Removed value: -"Id"
    • removedInput schema / title
      Removed value: -"get_map_eventArguments"
    • removedOutput schema / $defs / MapEvent / properties / active_at / title
      Removed value: -"Active At"
    • changedOutput schema / $defs / MapEvent / properties / area / description
      Previous value: -"Whether the event covers an area (a warning's, a storm's cone)"New value: +"Whether the event covers an area (a warning's, a storm's cone, a modelled forecast's)"
    • removedOutput schema / $defs / MapEvent / properties / area / title
      Removed value: -"Area"
    • addedOutput schema / $defs / MapEvent / properties / bounds
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "number"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The area's box, west, south, east, north, which the map frames the event on"
      +}
    • removedOutput schema / $defs / MapEvent / properties / distance_km / title
      Removed value: -"Distance Km"
    • removedOutput schema / $defs / MapEvent / properties / event_date / title
      Removed value: -"Event Date"
    • removedOutput schema / $defs / MapEvent / properties / expires_at / title
      Removed value: -"Expires At"
    • removedOutput schema / $defs / MapEvent / properties / id / title
      Removed value: -"Id"
    • removedOutput schema / $defs / MapEvent / properties / kind / title
      Removed value: -"Kind"
    • removedOutput schema / $defs / MapEvent / properties / label / title
      Removed value: -"Label"
    • removedOutput schema / $defs / MapEvent / properties / lat / title
      Removed value: -"Lat"
    • removedOutput schema / $defs / MapEvent / properties / lon / title
      Removed value: -"Lon"
    • removedOutput schema / $defs / MapEvent / properties / nature / title
      Removed value: -"Nature"
    • addedOutput schema / $defs / MapEvent / properties / onset_at
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "When a warned hazard begins; null when the source states none"
      +}
    • removedOutput schema / $defs / MapEvent / properties / severity / title
      Removed value: -"Severity"
    • addedOutput schema / $defs / MapEvent / properties / severity_rank
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Criora Severity, 0 to 100, which the map sizes a mark by"
      +}
    • removedOutput schema / $defs / MapEvent / properties / source / title
      Removed value: -"Source"
    • removedOutput schema / $defs / MapEvent / properties / type / title
      Removed value: -"Type"
    • removedOutput schema / $defs / MapEvent / properties / value / title
      Removed value: -"Value"
    • removedOutput schema / $defs / MapEvent / properties / value_normalized / title
      Removed value: -"Value Normalized"
    • removedOutput schema / $defs / MapEvent / properties / value_text / title
      Removed value: -"Value Text"
    • removedOutput schema / $defs / MapEvent / properties / value_unit / title
      Removed value: -"Value Unit"
    • addedOutput schema / $defs / MapEvent / properties / visible_hours
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Hours from its latest activity the map draws it for, where that depends on the event; null where it is its type's"
      +}
    • removedOutput schema / $defs / MapEvent / title
      Removed value: -"MapEvent"
    • removedOutput schema / properties / events / title
      Removed value: -"Events"
    • removedOutput schema / title
      Removed value: -"MapEvents"
  3. Added

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds one genuinely useful behavioral fact — that a de-listed event yields none rather than an error — but nothing about lookup failure modes, and with an output schema present the null case may already be documented there.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the resource and its return semantics, with the alternative-tool pointer at the end. The clause 'The map calls it in clients that display it' is slightly awkward and costs space without adding much decision value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only lookup with full annotation coverage and an output schema, the description supplies everything needed: what it returns, the null behavior, and where to go for spatial listing. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'id' parameter is already documented as the event id listed by a warning's area on the map. The description's phrase 'as a warning's area on the map lists it' largely restates the schema rather than adding new meaning, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('One hazard event') and states the return contract ('the event, or none when it is no longer listed'). It does not, however, distinguish itself from the very close sibling get_map_events (plural), which the agent must infer from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one routing hint ('to list the hazards near a place, use get_hazards_near') and frames the tool as something 'clients that display' the map call, which implies indirect/UI-driven use. But it never says when an agent should call this directly versus get_map_events, leaving the most relevant alternative unaddressed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.