DaedalMap Tsunami Data
Server Details
Global tsunami events from NOAA NCEI, 2000 BC-present: wave height, runups, and counts.
- Status
- Healthy
- Uptime
- 78.3% over 77 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- xyver/daedal-map
- GitHub Stars
- 2
- Server Listing
- daedal-map
TDQS
Scored across 5 tools
Each tool targets a distinct stage: discovery (get_catalog), pack introspection (get_pack), row retrieval (get_data), event drill-down (get_event), and help (get_tool_help). No two tools overlap, and the descriptions even suggest a clear workflow order.
All tools use a consistent get_<noun> snake_case pattern with a clear verb prefix. There is no mixing of conventions or vague verbs.
5 tools is well within the ideal 3-15 range for a read-only data facade. Each tool earns its place by covering a distinct part of the access workflow.
Core data and event retrieval are covered, but get_catalog explicitly directs users to get_geography for geometry, yet no such tool exists. Geometry-focused next-step tools are also referenced but absent, leaving a major dead end for spatial queries.
Available Tools
5 toolsget_catalogList Published Packs or GeographiesARead-onlyIdempotentInspect
Choose data or geometry to list published pack IDs or family and scope IDs. The response includes a complete catalog download URL. Use get_pack for data or get_geography for geometry. Current catalog: The same geography tools work worldwide across a cataloged baseline of 252 geographic entities, reaching up to Admin 2. Where additional country releases are available, the same calls automatically return deeper administrative tiers or maintained reference families. Additional detail is currently available for Australia, Brazil, Canada, France, Germany, Mexico, United Kingdom, United States.
| Name | Required | Description | Default |
|---|---|---|---|
| catalog | Yes | Required directory selector. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| packs | No | |
| detail | No | |
| reason | No | |
| scopes | No | |
| catalog | No | |
| families | No | |
| guidance | No | |
| warnings | No | |
| next_step | No | |
| pack_count | No | |
| provenance | No | |
| request_id | No | |
| download_url | No | |
| generated_at | No | |
| clarification | No | |
| result_status | No | |
| tool_families | No | |
| excluded_count | No | |
| resolved_query | No | |
| catalog_version | No | |
| uncertain_count | No | |
| uncertain_packs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description's only behavioral addition is that the response carries a catalog download URL, which is already implied by the output schema; the long paragraph about worldwide coverage and per-country releases is scope marketing rather than behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The actionable content (what it lists, the download URL, the get_pack/get_geography routing) is front-loaded, but it is then buried under a lengthy 'Current catalog' paragraph listing 252 entities and eight countries that does nothing for tool selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety and an output schema covering returns, the description only needs to explain the selector and routing, which it mostly does. However, the undefined 'scope IDs' terminology and the routing to a non-sibling tool leave small gaps for an agent deciding between catalog and pack calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the enum values are self-explanatory, so the baseline is 3. The description goes beyond this by mapping each enum value to a distinct return shape ('data' yields pack IDs, 'geometry' yields family and scope IDs), which genuinely adds meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific verb ('list') and resource ('published pack IDs or family and scope IDs') and ties the output to the required catalog selector. It is distinguishable from the generic get_data/get_pack siblings, though the phrase 'family and scope IDs' is jargon that is never defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing: 'Use get_pack for data or get_geography for geometry,' which tells the agent when to pick this tool over an alternative. The weakness is that get_geography is not among the listed siblings, so the routing target is ambiguous for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataGet DataARead-onlyIdempotentInspect
Retrieve rows from one selected published data pack using exact metrics, loc_id-based region filters, time/metric filters, sorting, and a row limit. Disaster event rows include stable event_id values for get_event drill-down. A parent administrative loc_id selects matching descendant rows at the pack's published grain. Call get_pack first; geometry families use their focused next-step tools.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort by a sortable field from get_pack; direction defaults to asc. | |
| limit | No | Maximum number of rows to return for the requested source or pack. | |
| output | No | Optional response controls. v1 supports rows only. | |
| filters | Yes | ||
| metrics | Yes | Exact metric ids from get_pack. Use event_count for aggregate counts only when get_pack publishes it. | |
| pack_id | Yes | Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change. | |
| request_id | No | Optional caller-supplied request id for tracing and idempotency. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| sort | No | |
| error | No | |
| limit | No | |
| reason | No | |
| pack_id | No | |
| guidance | No | |
| warnings | No | |
| next_step | No | |
| row_count | No | |
| source_id | No | |
| truncated | No | |
| provenance | No | |
| query_mode | No | |
| request_id | No | |
| capability_id | No | |
| clarification | No | |
| filters_applied | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive/closed-world, so the safety profile is covered. The description adds real behavioral context beyond that: parent administrative loc_ids expand to descendant rows at the pack's published grain, and disaster event rows carry stable event_id values for drill-down. No permission, rate-limit, or failure behavior is described, but that is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four front-loaded sentences with no filler; the core action and its inputs come first, then drill-down, hierarchy, and prerequisite notes. The final clause about 'geometry families' is slightly cryptic but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with nested filter/sort objects and an output schema, the description covers the essential query model and prerequisites. Return-format details are correctly delegated to the output schema; only minor gaps remain around limit defaults and the output/request_id controls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86%, so the baseline is 3; the description earns above that by explaining the hierarchy semantics of loc_id filters (a parent selects matching descendants) and clarifying that metrics must be exact published ids. It does not say much about sort, limit, output, or request_id, but those are already documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve rows from one selected published data pack') and enumerates the selection mechanisms (metrics, loc_id region filters, time/metric filters, sorting, row limit). The prerequisite on get_pack and the note about geometry families implicitly separate it from its catalog/pack siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Call get_pack first' gives an explicit prerequisite, and 'geometry families use their focused next-step tools' routes a class of users away from this tool. It stops short of naming those alternative tools or stating when-not conditions for non-geometry cases, so it is clear context rather than full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eventGet EventARead-onlyIdempotentInspect
Retrieve one exact disaster event and explicitly requested relationships, affected places, native observations, or geometry. Use get_data to obtain the stable event_id first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Per-section ceiling for relationships, affected places, observations, or geometry frames. | |
| include | No | Optional companion layers. Omit for the lightweight event summary. Geometry is never returned implicitly. | |
| pack_id | Yes | Required disaster pack_id that returned this event_id from get_data. The tool never searches other packs. | |
| event_id | Yes | Exact stable event_id returned by a disaster-pack get_data row. | |
| source_id | Yes | Required source_id from the same get_data result. Must identify one published event source in pack_id. | |
| request_id | No | Optional caller-supplied request id for tracing. | |
| geometry_mode | No | current returns the representative/current shape; timeline returns bounded progression frames where supported. | current |
| relationship_depth | No | Bounded cross-hazard traversal depth when relationships is included. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| event | No | |
| reason | No | |
| pack_id | No | |
| event_id | No | |
| geometry | No | |
| guidance | No | |
| included | No | |
| warnings | No | |
| available | No | |
| next_step | No | |
| source_id | No | |
| event_type | No | |
| next_steps | No | |
| provenance | No | |
| request_id | No | |
| observations | No | |
| schema_class | No | |
| clarification | No | |
| relationships | No | |
| affected_places | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read, so the safety burden is lifted. The description adds genuinely useful behavioral context on top: retrieval is limited to a single exact event and only the layers 'explicitly requested' are attached, reinforcing the opt-in nature of the include set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the core action is front-loaded before the prerequisite. Every clause carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and annotations cover the safety profile. The description supplies the critical precondition (a stable event_id from get_data) and the opt-in layer model, leaving little an agent would need to know before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters like include, geometry_mode, relationship_depth and limit are already fully documented with defaults and bounds. The description restates the four include values but adds no format or interaction detail beyond the schema, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Retrieve) plus a narrowly scoped resource ('one exact disaster event'), and it enumerates the optional companion layers. It also distinguishes itself from the sibling it depends on by naming get_data as the source of the event_id, so an agent can tell the two apart without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use get_data to obtain the stable event_id first' gives an explicit prerequisite and routes the agent to the correct sibling for the lookup step. It stops short of stating when NOT to use this tool (e.g. bulk/multi-event retrieval), so it is clear context rather than full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_packInspect One Data PackARead-onlyIdempotentInspect
Inspect one exact data pack ID for its metrics, time coverage, and query metadata before get_data.
| Name | Required | Description | Default |
|---|---|---|---|
| pack_id | Yes | Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| detail | No | |
| reason | No | |
| catalog | No | |
| pack_id | No | |
| sources | No | |
| guidance | No | |
| warnings | No | |
| full_call | No | |
| next_step | No | |
| provenance | No | |
| request_id | No | |
| download_url | No | |
| clarification | No | |
| download_call | No | |
| material_policy | No |
TDQS
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 by structured data. The description's additional value is the pre-flight framing (cheap inspection ahead of get_data) and a summary of returned content. It does not add anything about unknown-ID behavior or lookup cost, so it is solid but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the verb and resource and ends with the routing cue. Every clause carries information; nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not enumerate return fields, and annotations plus a 100%-covered single parameter handle the rest. The only thin spot is behavior when an unknown or stale pack ID is passed, which the description never touches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single pack_id parameter is well documented in the schema itself (origin in get_catalog, note about newly admitted packs). The description only adds the emphasis that the ID must be exact, which is marginal but consistent with the baseline for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (inspect), a specific resource (one exact data pack ID), and what the inspection yields (metrics, time coverage, query metadata). This cleanly separates it from get_catalog (enumeration) and get_data (retrieval) without the agent needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before get_data' gives an explicit sequencing rule for when this tool belongs in a workflow, and the schema's 'from get_catalog' note completes the chain. There are no stated exclusions or failure conditions, so it falls just short of a full when/when-not statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tool_helpGet Tool HelpARead-onlyIdempotentInspect
Describe one tool visible on this facade, including its exact contract, or return a bounded workflow overview for one supported topic.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Workflow overview. Do not combine with tool_name. | |
| question | No | Optional question used only with a topic overview. | |
| tool_name | No | Exact tool name from tools/list. Do not combine with topic. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | |
| title | No | |
| access | No | |
| reason | No | |
| purpose | No | |
| examples | No | |
| guidance | No | |
| warnings | No | |
| next_step | No | |
| tool_name | No | |
| provenance | No | |
| request_id | No | |
| input_schema | No | |
| clarification | No | |
| recommended_next_calls | No | |
| important_output_fields | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds a bit of behavioral context by mentioning 'exact contract' and 'bounded workflow overview', but it does not disclose potential error conditions or response formats. This is acceptable given the annotations, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently presents both modes without redundancy. Every phrase adds value, and it is front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate but relies heavily on the schema for constraints (e.g., oneOf logic, enum values, mutual exclusivity). It does not mention optional parameters or edge cases, but given the rich schema and annotations, it covers the essential purpose. A 3 reflects that it is sufficient but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter already has a thorough description (e.g., 'Do not combine with tool_name'). The tool description adds no extra parameter detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: describe a tool (with its exact contract) or return a workflow overview for a supported topic. It uses specific verbs and resources, and the two modes are distinct. This differentiates it from sibling data-fetching tools like get_data and get_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use each mode by stating the two options, and the schema enforces mutual exclusivity. However, it does not explicitly name alternatives or state when NOT to use this tool (e.g., for actual data retrieval). Still, the purpose is clear enough for an agent to infer correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
get_catalog15 fields changed- removed
Input schema / properties / catalog / defaultRemoved value: -"data" - changed
Input schema / properties / catalog / descriptionPrevious value: -"Catalog family. The geography facade defaults to geometry; other facades default to data."New value: +"Required directory selector." - removed
Input schema / properties / country_scopeRemoved value: -{ - "description": "Optional ISO3 focus for catalog='geometry' with detail='lite'.", - "type": "string" -} - removed
Input schema / properties / detailRemoved value: -{ - "default": "lite", - "description": "Use lite to select a pack, full for expanded metric/query inventories, or download for the complete raw catalog URL.", - "enum": [ - "lite", - "full", - "download" - ], - "type": "string" -} - removed
Input schema / properties / loc_idRemoved value: -{ - "description": "Optional DaedalMap loc_id for catalog='data'. Combine with time_range to discover packs confirmed for both place and time. For place details without pack filtering, use get_loc_id_info.", - "type": "string" -} - removed
Input schema / properties / time_rangeRemoved value: -{ - "additionalProperties": false, - "description": "Optional inclusive discovery window for catalog='data'. At least one bound is required.", - "properties": { - "end": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "start": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - } - }, - "type": "object" -} - added
Input schema / requiredAdded value: +[ + "catalog" +] - changed
Output schema / anyOfPrevious value: -[ - { - "required": [ - "catalog", - "detail" - ] - }, - { - "required": [ - "error" - ] - } -]New value: +[ + { + "required": [ + "catalog" + ] + }, + { + "required": [ + "error" + ] + } +] - added
Output schema / properties / excluded_countAdded value: +{ + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / familiesAdded value: +{ + "items": { + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / resolved_queryAdded value: +{ + "type": "object" +} - added
Output schema / properties / result_statusAdded value: +{ + "type": "string" +} - added
Output schema / properties / scopesAdded value: +{ + "items": { + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / uncertain_countAdded value: +{ + "minimum": 0, + "type": "integer" +} - added
Output schema / properties / uncertain_packsAdded value: +{ + "items": { + "type": "object" + }, + "type": "array" +}
- Changed
get_data1 field changed- changed
Input schema / properties / filters / additionalPropertiesPrevious value: -{ - "anyOf": [ - { - "type": [ - "string", - "number", - "integer", - "boolean", - "null" - ] - }, - { - "items": { - "type": [ - "string", - "number", - "integer", - "boolean" - ] - }, - "type": "array" - } - ] -}New value: +false
- Changed
get_pack5 fields changed- removed
Input schema / properties / catalogRemoved value: -{ - "description": "Metadata family. When omitted, geometry facades default to geometry and known geometry-family ids are inferred; all other calls default to data.", - "enum": [ - "data", - "geometry" - ], - "type": "string" -} - removed
Input schema / properties / country_scopeRemoved value: -{ - "description": "Optional ISO3 country for a geometry family. Omit it to learn which countries publish the family; provide it for country-specific versions, vintages, levels, and artifacts.", - "pattern": "^[A-Za-z]{3}$", - "type": "string" -} - removed
Input schema / properties / detailRemoved value: -{ - "default": "lite", - "description": "Use lite to decide and start, full for detailed MCP query metadata, or download for the complete raw metadata file.", - "enum": [ - "lite", - "full", - "download" - ], - "type": "string" -} - removed
Input schema / properties / release_unitRemoved value: -{ - "description": "Optional non-country geometry release unit such as GLOBAL or MARINE. Do not combine with country_scope.", - "pattern": "^[A-Za-z0-9_-]+$", - "type": "string" -} - changed
Output schema / properties / catalog / enumPrevious value: -[ - "data", - "geometry" -]New value: +[ + "data" +]
1 tool update
- Changed
get_event4 fields changed- changed
Input schema / properties / pack_id / descriptionPrevious value: -"Optional disaster pack hint. Recommended when known to avoid probing unrelated event sources."New value: +"Required disaster pack_id that returned this event_id from get_data. The tool never searches other packs." - added
Input schema / properties / pack_id / minLengthAdded value: +1 - added
Input schema / properties / source_idAdded value: +{ + "description": "Required source_id from the same get_data result. Must identify one published event source in pack_id.", + "minLength": 1, + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "event_id" -]New value: +[ + "pack_id", + "source_id", + "event_id" +]
1 tool update
- Changed
get_data13 fields changed- added
Input schema / properties / filters / additionalPropertiesAdded value: +{ + "anyOf": [ + { + "type": [ + "string", + "number", + "integer", + "boolean", + "null" + ] + }, + { + "items": { + "type": [ + "string", + "number", + "integer", + "boolean" + ] + }, + "type": "array" + } + ] +} - removed
Input schema / properties / filters / descriptionRemoved value: -"Structured filters including time, region_ids, and compare clauses." - added
Input schema / properties / filters / propertiesAdded value: +{ + "compare": { + "description": "Threshold filters using filterable fields or selected metric ids published by get_pack.", + "items": { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "op": { + "enum": [ + "=", + "!=", + ">", + ">=", + "<", + "<=" + ], + "type": "string" + }, + "value": {} + }, + "required": [ + "field", + "op", + "value" + ], + "type": "object" + }, + "type": "array" + }, + "equals": { + "additionalProperties": { + "anyOf": [ + { + "type": [ + "string", + "number", + "integer", + "boolean", + "null" + ] + }, + { + "items": { + "type": [ + "string", + "number", + "integer", + "boolean" + ] + }, + "type": "array" + } + ] + }, + "description": "Exact field/value filters using filterable fields published by get_pack.", + "type": "object" + }, + "region_ids": { + "description": "Canonical country or hierarchical loc_ids from get_pack, such as JPN or USA-TX.", + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array", + "uniqueItems": true + }, + "time": { + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "value" + ] + }, + { + "required": [ + "start" + ] + }, + { + "required": [ + "end" + ] + } + ], + "description": "Inclusive ISO-8601 date/datetime or integer-year selection. Use YYYY-MM-DD, not partial YYYY-MM strings.", + "properties": { + "end": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "format": "date", + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "granularity": { + "enum": [ + "daily", + "weekly", + "monthly", + "yearly", + "timestamp" + ], + "type": "string" + }, + "start": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "format": "date", + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "value": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "format": "date", + "type": "string" + }, + { + "type": "integer" + } + ] + } + }, + "type": "object" + } +} - changed
Input schema / properties / metrics / descriptionPrevious value: -"Metric ids to return. Use event_count for aggregate counts when supported."New value: +"Exact metric ids from get_pack. Use event_count for aggregate counts only when get_pack publishes it." - added
Input schema / properties / metrics / items / minLengthAdded value: +1 - added
Input schema / properties / metrics / minItemsAdded value: +1 - added
Input schema / properties / metrics / uniqueItemsAdded value: +true - added
Input schema / properties / output / additionalPropertiesAdded value: +false - changed
Input schema / properties / output / descriptionPrevious value: -"Optional output controls such as response format hints."New value: +"Optional response controls. v1 supports rows only." - added
Input schema / properties / output / propertiesAdded value: +{ + "format": { + "default": "rows", + "enum": [ + "rows" + ], + "type": "string" + }, + "include_provenance": { + "default": false, + "type": "boolean" + } +} - added
Input schema / properties / pack_id / minLengthAdded value: +1 - changed
Input schema / properties / sort / anyOfPrevious value: -[ - { - "type": "array" - }, - { - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "direction": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "field": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "field" + ], + "type": "object" + }, + { + "items": { + "additionalProperties": false, + "properties": { + "direction": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "field": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "field" + ], + "type": "object" + }, + "type": "array" + } +] - changed
Input schema / properties / sort / descriptionPrevious value: -"Optional sort instructions for row-returning queries."New value: +"Sort by a sortable field from get_pack; direction defaults to asc."
9 tool updates
- Changed
get_catalog6 fields changed- added
Input schema / properties / catalogAdded value: +{ + "default": "data", + "description": "Catalog family. The geography facade defaults to geometry; other facades default to data.", + "enum": [ + "data", + "geometry" + ], + "type": "string" +} - added
Input schema / properties / country_scopeAdded value: +{ + "description": "Optional ISO3 focus for catalog='geometry' with detail='lite'.", + "type": "string" +} - added
Input schema / properties / detailAdded value: +{ + "default": "lite", + "description": "Use lite to select a pack, full for expanded metric/query inventories, or download for the complete raw catalog URL.", + "enum": [ + "lite", + "full", + "download" + ], + "type": "string" +} - added
Input schema / properties / loc_idAdded value: +{ + "description": "Optional DaedalMap loc_id for catalog='data'. Combine with time_range to discover packs confirmed for both place and time. For place details without pack filtering, use get_loc_id_info.", + "type": "string" +} - added
Input schema / properties / time_rangeAdded value: +{ + "additionalProperties": false, + "description": "Optional inclusive discovery window for catalog='data'. At least one bound is required.", + "properties": { + "end": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "start": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + } + }, + "type": "object" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "catalog", + "detail" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "catalog": { + "enum": [ + "data", + "geometry" + ], + "type": "string" + }, + "catalog_version": { + "type": "string" + }, + "clarification": { + "type": "object" + }, + "detail": { + "enum": [ + "lite", + "full", + "download" + ], + "type": "string" + }, + "download_url": { + "type": "string" + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "generated_at": { + "type": [ + "string", + "null" + ] + }, + "guidance": { + "type": "object" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "pack_count": { + "minimum": 0, + "type": "integer" + }, + "packs": { + "items": { + "type": "object" + }, + "type": "array" + }, + "provenance": { + "type": "object" + }, + "reason": { + "type": "string" + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "tool_families": { + "items": { + "type": "object" + }, + "type": "array" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Added
get_data - Removed
get_disaster_link_chain - Removed
get_disaster_links_for_event - Added
get_event - Changed
get_pack5 fields changed- added
Input schema / properties / catalogAdded value: +{ + "description": "Metadata family. When omitted, geometry facades default to geometry and known geometry-family ids are inferred; all other calls default to data.", + "enum": [ + "data", + "geometry" + ], + "type": "string" +} - added
Input schema / properties / country_scopeAdded value: +{ + "description": "Optional ISO3 country for a geometry family. Omit it to learn which countries publish the family; provide it for country-specific versions, vintages, levels, and artifacts.", + "pattern": "^[A-Za-z]{3}$", + "type": "string" +} - added
Input schema / properties / detailAdded value: +{ + "default": "lite", + "description": "Use lite to decide and start, full for detailed MCP query metadata, or download for the complete raw metadata file.", + "enum": [ + "lite", + "full", + "download" + ], + "type": "string" +} - added
Input schema / properties / release_unitAdded value: +{ + "description": "Optional non-country geometry release unit such as GLOBAL or MARINE. Do not combine with country_scope.", + "pattern": "^[A-Za-z0-9_-]+$", + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "catalog", + "pack_id", + "detail" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "catalog": { + "enum": [ + "data", + "geometry" + ], + "type": "string" + }, + "clarification": { + "type": "object" + }, + "detail": { + "enum": [ + "lite", + "full", + "download" + ], + "type": "string" + }, + "download_call": { + "type": "object" + }, + "download_url": { + "type": "string" + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "full_call": { + "type": "object" + }, + "guidance": { + "type": "object" + }, + "material_policy": { + "type": "object" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "pack_id": { + "type": "string" + }, + "provenance": { + "type": "object" + }, + "reason": { + "type": "string" + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "sources": { + "items": { + "type": "object" + }, + "type": "array" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
get_tool_help6 fields changed- added
Input schema / oneOfAdded value: +[ + { + "not": { + "required": [ + "topic" + ] + }, + "required": [ + "tool_name" + ] + }, + { + "not": { + "required": [ + "tool_name" + ] + }, + "required": [ + "topic" + ] + } +] - added
Input schema / properties / questionAdded value: +{ + "description": "Optional question used only with a topic overview.", + "type": "string" +} - changed
Input schema / properties / tool_name / descriptionPrevious value: -"Exact tool name from tools/list."New value: +"Exact tool name from tools/list. Do not combine with topic." - added
Input schema / properties / topicAdded value: +{ + "description": "Workflow overview. Do not combine with tool_name.", + "enum": [ + "overview", + "data", + "disasters", + "custom_data", + "geometry" + ], + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "tool_name" -] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "ok", + "tool_name" + ] + }, + { + "required": [ + "error" + ] + } + ], + "properties": { + "access": { + "type": "object" + }, + "clarification": { + "type": "object" + }, + "error": { + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "details": { + "type": "object" + }, + "message": { + "type": "string" + }, + "retry_hint": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "examples": { + "type": "array" + }, + "guidance": { + "type": "object" + }, + "important_output_fields": { + "type": "array" + }, + "input_schema": { + "type": "object" + }, + "next_step": { + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "action" + ] + }, + { + "required": [ + "tool" + ] + } + ], + "properties": { + "action": { + "type": "string" + }, + "arguments": { + "type": "object" + }, + "tool": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "provenance": { + "type": "object" + }, + "purpose": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "recommended_next_calls": { + "type": "array" + }, + "request_id": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "tool_name": { + "type": "string" + }, + "warnings": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Removed
get_tsunami_events - Removed
search_disaster_links
1 tool update
- Changed
get_pack1 field changed- changed
Input schema / properties / pack_id / descriptionPrevious value: -"Pack identifier such as 'currency', 'earthquakes', 'floods', 'hurricanes', 'tornadoes', 'tsunamis', 'un_sdg', 'volcanoes', 'world_factbook', or 'worldpop'."New value: +"Pack identifier from get_catalog. Newly catalog-admitted packs require no MCP schema change."
1 tool update
- Added
get_tool_help
1 tool update
- Changed
get_tsunami_events1 field changed- changed
Input schema / properties / filters / descriptionPrevious value: -"Structured filters including time ranges, region_ids, and compare clauses. Tsunami queries commonly use year-style windows and may use ocean-region ids such as XOO."New value: +"Structured filters including time ranges, region_ids, and compare clauses. Tsunami queries commonly use year-style windows and may use geometry-backed ocean/sea ids such as XSM."
3 tool updates
- Added
get_disaster_link_chain - Added
get_disaster_links_for_event - Added
search_disaster_links
2 tool updates
- Changed
get_pack1 field changed- changed
Input schema / properties / pack_id / descriptionPrevious value: -"Pack identifier such as 'currency', 'earthquakes', 'volcanoes', 'tsunamis', 'hurricanes', 'un_sdg', 'world_factbook', or 'worldpop'."New value: +"Pack identifier such as 'currency', 'earthquakes', 'floods', 'hurricanes', 'tornadoes', 'tsunamis', 'un_sdg', 'volcanoes', 'world_factbook', or 'worldpop'."
- Changed
get_tsunami_events1 field changed- changed
Input schema / properties / filters / descriptionPrevious value: -"Structured filters including time ranges, region_ids, and compare clauses."New value: +"Structured filters including time ranges, region_ids, and compare clauses. Tsunami queries commonly use year-style windows and may use ocean-region ids such as XOO."
1 tool update
- Changed
get_pack1 field changed- changed
Input schema / properties / pack_id / descriptionPrevious value: -"Pack identifier such as 'currency', 'earthquakes', 'volcanoes', 'tsunamis', 'hurricanes', 'un_sdg', or 'world_factbook'."New value: +"Pack identifier such as 'currency', 'earthquakes', 'volcanoes', 'tsunamis', 'hurricanes', 'un_sdg', 'world_factbook', or 'worldpop'."
7 tool updates
- Removed
get_earthquake_events - Removed
get_fx_rates - Removed
get_live_earthquake_events - Removed
get_live_volcano_events - Changed
get_tsunami_events1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of rows to return. Use small limits for largest-wave or latest-event queries."New value: +"Maximum number of rows to return. For largest-wave or latest-event requests, include a narrow time range or region_ids before sorting."
- Removed
get_volcanic_activity - Removed
query_dataset
Related MCP Connectors
Global earthquake events from the USGS, 2150 BC-present: magnitude, depth, location, counts.
Global flood events and extent 1985-present from the Dartmouth Flood Observatory and GFD.
Global volcanic eruptions from the Smithsonian Global Volcanism Program: VEI, location, dates.
Global hurricane and tropical cyclone tracks from IBTrACS/NOAA, 1842-present. Wind and pressure.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceProvides 25 geophysical intelligence tools for multi-hazard risk scoring, earthquake/volcano/tsunami/sinkhole prediction, weather intelligence, insurance underwriting, climate migration, and parametric triggers.MIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search global seismic event data from the European-Mediterranean Seismological Centre's FDSN API, filtering by UTC time range, magnitude, and geographic area, and to retrieve the most recent earthquakes above a minimum magnitude.241 npmMIT
- AlicenseNot gradedqualityDmaintenanceIntegrates multiple earthquake data sources (IRIS, USGS, GNSS) for comprehensive seismic monitoring, analysis, and risk assessment via natural language queries.1MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for querying the CONAPESCA historical fishing landings database (2001–2026) from Mexico's Pacific and Gulf coasts, providing tools to extract and analyze standardized landing records (avisos de arribo).-
Glama MCP Gateway
Add one secure layer between your agents and this server.