Server definition
- Hash
- sha256:30a626d991c6572b3e5b76b36035081908c0f3add947dcea88d1627899c2016e
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "Criora (https://criora.com) publishes climate and disaster risk for any place on Earth.\n\n- For a general question about a place (\"is it safe\", \"what are the risks\", \"what is happening there\"),\n call assess_place once: it returns this week's forecast risk, hazard events nearby, the long-term\n climate profile and the country's risk profile together.\n- For this week's weather or weather risk, call get_forecast. For events happening now, call\n get_hazards_near. For long-term exposure (floods, sea level rise, heat, drought, water stress),\n call get_climate_profile. For a country, call get_country_profile or compare_countries.\n- Tools take latitude and longitude, or a place name that is resolved to its best match; the answer\n says what the name was resolved to.\n- Cite the data source given in each answer and link criora_url so the reader can see it on the map.\n- Forecast risk is graded on five classes (Very low, Low, Medium, High, Critical); rain, snow and wind\n take precedence over temperature, and heat and cold are graded on UTCI, the felt temperature of a\n person outdoors in the sun.\n- A climate layer with applicable=false does not describe the place (sea-level rise at an inland\n city, snow albedo where no snow lies); give its note instead of its numbers. A layer with\n available=false has no value there; say so, and never read it as zero.\n- A place name is resolved to one point. A layer read on a small cell (flood depth, built-up share,\n elevation, land cover) describes that point, not the whole city; its note says so.\n- From the fourth forecast day the steps are 6-hourly, so a day's maximum and minimum can miss the\n true peak; a day marked partial is cut by the start or end of the forecast window.\n- Forecast values carry the precision in the answer's precision field; do not quote them finer.\n- Criora does not give personal, financial or insurance advice; present its figures as data.\n",
"tools": [
{
"description": "One answer for a place: this week's forecast risk by day, hazard events nearby, the headline\nclimate exposures (heat, flood, sea-level rise, water stress, drought, heavy rain, fire, climate\nzone) and the risk profile of the country it lies in. The best first call for a general\nquestion about a location; get_climate_profile has every climate layer.",
"inputSchema": {
"properties": {
"latitude": {
"anyOf": [
{
"maximum": 90,
"minimum": -90,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude in degrees, WGS84",
"title": "Latitude"
},
"longitude": {
"anyOf": [
{
"maximum": 180,
"minimum": -180,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude in degrees, WGS84",
"title": "Longitude"
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A place name or address, used when latitude and longitude are not given",
"title": "Place"
}
},
"title": "assess_placeArguments",
"type": "object"
},
"name": "assess_place",
"outputSchema": {
"additionalProperties": true,
"title": "assess_placeDictOutput",
"type": "object"
}
},
{
"description": "Several countries side by side on overall risk and each risk dimension, with their ranks.\n\nScores run 0 to 100; higher means more risk. Ranks are among all countries in the Criora Atlas,\n1 being the highest risk.\n",
"inputSchema": {
"properties": {
"countries": {
"description": "ISO3 codes or English names of 2 to 10 countries",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 2,
"title": "Countries",
"type": "array"
}
},
"required": [
"countries"
],
"title": "compare_countriesArguments",
"type": "object"
},
"name": "compare_countries",
"outputSchema": {
"additionalProperties": true,
"title": "compare_countriesDictOutput",
"type": "object"
}
},
{
"description": "Resolve a place name or address to coordinates, best match first.\n\nUseful when a name is ambiguous (several Springfields) and the right candidate must be\nchosen before calling another tool. A city resolves to its centre as OpenStreetMap maps it.\nGeocoding by OpenStreetMap Nominatim, ODbL.\n",
"inputSchema": {
"properties": {
"limit": {
"default": 5,
"description": "How many candidates to return",
"maximum": 10,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"query": {
"description": "A place name or address, in any language",
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "find_placeArguments",
"type": "object"
},
"name": "find_place",
"outputSchema": {
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "find_placeOutput",
"type": "object"
}
},
{
"description": "Long-term climate exposure at a place: every climate layer on the Criora map, read there.\n\nIncludes the latest full year of ERA5 reanalysis, a single year named in each layer's year\nfield rather than a multi-year normal (hottest day, coldest night, hot and frost day counts,\nwind, extreme rain days, UTCI), warming and rainfall change projected to 2050 and 2080 (CMIP6),\nsea level rise (IPCC AR6), coastal and river flood depth by scenario (WRI Aqueduct), water\nstress now and projected, drought (SPI), aridity, burned area, land cover, elevation, land\nsubsidence and the Köppen climate zone. Every value names its source, year, unit, licence and\nthe size of the cell it is read from.\n",
"inputSchema": {
"properties": {
"categories": {
"anyOf": [
{
"items": {
"enum": [
"flooding",
"landcover",
"misc",
"precipitation",
"temperature",
"terrain",
"vegetation",
"water",
"wind"
],
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Limit the answer to these layer categories; all of them when omitted",
"title": "Categories"
},
"latitude": {
"anyOf": [
{
"maximum": 90,
"minimum": -90,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude in degrees, WGS84",
"title": "Latitude"
},
"longitude": {
"anyOf": [
{
"maximum": 180,
"minimum": -180,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude in degrees, WGS84",
"title": "Longitude"
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A place name or address, used when latitude and longitude are not given",
"title": "Place"
}
},
"title": "get_climate_profileArguments",
"type": "object"
},
"name": "get_climate_profile",
"outputSchema": {
"additionalProperties": true,
"title": "get_climate_profileDictOutput",
"type": "object"
}
},
{
"description": "A country's climate and disaster risk from the Criora Atlas.\n\nOverall risk score and class, and scores for climate, nature, social, governance and adaptation,\nwith the country's income group and region. With include_indicators=true, about 160 indicators\n(INFORM Risk Index, ND-GAIN, World Bank) each with its value, year, source and the world and\nregional medians it compares against. Scores run 0 to 100; higher means more risk.\n",
"inputSchema": {
"properties": {
"country": {
"description": "ISO 3166-1 alpha-3 code (e.g. BGD) or English country name",
"title": "Country",
"type": "string"
},
"include_indicators": {
"default": false,
"description": "Add every underlying indicator with its world and regional benchmark",
"title": "Include Indicators",
"type": "boolean"
}
},
"required": [
"country"
],
"title": "get_country_profileArguments",
"type": "object"
},
"name": "get_country_profile",
"outputSchema": {
"additionalProperties": true,
"title": "get_country_profileDictOutput",
"type": "object"
}
},
{
"description": "This week's forecast at a place, and how risky the weather is each day.\n\nPer local day: minimum and maximum temperature, peak precipitation rate, peak wind, and the\nday's forecast risk class with the hazard behind it (heat, cold, wind, rain, snow, freezing\nrain) and its physical reading (UTCI felt temperature, gust speed or rain rate). Steps are\nhourly for the first day, then 3-hourly, then 6-hourly to day seven, and each day gives its\nstep_hours: from the fourth day the minimum and maximum are of 6-hourly steps, so the true\npeak can fall between two of them. A day marked partial is cut by the start or end of the\nwindow. With hourly=true, every step. Source: Environment and Climate Change Canada GDPS\nglobal model, read at its own 15 km cell containing the point.\n",
"inputSchema": {
"properties": {
"hourly": {
"default": false,
"description": "Include every forecast step, not only the daily summary",
"title": "Hourly",
"type": "boolean"
},
"latitude": {
"anyOf": [
{
"maximum": 90,
"minimum": -90,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude in degrees, WGS84",
"title": "Latitude"
},
"longitude": {
"anyOf": [
{
"maximum": 180,
"minimum": -180,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude in degrees, WGS84",
"title": "Longitude"
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A place name or address, used when latitude and longitude are not given",
"title": "Place"
}
},
"title": "get_forecastArguments",
"type": "object"
},
"name": "get_forecast",
"outputSchema": {
"additionalProperties": true,
"title": "get_forecastDictOutput",
"type": "object"
}
},
{
"description": "Disasters and hazards happening now or recently near a place, most severe and most recent first.\n\nWildfires (NASA FIRMS), earthquakes, floods, tropical cyclones, volcanic eruptions and droughts\n(GDACS), US National Weather Service flood, tropical cyclone and fire warnings, and air quality\n(OpenAQ reference monitors), with distance, bearing, severity and time.\nRadius defaults to a sensible distance per event type. At most 25 events are listed; total and\ncounts_by_type cover every event found.\n",
"inputSchema": {
"properties": {
"days": {
"anyOf": [
{
"maximum": 30,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Only events of the last N days",
"title": "Days"
},
"event_types": {
"anyOf": [
{
"items": {
"enum": [
"wildfire",
"earthquake",
"flood",
"cyclone",
"volcano",
"drought",
"air_quality"
],
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Only these kinds of event",
"title": "Event Types"
},
"latitude": {
"anyOf": [
{
"maximum": 90,
"minimum": -90,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Latitude in degrees, WGS84",
"title": "Latitude"
},
"longitude": {
"anyOf": [
{
"maximum": 180,
"minimum": -180,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitude in degrees, WGS84",
"title": "Longitude"
},
"place": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A place name or address, used when latitude and longitude are not given",
"title": "Place"
},
"radius_km": {
"anyOf": [
{
"maximum": 500,
"minimum": 1,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Search radius in km, 1 to 500",
"title": "Radius Km"
}
},
"title": "get_hazards_nearArguments",
"type": "object"
},
"name": "get_hazards_near",
"outputSchema": {
"additionalProperties": true,
"title": "get_hazards_nearDictOutput",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:30a626d991c6572b3e5b76b36035081908c0f3add947dcea88d1627899c2016e | sha256sum