Skip to main content
Glama

unesco-heritage-mcp-server

Server Details

Search UNESCO World Heritage sites, intangible heritage, biosphere reserves, and Global Geoparks.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.5% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/unesco-heritage-mcp-server
GitHub Stars
2
Server Listing
unesco-heritage-mcp-server

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct UNESCO dataset (World Heritage sites, biosphere reserves, geoparks, intangible heritage) and the get/search split is applied consistently, so no two tools overlap. An agent can unambiguously pick the right dataset and the right operation.

Naming Consistency5/5

All tools share the unesco_ prefix and follow a clean verb_noun pattern (get_*, search_*, list_reference), with singular/plural handled sensibly (get_site vs search_sites). The convention is fully predictable.

Tool Count5/5

Nine tools cover four datasets, each with a search and a full-record get, plus one reference tool for controlled vocabulary. This is a tightly scoped, well-earned set with no filler.

Completeness5/5

For a read-only reference server, the surface is complete: search plus full-record retrieval for every dataset, cross-linking (e.g. intangible heritage to World Heritage sites), and a vocabulary/coverage tool. No obvious read operation is missing and there are no dead ends.

Available Tools

9 tools
unesco_get_biosphere_reserveGet biosphere reserveA
Read-onlyIdempotent
Inspect

Fetch one biosphere reserve's full record by mab_id: its introduction, ecological and socio-economic characteristics, core, buffer, and transition areas (terrestrial and marine, in hectares) with resident population by zone, designation, extension, renaming, and periodic-review years, coordinates, and its UNESCO page.

ParametersJSON Schema
NameRequiredDescriptionDefault
mab_idYesThe reserve's mab_id, from unesco_search_biosphere_reserves. Case and accents are ignored.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNoThe reserve's UNESCO page URL.
nameNoEnglish name.
sidsNoTrue when the reserve is in a Small Island Developing State.
errorNoPresent when the call failed. Absent on success.
mab_idNoBiosphere reserve id (mab_id).
countryNoCountry name as UNESCO records it.
regionsNoUNESCO regions the reserve belongs to.
sourcesNoDatasets this response was built from.
websiteNoThe reserve's own website, when recorded.
latitudeNoRepresentative point latitude.
longitudeNoRepresentative point longitude.
populationNoResident population by zone, as recorded; 0 can mean none or unreported, and zone sums do not always match the total.
country_codeNoISO 3166-1 alpha-2 code of the reserve country.
introductionNoUNESCO's introduction to the reserve.
area_hectaresNoAreas in hectares (unit inferred; undocumented upstream), as recorded — the server computes no totals, and zone sums do not always match the totals.
transboundaryNoTrue for a transboundary reserve; each participating country has its own mab_id.
renaming_yearsNoYears the reserve was renamed; empty when none.
extension_yearsNoYears the reserve was extended; empty when none.
designation_yearNoYear of designation.
regional_networkNoMAB regional network, when the reserve belongs to one.
periodic_review_yearsNoYears of periodic review; empty when none recorded.
ecological_characteristicsNoEcological characteristics, when recorded.
socio_economic_characteristicsNoSocio-economic characteristics, when recorded.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description goes beyond that by disclosing the substantive content of the record (zones in hectares, population by zone, designation/extension/renaming/review years, coordinates), which tells the agent what depth of data it gets in one call.

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?

A single front-loaded sentence that leads with the verb and resource before the payload inventory. The middle field list is dense but each item is informative; it stops short of 5 only because the enumeration could be trimmed given an output schema already exists.

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

Completeness4/5

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

For a one-parameter read tool with full annotation coverage and an output schema, nothing an agent needs to invoke it correctly is missing. The record-content enumeration is arguably redundant with the output schema, but it does no harm and aids routing.

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?

With 100% schema description coverage on a single parameter, the schema already carries the semantics (source tool, case/accent insensitivity, length bounds). The description adds no extra syntax or format guidance, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Fetch one biosphere reserve's full record by mab_id') and enumerates the record's scope, making it trivially distinguishable from siblings like unesco_get_geopark or unesco_get_site. An agent can select it without opening any schema.

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?

The description implies a lookup-by-identifier pattern and the schema notes mab_id comes 'from unesco_search_biosphere_reserves', which hints at the search-then-fetch flow. However, the description itself states no explicit when-to-use condition, no when-not, and does not name any alternative tool.

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

unesco_get_geoparkGet UNESCO Global GeoparkA
Read-onlyIdempotent
Inspect

Fetch one UNESCO Global Geopark's full record by ugg_id: its countries, designation year, transnational status, area and resident population as recorded, coordinates, UNESCO's introduction and description, its account of how the geopark sustains local communities, its own website, and its UNESCO page.

ParametersJSON Schema
NameRequiredDescriptionDefault
ugg_idYesThe geopark's ugg_id, such as EUFR10, from unesco_search_geoparks. Case and surrounding whitespace are ignored.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNoThe geopark's UNESCO page URL.
nameNoEnglish name.
errorNoPresent when the call failed. Absent on success.
ugg_idNoUNESCO Global Geopark id (ugg_id).
sourcesNoDatasets this response was built from.
websiteNoThe geopark's own website, when recorded.
latitudeNoLatitude of the geopark's point.
countriesNoCountry display names aligned with country_codes.
longitudeNoLongitude of the geopark's point.
populationNoResident population, as recorded; absent when UNESCO records none, and 0 can mean unreported.
descriptionNoUNESCO's description of the geopark.
introductionNoUNESCO's introduction to the geopark.
area_hectaresNoArea in hectares, as recorded.
country_codesNoISO 3166-1 alpha-2 codes of the geopark's countries; a transnational geopark lists each.
transnationalNoTrue when the geopark spans more than one country.
designation_yearNoDesignation year; geoparks UNESCO recognized before the Global Geopark label existed are dated 2015, the year it was created.
sustaining_local_communitiesNoUNESCO's account of how the geopark sustains its local communities.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety/behavior profile is covered. The description's enumeration of record contents (countries, designation year, coordinates, etc.) is useful scoping but largely duplicates what the output schema already defines, and it says nothing about errors for a missing/invalid ID.

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?

Front-loaded with the action and key, and a single sentence with no filler. The trailing field enumeration is somewhat list-heavy and overlaps the output schema, but it stays readable and earns its place as a scope signal.

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

Completeness4/5

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 defining return fields, the description only needs to convey what the tool fetches and by what key, which it does. The main omission is that it doesn't mention what happens on an unknown ugg_id.

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 coverage is 100% and the single ugg_id parameter is fully documented in the schema (pattern, max length, case/whitespace handling, example EUFR10). The description adds only 'by ugg_id' with no extra syntax or format detail, so the baseline 3 is correct.

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

Purpose5/5

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

States a specific verb (Fetch) and resource (one UNESCO Global Geopark's full record) with the exact lookup key (ugg_id). It is unambiguous against siblings like unesco_get_site or unesco_get_biosphere_reserve, which return different resource types.

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?

'Fetch one ... by ugg_id' implies this is the retrieval-by-identifier counterpart to unesco_search_geoparks, but the description never names the search sibling or states the precondition (you must already have an ID). Only the input schema points at unesco_search_geoparks as the ID source, so the routing guidance is implicit rather than stated.

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

unesco_get_intangible_heritage_elementGet intangible heritage elementA
Read-onlyIdempotent
Inspect

Fetch one Intangible Cultural Heritage element's full record by ich_ref: its description, the list it is inscribed on, the countries that share it, its inscription year, UNESCO concept terms, the World Heritage sites UNESCO links to it, its UNESCO page, and the main image with its caption and copyright credit. description_language fr returns UNESCO's French description instead of the English one.

ParametersJSON Schema
NameRequiredDescriptionDefault
ich_refYesThe element's ich_ref, from unesco_search_intangible_heritage. A number, a digit string, or the element's ich.unesco.org/en/{RL|USL|Art18}/{ref} page URL.
description_languageNoLanguage of the description UNESCO publishes for the element: en or fr, in any case; UNESCO publishes element descriptions in no other language. Unset returns the English description. When UNESCO publishes none in French, the English one is returned with description_language en, and notice says so.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNoThe element's UNESCO page URL.
listNoThe list the element is inscribed on: Representative List, Urgent Safeguarding List, or Register of Good Safeguarding Practices.
nameNoEnglish name.
errorNoPresent when the call failed. Absent on success.
imageNoMain image with its caption and credit, when UNESCO lists one.
noticeNoThat the description is not in the requested description_language, and why.
ich_refNoIntangible heritage element reference (ich_ref).
name_frNoFrench name.
sourcesNoDatasets this response was built from.
conceptsNoPrimary UNESCO concept terms; empty for the few elements without any.
countriesNoCountry display names aligned with country_codes.
descriptionNoUNESCO's description of the element: in English, or in the language description_language names.
country_codesNoISO 3166-1 alpha-2 codes of the countries sharing the element, as UNESCO lists them.
multinationalNoTrue when more than one country shares the element.
inscribed_yearNoInscription year. Elements dated 2008 were incorporated into the Representative List that year after an earlier proclamation.
concepts_secondaryNoSecondary UNESCO concept terms.
description_languageNoLanguage of description, present when the description_language input was set: the requested language, or en when UNESCO publishes no description in it.
world_heritage_sitesNoWorld Heritage sites UNESCO links to the element; empty when none are linked.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds real value by enumerating the record's contents (list, countries, inscription year, concept terms, linked World Heritage sites, image with caption/copyright) and by disclosing the French fallback: when no French description exists, English is returned with description_language en and a notice.

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?

The verb and identifier are front-loaded in the first clause, followed by a content enumeration and one sentence on the language parameter. Slightly list-heavy, but every clause earns its place and there is no filler.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, yet the description helpfully previews them and covers the language fallback edge case. For a two-parameter get-by-id tool with rich annotations and schema, this is essentially complete.

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%, so both ich_ref and description_language are fully documented in the schema, establishing the baseline of 3. The description only restates the description_language=fr behavior without adding syntax or format detail beyond what the schema already provides.

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

Purpose5/5

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

States a specific verb (Fetch) and resource (one Intangible Cultural Heritage element's full record) keyed by ich_ref. It is clearly distinguishable from the sibling search tools (unesco_search_intangible_heritage) and from the other get_* tools, each of which targets a different UNESCO registry.

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?

Usage is implied by the name and the 'by ich_ref' framing, and the schema notes the ref comes from unesco_search_intangible_heritage. However, the description itself never states when to prefer this over alternatives or any prerequisites, leaving the routing to inference.

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

unesco_get_siteGet World Heritage siteA
Read-onlyIdempotent
Inspect

Fetch one World Heritage site's full record by id_no: its description, statement of Outstanding Universal Value, each inscription criterion with its meaning (criterion (vi) marked as inferred), States Parties, coordinates, area, inscription and later years, Danger-list year, component parts, names in six languages, and the main image with its copyright credit. description_language returns UNESCO's French, Spanish, Russian, Arabic, or Chinese description instead of the English one. Intangible heritage UNESCO links to the site is listed by unesco_search_intangible_heritage with world_heritage_site.

ParametersJSON Schema
NameRequiredDescriptionDefault
id_noYesThe site's World Heritage id_no, from unesco_search_sites. A number, a digit string, or the site's whc.unesco.org/en/list/{id} page URL.
max_componentsNoMaximum component parts to list (default 20). One call lists at most 1000: a larger value, up to 10000, is served as 1000 and notice says so. 0 omits the list but keeps components_total; the largest site has 758 components.
description_languageNoLanguage of the description UNESCO publishes for the site: en, fr, es, ru, ar, or zh, in any case. Unset returns the English description. When UNESCO publishes none in that language, the English one is returned with description_language en, and notice says so. The statement of Outstanding Universal Value is English only.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe max_components applied: the request, or the per-call cap of 1000 when it was larger.
urlNoThe site's UNESCO page URL.
nameNoEnglish name.
errorNoPresent when the call failed. Absent on success.
id_noNoWorld Heritage id_no.
imageNoMain image with its credit, when UNESCO lists one.
namesNoNames in the other UNESCO languages, each present when UNESCO records it.
shownNoComponents listed.
noticeNoThat max_components was above the per-call cap, that the description is not in the requested description_language, how to list more components, or why some are missing.
regionNoUNESCO region.
statesNoStates Parties as UNESCO names them.
sourcesNoDatasets this response was built from.
categoryNoCultural, Natural, or Mixed.
criteriaNoInscription criteria in numeral order.
latitudeNoRepresentative point latitude, when recorded.
in_dangerNoTrue when the site is on the List of World Heritage in Danger.
longitudeNoRepresentative point longitude, when recorded.
truncatedNoTrue when the list stops at cap with more readable components left.
componentsNoComponent parts in UNESCO order, up to max_components.
descriptionNoUNESCO's short description, when recorded: in English, or in the language description_language names.
area_hectaresNoArea in hectares, when recorded.
country_codesNoISO 3166-1 alpha-2 codes aligned with states; empty for the one site without a code.
justificationNoThe statement of Outstanding Universal Value, in English (UNESCO publishes no translation), when recorded.
transboundaryNoTrue when the site spans more than one State Party.
inscribed_yearNoYear of inscription.
secondary_yearsNoLater years UNESCO's secondary dates list for the site after inscription; empty when none.
components_totalNoUNESCO's component count for the site.
danger_listed_yearNoYear of the site's current Danger-list entry, when in danger.
components_unparsedNoEntries of UNESCO's component list that could not be read and are omitted; 0 normally.
description_languageNoLanguage of description, present when the description_language input was set and a description is returned: the requested language, or en when UNESCO publishes no description in it.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so safety is covered. The description adds genuine behavioral context beyond that: the criterion (vi) value is flagged as inferred, the language fallback semantics, and the fact that the statement of Outstanding Universal Value is English-only. Pagination/truncation behavior is disclosed in the schema rather than here, which keeps this at a 4.

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?

Front-loaded with the verb and resource, then a dense but purposeful enumeration of the returned record. The three sentences each carry information; the field list is long but it is the substance of the tool, not filler.

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

Completeness4/5

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

For a three-parameter read tool with an output schema and full annotation coverage, the description is more than sufficient. Enumerating return fields is somewhat redundant given the output schema, but it usefully highlights the inferred-criterion marker and English-only OUV caveat an agent should expect.

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%, so id_no, max_components, and description_language are fully documented in the schema itself. The description restates the language option without adding format or edge-case detail beyond what the schema already provides, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb (Fetch) and resource (one World Heritage site's full record) keyed on id_no, and enumerates the payload contents, which cleanly separates it from the sibling unesco_search_sites and the other unesco_get_* tools for biosphere reserves, geoparks, and intangible heritage.

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

Usage Guidelines4/5

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

The description establishes the usage context (retrieve a single site by identifier, with an option to switch description language) and routes the agent to unesco_search_intangible_heritage with world_heritage_site for linked intangible data. It stops short of explicitly stating when not to use this tool or that id_no must first come from unesco_search_sites, leaving that to the schema.

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

unesco_list_referenceList UNESCO reference vocabularyA
Read-onlyIdempotent
Inspect

List the vocabulary the other unesco_ tools accept and the coverage of the underlying datasets: the ten inscription criteria with their meanings and site counts, the countries in each dataset with their ISO alpha-2 and alpha-3 codes and record counts, the five UNESCO regions, the three intangible heritage lists, the MAB regional networks, and each dataset's record count, license, and data date. Set filter to narrow a topic to matching entries, for example a country name to find its code.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesWhat to list. criteria: the ten inscription criteria (i)–(x) with meanings and site counts, the values of the criteria input of unesco_search_sites. countries: every country with its ISO alpha-2 and alpha-3 codes and counts per dataset, the values of every country input. regions: the five UNESCO regions with codes, the values of the region inputs. intangible_lists: the three intangible heritage lists with acronyms, the values of the list input of unesco_search_intangible_heritage. biosphere_networks: the MAB regional networks with acronyms, the values of the regional_network input of unesco_search_biosphere_reserves. datasets: each dataset with its record count, data date, license, attribution, and coverage notes.
filterNoKeep only entries whose name or code (a criterion's meaning, a dataset's title) contains every word of this text, each word matching at the start of a word. Case, accents, and punctuation are ignored, so the filter must contain at least one letter or digit and at most 16 distinct words. For example, a country name finds its ISO code. For countries, a two- or three-letter ISO code (or UK) keeps exactly that country, as the country inputs read it, and common former or everyday names such as Turkey, Swaziland, or Holland match too.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
topicNoThe topic listed.
noticeNoGuidance when the filter matched no entry.
regionsNoRegion rows (topic regions).
sourcesNoDatasets this response was built from.
criteriaNoCriteria rows (topic criteria).
datasetsNoDataset rows (topic datasets).
countriesNoCountry rows sorted by name (topic countries).
intangible_listsNoIntangible heritage list rows (topic intangible_lists).
biosphere_networksNoMAB regional network rows (topic biosphere_networks).

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is fully covered. The description's added behavioral content — coverage notes, record counts, licenses, data dates — largely restates the per-topic detail already in the schema enum, adding little that is not already structured.

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?

Purpose is front-loaded in the opening clause, but the long enumeration of the six topic categories largely duplicates the schema enum descriptions and makes the first sentence heavy. The filter sentence is concise and earns its place.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and the description still conveys the tool's scope and the filter's purpose. It is essentially complete for a read-only enumerator; the duplication of schema detail is the main redundancy rather than an omission.

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%: both topic and filter are documented in exhaustive detail in the schema itself. The description adds only a single illustrative filter example (country name → code) beyond what the schema already explains, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb (List) and resource (reference vocabulary other unesco_ tools accept), and enumerates exactly what the six topics contain. An agent can immediately distinguish this lookup/support tool from the get_* and search_* siblings without opening any schema.

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

Usage Guidelines4/5

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

The framing 'the vocabulary the other unesco_ tools accept' clearly positions this as the tool to consult to discover valid values (criteria, countries, regions) before calling the search/get tools, and the filter example shows narrowing by country name. It stops short of an explicit 'call this before X / not for Y' routing statement, 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.

unesco_search_biosphere_reservesSearch biosphere reservesA
Read-onlyIdempotent
Inspect

Search the World Network of Biosphere Reserves (UNESCO Man and the Biosphere Programme) by keyword, country, region, MAB regional network, designation year range, transboundary or Small Island Developing States status, or distance from a point. Every keyword must appear at the start of a word in the reserve's name, introduction, or ecological or socio-economic description; there is no biome or ecosystem field, so an ecosystem search is a keyword search such as mangrove or alpine. A country is an ISO 3166-1 alpha-2 or alpha-3 code. A transboundary reserve appears once per participating country, each with its own mab_id. Results page with next_cursor and carry facet counts over the whole match.

ParametersJSON Schema
NameRequiredDescriptionDefault
nearNoOnly reserves within radius_km of this point. Every reserve has coordinates.
sidsNotrue: only reserves in Small Island Developing States. false: only reserves elsewhere.
sortNoResult order. Default: relevance when query is set, else distance when near is set, else name. relevance needs query; distance needs near. area_largest orders by total recorded area.
limitNoMaximum results per page (default 20). A page holds at most 50: a larger limit, up to 10000, is served as 50 and notice says so.
queryNoKeywords; every word must match the start of a word in the reserve's name, introduction, or ecological or socio-economic description. Case, accents, and punctuation are ignored, so the query must contain at least one letter or digit and at most 16 distinct words; no phrases, operators, or fuzzy matching. For an ecosystem, use a habitat word such as mangrove, wetland, or alpine.
cursorNoOpaque continuation cursor from the previous call's next_cursor. Pass it with the same filters and sort to fetch the next page.
regionNoUNESCO region: Africa, Arab States, Asia and the Pacific, Europe and North America, or Latin America and the Caribbean (codes AFR, ARB, APA, EUR, LAC accepted). Matches any of a reserve's regions.
countryNoISO 3166-1 alpha-2 or alpha-3 code, any case (FR, FRA). Matches the reserve's country; a transboundary reserve has one row per participating country. For a country name, look up its code with unesco_list_reference (topic countries).
designated_toNoLatest designation year, inclusive.
transboundaryNotrue: only transboundary reserves (one row per participating country). false: only single-country reserves.
designated_fromNoEarliest designation year, inclusive.
regional_networkNoMAB regional network, by full name or acronym (AfriMAB, ArabMAB, EABRN, EuroMAB, IberoMAB, SACAM, SeaBRnet), any case. A few reserves belong to no network.
include_descriptionNoSet false to leave each row's introduction out of the response (default true); unesco_get_biosphere_reserve returns it. Which reserves match, their order, and matched_in are unchanged.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page size applied: limit, or the per-call cap of 50 when limit was larger.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of results on this page.
facetsNoFacet counts over the whole match, not just this page.
noticeNoGuidance on the result: why nothing matched, caveats, or how to continue paging.
sourcesNoDatasets this response was built from.
reservesNoMatching reserves on this page.
truncatedNoTrue when more results remain beyond this page.
totalCountNoTotal matches across all pages.
next_cursorNoPass as cursor, with the same filters and sort, to fetch the next page. Present when more results remain.
applied_filtersNoThe filters and sort as the server applied them.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/open-world, but the description adds non-obvious behavior: a transboundary reserve appears once per participating country with its own mab_id (so result rows are not one-per-reserve), results page via next_cursor, and facet counts span the whole match rather than the page. It does not mention permissions or rate limits, but those are not the salient risks here.

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?

Four dense sentences, front-loaded with the resource and filter list before the operational caveats. Every sentence carries information, though the keyword-matching rules are repeated in both the description and the query schema, costing a little redundancy.

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

Completeness4/5

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 explain return values, and it still usefully flags the duplicate-row behavior and whole-match facet counts. For a 13-parameter, all-optional search tool this is nearly complete; the only gap is guidance on sibling selection.

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%, so every parameter (query prefix-matching rules, ISO code formats, sort defaults, limit capping at 50, cursor reuse) is already documented in the schema. The description largely restates those constraints rather than adding new semantics, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb (Search) and resource (World Network of Biosphere Reserves, UNESCO MAB Programme) and enumerates the supported filter dimensions. It is clearly distinguishable from siblings like unesco_search_geoparks, unesco_search_sites, and unesco_get_biosphere_reserve without opening any schema.

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 real query-formulation guidance ('there is no biome or ecosystem field, so an ecosystem search is a keyword search such as mangrove or alpine') and the transboundary row semantics, but never says when to pick this tool over unesco_get_biosphere_reserve or the other search_* siblings. Usage is implied rather than routed.

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

unesco_search_geoparksSearch UNESCO Global GeoparksA
Read-onlyIdempotent
Inspect

Search UNESCO Global Geoparks by keyword, country, designation year range, transnational status, or distance from a point. Every keyword must appear at the start of a word in the geopark's name, introduction, description, or account of how it sustains local communities, and name matches rank first. A country is an ISO 3166-1 alpha-2 or alpha-3 code and matches every geopark it takes part in, transnational geoparks included. Geoparks UNESCO recognized before the Global Geopark label existed are dated 2015, the year it was created. Results page with next_cursor and carry facet counts over the whole match.

ParametersJSON Schema
NameRequiredDescriptionDefault
nearNoOnly geoparks within radius_km of this point. Every geopark has one point, which the distance measures.
sortNoResult order. Default: relevance when query is set, else distance when near is set, else name. relevance needs query; distance needs near. area_largest orders by recorded area.
limitNoMaximum results per page (default 20). A page holds at most 50: a larger limit, up to 10000, is served as 50 and notice says so.
queryNoKeywords; every word must match the start of a word in the geopark's name, introduction, description, or account of sustaining local communities. Case, accents, and punctuation are ignored, so the query must contain at least one letter or digit and at most 16 distinct words; no phrases, operators, or fuzzy matching. For a landform, use a word such as volcanic, karst, or fossil.
cursorNoOpaque continuation cursor from the previous call's next_cursor. Pass it with the same filters and sort to fetch the next page.
countryNoISO 3166-1 alpha-2 or alpha-3 code, any case (FR, FRA). Matches every geopark the country takes part in, transnational geoparks included. For a country name, look up its code with unesco_list_reference (topic countries).
designated_toNoLatest designation year, inclusive.
transnationalNotrue: only geoparks spanning more than one country. false: only single-country geoparks.
designated_fromNoEarliest designation year, inclusive.
include_descriptionNoSet false to leave each row's introduction out of the response (default true); unesco_get_geopark returns it. Which geoparks match, their order, and matched_in are unchanged.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page size applied: limit, or the per-call cap of 50 when limit was larger.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of results on this page.
facetsNoFacet counts over the whole match, not just this page.
noticeNoGuidance on the result: why nothing matched, caveats, or how to continue paging.
sourcesNoDatasets this response was built from.
geoparksNoMatching geoparks on this page.
truncatedNoTrue when more results remain beyond this page.
totalCountNoTotal matches across all pages.
next_cursorNoPass as cursor, with the same filters and sort, to fetch the next page. Present when more results remain.
applied_filtersNoThe filters and sort as the server applied them.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world behavior, so the bar is lower, yet the description adds genuinely non-obvious traits: prefix-word matching semantics with name matches ranked first, and the rule that pre-2015 recognized geoparks are dated 2015. It also notes paging via next_cursor and facet counts over the whole match. It does not cover error/rate-limit behavior, but that is a minor omission given annotation coverage.

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?

Purpose is front-loaded in the first sentence, followed by matching semantics and then pagination, so the structure is sound and every sentence carries information. Some sentences are long and compressed, but none is redundant filler.

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?

With 10 parameters, nested objects, and an output schema present, the description supplies the matching model, ranking, dating convention, pagination, and facet behavior, while correctly leaving return shape to the output schema. Nothing an agent needs to call this correctly appears missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes beyond it by explaining ranking ('name matches rank first'), the 2015 dating convention for older designations, and that country matches every geopark the country takes part in including transnational ones — semantic meaning not fully derivable from the schema fields alone.

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

Purpose5/5

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

States a specific verb (Search) and resource (UNESCO Global Geoparks) and enumerates the facet axes (keyword, country, designation year range, transnational, distance). An agent can immediately tell this apart from unesco_get_geopark (single-record fetch) and the other unesco_search_* tools by domain.

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

Usage Guidelines4/5

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

Provides clear usage context and routes one sub-task to a sibling: 'For a country name, look up its code with unesco_list_reference (topic countries)'. It does not explicitly state when to prefer this over unesco_search_sites or other sibling searches, so it falls short of full when/when-not/alternatives coverage.

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

unesco_search_intangible_heritageSearch intangible heritageA
Read-onlyIdempotent
Inspect

Search UNESCO's Intangible Cultural Heritage lists — the Representative List, the Urgent Safeguarding List, and the Register of Good Safeguarding Practices — by keyword, country, list, inscription year range, multinational status, or linked World Heritage site. Every keyword must appear at the start of a word in an element's English or French name, its UNESCO concept terms, or its description, and name matches rank first. A country is an ISO 3166-1 alpha-2 or alpha-3 code and matches every element it shares, multinational elements included. world_heritage_site takes a site's id_no and lists the elements UNESCO links to it. Rows omit the description; read it with unesco_get_intangible_heritage_element. Results page with next_cursor and carry facet counts over the whole match.

ParametersJSON Schema
NameRequiredDescriptionDefault
listNoIntangible heritage list: Representative List, Urgent Safeguarding List, or Register of Good Safeguarding Practices (acronyms RL, USL, Art18 accepted).
sortNoResult order. Default: relevance when query is set, else name. relevance needs query.
limitNoMaximum results per page (default 20). A page holds at most 50: a larger limit, up to 10000, is served as 50 and notice says so.
queryNoKeywords; every word must match the start of a word in an element's English or French name, its UNESCO concept terms, or its description. Case, accents, and punctuation are ignored, so the query must contain at least one letter or digit and at most 16 distinct words; no phrases, operators, or fuzzy matching.
cursorNoOpaque continuation cursor from the previous call's next_cursor. Pass it with the same filters and sort to fetch the next page.
countryNoISO 3166-1 alpha-2 or alpha-3 code, any case (FR, FRA). Matches every element the country shares, multinational elements included. For a country name, look up its code with unesco_list_reference (topic countries).
inscribed_toNoLatest inscription year, inclusive.
multinationalNotrue: only elements shared by more than one country. false: only single-country elements.
inscribed_fromNoEarliest inscription year, inclusive.
world_heritage_siteNoA World Heritage site's id_no (from unesco_search_sites or unesco_get_site); lists the elements UNESCO links to that site. A number, a digit string, or the site's whc.unesco.org/en/list/{id} page URL.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page size applied: limit, or the per-call cap of 50 when limit was larger.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of results on this page.
facetsNoFacet counts over the whole match, not just this page.
noticeNoGuidance on the result: why nothing matched, caveats, or how to continue paging.
sourcesNoDatasets this response was built from.
elementsNoMatching elements on this page.
truncatedNoTrue when more results remain beyond this page.
totalCountNoTotal matches across all pages.
next_cursorNoPass as cursor, with the same filters and sort, to fetch the next page. Present when more results remain.
applied_filtersNoThe filters and sort as the server applied them.

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/openWorld/idempotent annotations, the description discloses real behavior: result rows omit the description field, results page via next_cursor, facet counts span the whole match set, name matches rank first, and a limit above 50 is silently served as 50 with a notice. These are non-obvious traits an agent must know to interpret results and avoid paging errors.

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?

The first sentence front-loads resource and all filter dimensions, then subsequent sentences cover matching rules, pagination, and the description-field caveat. Dense but every sentence carries information; a small amount of redundancy with the schema keeps it from being maximally tight.

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?

With 10 parameters, zero required, an output schema present, and a search tool whose default behavior matters, the description covers matching semantics, defaults, paging, and what is omitted from rows. An agent has everything needed to issue a correct first call and page through results.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3, but the description adds matching semantics: country matches every element it shares including multinational ones, world_heritage_site takes a site id_no, and query keywords must match word starts. Most of this restates the schema, so it earns only modest credit above the structured fields.

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

Purpose5/5

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

Specific verb (Search) plus precise resource (UNESCO's Intangible Cultural Heritage lists) and it enumerates the three lists being searched. It is immediately distinguishable from the sibling unesco_get_intangible_heritage_element, which the description explicitly names as the detail reader.

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

Usage Guidelines4/5

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

It routes the agent to named alternatives for adjacent needs: unesco_get_intangible_heritage_element for descriptions, unesco_list_reference to resolve a country name to a code, and unesco_search_sites/unesco_get_site as the source of world_heritage_site ids. There is no explicit when-not-to-use this tool, but the context is clear.

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

unesco_search_sitesSearch World Heritage sitesA
Read-onlyIdempotent
Inspect

Search the UNESCO World Heritage List by keyword, country, category (Cultural, Natural, Mixed), region, inscription criteria (i)–(x), inscription year range, Danger-list status, transboundary status, or distance from a point. Every keyword must appear at the start of a word in a site's name (any of six languages), description, or statement of Outstanding Universal Value, and name matches rank first. A country is an ISO 3166-1 alpha-2 or alpha-3 code and matches every site it shares, transboundary sites included. Set in_danger to true for the List of World Heritage in Danger; the data records the year of each site's current Danger-list entry but no threat factors. Criterion (vi) is inferred from each site's statement of Outstanding Universal Value and marked as inferred. Results page with next_cursor and carry facet counts over the whole match.

ParametersJSON Schema
NameRequiredDescriptionDefault
nearNoOnly sites within radius_km of this point: a site matches when its representative point or any of its components lies within the radius, and a site with neither never matches. The match and the distance sort use the exact distance to the nearest of those points, which distance_km shows rounded to 0.1 km and never above radius_km.
sortNoResult order. Default: relevance when query is set, else distance when near is set, else name. relevance needs query; distance needs near. Absent areas and Danger years sort last.
limitNoMaximum results per page (default 20). A page holds at most 50: a larger limit, up to 10000, is served as 50 and notice says so.
queryNoKeywords; every word must match the start of a word in a site's name (any of six languages), description, or statement of Outstanding Universal Value. Case, accents, and punctuation are ignored, so the query must contain at least one letter or digit and at most 16 distinct words; no phrases, operators, or fuzzy matching.
cursorNoOpaque continuation cursor from the previous call's next_cursor. Pass it with the same filters and sort to fetch the next page.
regionNoUNESCO region: Africa, Arab States, Asia and the Pacific, Europe and North America, or Latin America and the Caribbean (codes AFR, ARB, APA, EUR, LAC accepted).
countryNoISO 3166-1 alpha-2 or alpha-3 code, any case (FR, FRA). Matches every site the country takes part in, transboundary sites included. For a country name, look up its code with unesco_list_reference (topic countries).
categoryNoSite category: Cultural, Natural, or Mixed.
criteriaNoInscription criteria a site must all carry. (i) A masterpiece of human creative genius. (ii) An important interchange of human values over time or within a cultural area, in architecture, technology, monumental arts, town planning, or landscape design. (iii) A unique or exceptional testimony to a cultural tradition or a civilization, living or vanished. (iv) An outstanding example of a type of building, architectural or technological ensemble, or landscape illustrating significant stages in human history. (v) An outstanding example of traditional human settlement, land use, or sea use representative of a culture or of human interaction with the environment, especially where vulnerable to irreversible change. (vi) Direct association with events, living traditions, ideas, beliefs, or artistic and literary works of outstanding universal significance. (vii) Superlative natural phenomena, or areas of exceptional natural beauty and aesthetic importance. (viii) An outstanding example of a major stage of Earth's history, including the record of life, significant ongoing geological processes, or significant landforms. (ix) An outstanding example of significant ongoing ecological and biological processes in the evolution of ecosystems and communities of plants and animals. (x) The most important natural habitats for in-situ conservation of biological diversity, including those holding threatened species of outstanding universal value. Criterion (vi) is inferred from the statement of Outstanding Universal Value, since UNESCO's criteria fields omit it.
in_dangerNotrue: only sites on the List of World Heritage in Danger. false: only sites not on it. Omit for both.
inscribed_toNoLatest inscription year, inclusive.
transboundaryNotrue: only sites shared by more than one State Party. false: only single-State sites.
inscribed_fromNoEarliest inscription year, inclusive.
include_descriptionNoSet false to leave each row's description out of the response (default true); unesco_get_site returns it. Which sites match, their order, and matched_in are unchanged.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page size applied: limit, or the per-call cap of 50 when limit was larger.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of results on this page.
sitesNoMatching sites on this page.
facetsNoFacet counts over the whole match, not just this page.
noticeNoGuidance on the result: why nothing matched, caveats, or how to continue paging.
sourcesNoDatasets this response was built from.
truncatedNoTrue when more results remain beyond this page.
totalCountNoTotal matches across all pages.
next_cursorNoPass as cursor, with the same filters and sort, to fetch the next page. Present when more results remain.
applied_filtersNoThe filters and sort as the server applied them.
descriptions_omittedNoPresent when include_description is false: no row carries its description, which unesco_get_site returns.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly, idempotent, openWorld); the description adds substantial behavior beyond that: keyword matching is word-prefix across six languages, name matches rank first, criterion (vi) is inferred and flagged as such, Danger-list data carries only the entry year with no threat factors, and results are a cursor-paged set with facet counts computed over the whole match. These are exactly the non-obvious traits an agent needs.

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?

Front-loaded with the searchable dimensions before drilling into matching rules, so an agent gets the gist in the first clause. It is a single dense multi-sentence paragraph with some duplication of schema content, but nearly every sentence carries operational information rather than filler.

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

Completeness4/5

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

For a 14-parameter, nested-object, cursor-paged search with an output schema and full annotations, the description covers the matching semantics, paging model, facet behavior, and the notable criterion (vi) inference caveat. What remains (limit capping, cursor reuse contract, per-field ranges) lives in the schema, so the description is close to complete though not exhaustive.

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%, so the baseline is 3. The description largely restates schema-documented semantics (keyword prefix rules, ISO 3166-1 country codes and transboundary matching, criterion (vi) inference) rather than adding syntax or format detail the schema lacks; its one net-new parameter note is the distance-based matching framing. Credit is limited because the schema already carries the heavy lifting.

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

Purpose5/5

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

States a specific verb (Search) and resource (UNESCO World Heritage List), then enumerates the full filter surface, making it immediately distinguishable from sibling searches (unesco_search_geoparks, unesco_search_biosphere_reserves) and from unesco_get_site. An agent knows exactly which dataset this hits without opening the schema.

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

Usage Guidelines4/5

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

The description gives strong conditional guidance for individual filters (set in_danger to true for the Danger List; country matches every site it shares) and explains sort defaults implicitly via the near/distance and name-ranking notes. It never names an alternative tool or states when NOT to use this one (e.g., when to prefer unesco_get_site for a known site), so it stops short of full when/when-not/alternatives coverage.

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.

  1. 9 tool updates
    • Changedunesco_get_biosphere_reserve1 field changed
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `biosphere_reserve_not_found`: No record carries this mab_id, after folding case and diacritics. `snapshot_unavailable`: No MAB snapshot has loaded yet and the Data Hub is unreachable. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `biosphere_reserve_not_found`: No record carries this mab_id, after folding case and diacritics. `snapshot_unavailable`: No MAB snapshot has loaded yet: the Data Hub is unreachable, failing, or rate-limiting (retryable), or it rejected the request or served data this server cannot use (not retryable). Other values are possible when a failure originates below the handler."
    • Changedunesco_get_geopark1 field changed
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `geopark_not_found`: No record carries this ugg_id, after trimming and uppercasing. `snapshot_unavailable`: No geopark snapshot has loaded yet and the Data Hub is unreachable. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `geopark_not_found`: No record carries this ugg_id, after trimming and uppercasing. `snapshot_unavailable`: No geopark snapshot has loaded yet: the Data Hub is unreachable, failing, or rate-limiting (retryable), or it rejected the request or served data this server cannot use (not retryable). Other values are possible when a failure originates below the handler."
    • Changedunesco_get_intangible_heritage_element5 fields changed
      • addedInput schema / properties / description_language
        Added value: +{
        +  "description": "Language of the description UNESCO publishes for the element: en or fr, in any case; UNESCO publishes element descriptions in no other language. Unset returns the English description. When UNESCO publishes none in French, the English one is returned with description_language en, and notice says so.",
        +  "enum": [
        +    "en",
        +    "fr"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / properties / description / description
        Previous value: -"UNESCO's description of the element."New value: +"UNESCO's description of the element: in English, or in the language description_language names."
      • addedOutput schema / properties / description_language
        Added value: +{
        +  "description": "Language of description, present when the description_language input was set: the requested language, or en when UNESCO publishes no description in it.",
        +  "enum": [
        +    "en",
        +    "fr"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `element_not_found`: No record carries this ich_ref. `snapshot_unavailable`: No intangible heritage snapshot has loaded yet and the Data Hub is unreachable. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `element_not_found`: No record carries this ich_ref. `snapshot_unavailable`: No intangible heritage snapshot has loaded yet: the Data Hub is unreachable, failing, or rate-limiting (retryable), or it rejected the request or served data this server cannot use (not retryable). Other values are possible when a failure originates below the handler."
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "That the description is not in the requested description_language, and why.",
        +  "type": "string"
        +}
    • Changedunesco_get_site10 fields changed
      • addedInput schema / properties / description_language
        Added value: +{
        +  "description": "Language of the description UNESCO publishes for the site: en, fr, es, ru, ar, or zh, in any case. Unset returns the English description. When UNESCO publishes none in that language, the English one is returned with description_language en, and notice says so. The statement of Outstanding Universal Value is English only.",
        +  "enum": [
        +    "en",
        +    "fr",
        +    "es",
        +    "ru",
        +    "ar",
        +    "zh"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / max_components / description
        Previous value: -"Maximum component parts to list (0–1000, default 20). 0 omits the list but keeps components_total; the largest site has 758 components."New value: +"Maximum component parts to list (default 20). One call lists at most 1000: a larger value, up to 10000, is served as 1000 and notice says so. 0 omits the list but keeps components_total; the largest site has 758 components."
      • changedInput schema / properties / max_components / maximum
        Previous value: -1000New value: +10000
      • changedOutput schema / properties / cap / description
        Previous value: -"The max_components that was applied."New value: +"The max_components applied: the request, or the per-call cap of 1000 when it was larger."
      • changedOutput schema / properties / description / description
        Previous value: -"UNESCO's short description, when recorded."New value: +"UNESCO's short description, when recorded: in English, or in the language description_language names."
      • addedOutput schema / properties / description_language
        Added value: +{
        +  "description": "Language of description, present when the description_language input was set and a description is returned: the requested language, or en when UNESCO publishes no description in it.",
        +  "enum": [
        +    "en",
        +    "fr",
        +    "es",
        +    "ru",
        +    "ar",
        +    "zh"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `site_not_found`: No record carries this id_no. `snapshot_unavailable`: No World Heritage snapshot has loaded yet and the Data Hub is unreachable. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `site_not_found`: No record carries this id_no. `snapshot_unavailable`: No World Heritage snapshot has loaded yet: the Data Hub is unreachable, failing, or rate-limiting (retryable), or it rejected the request or served data this server cannot use (not retryable). Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / justification / description
        Previous value: -"The statement of Outstanding Universal Value, when recorded."New value: +"The statement of Outstanding Universal Value, in English (UNESCO publishes no translation), when recorded."
      • changedOutput schema / properties / notice / description
        Previous value: -"How to list more components, or why some are missing."New value: +"That max_components was above the per-call cap, that the description is not in the requested description_language, how to list more components, or why some are missing."
      • changedOutput schema / properties / truncated / description
        Previous value: -"True when the component list was capped at max_components."New value: +"True when the list stops at cap with more readable components left."
    • Changedunesco_list_reference1 field changed
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `snapshot_unavailable`: A dataset the topic reads has not loaded yet and the Data Hub is unreachable. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `snapshot_unavailable`: A dataset the topic reads has not loaded yet: the Data Hub is unreachable, failing, or rate-limiting (retryable), or it rejected the request or served data this server cannot use (not retryable). Other values are possible when a failure originates below the handler."
    • Changedunesco_search_biosphere_reserves6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum results per page (1–50, default 20)."New value: +"Maximum results per page (default 20). A page holds at most 50: a larger limit, up to 10000, is served as 50 and notice says so."
      • changedInput schema / properties / limit / maximum
        Previous value: -50New value: +10000
      • changedOutput schema / properties / applied_filters / properties / limit / description
        Previous value: -"Page size."New value: +"Page size applied: limit, or 50 when limit was larger."
      • changedOutput schema / properties / cap / description
        Previous value: -"The page size (limit) that was applied."New value: +"The page size applied: limit, or the per-call cap of 50 when limit was larger."
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `unknown_country`: country is not a recognized ISO 3166-1 alpha-2 or alpha-3 code, such as a country name or an unassigned code. `invalid_year_range`: designated_from is later than designated_to. `sort_needs_input`: sort relevance without query, or sort distance without near. `cursor_mismatch`: cursor was issued for different filters or sort, or for an earlier data snapshot. `invalid_cursor`: cursor is malformed, or its offset or limit is not a non-negative whole number. `snapshot_unavailable`: No MAB snapshot has loaded yet and the Data Hub is unreachable. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `unknown_country`: country is not a recognized ISO 3166-1 alpha-2 or alpha-3 code, such as a country name or an unassigned code. `invalid_year_range`: designated_from is later than designated_to. `sort_needs_input`: sort relevance without query, or sort distance without near. `cursor_mismatch`: cursor was issued for different filters or sort, or for an earlier data snapshot. `invalid_cursor`: cursor is malformed, or its offset is not a non-negative whole number or its limit not a positive one. `snapshot_unavailable`: No MAB snapshot has loaded yet: the Data Hub is unreachable, failing, or rate-limiting (retryable), or it rejected the request or served data this server cannot use (not retryable). Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / reserves / items / properties / distance_km / description
        Previous value: -"Distance from the near point in km (present when near is set)."New value: +"Distance from the near point in km, rounded to 0.1 km and never above radius_km (present when near is set)."
    • Changedunesco_search_geoparks6 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum results per page (1–50, default 20)."New value: +"Maximum results per page (default 20). A page holds at most 50: a larger limit, up to 10000, is served as 50 and notice says so."
      • changedInput schema / properties / limit / maximum
        Previous value: -50New value: +10000
      • changedOutput schema / properties / applied_filters / properties / limit / description
        Previous value: -"Page size."New value: +"Page size applied: limit, or 50 when limit was larger."
      • changedOutput schema / properties / cap / description
        Previous value: -"The page size (limit) that was applied."New value: +"The page size applied: limit, or the per-call cap of 50 when limit was larger."
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `unknown_country`: country is not a recognized ISO 3166-1 alpha-2 or alpha-3 code, such as a country name or an unassigned code. `invalid_year_range`: designated_from is later than designated_to. `sort_needs_input`: sort relevance without query, or sort distance without near. `cursor_mismatch`: cursor was issued for different filters or sort, or for an earlier data snapshot. `invalid_cursor`: cursor is malformed, or its offset or limit is not a non-negative whole number. `snapshot_unavailable`: No geopark snapshot has loaded yet and the Data Hub is unreachable. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `unknown_country`: country is not a recognized ISO 3166-1 alpha-2 or alpha-3 code, such as a country name or an unassigned code. `invalid_year_range`: designated_from is later than designated_to. `sort_needs_input`: sort relevance without query, or sort distance without near. `cursor_mismatch`: cursor was issued for different filters or sort, or for an earlier data snapshot. `invalid_cursor`: cursor is malformed, or its offset is not a non-negative whole number or its limit not a positive one. `snapshot_unavailable`: No geopark snapshot has loaded yet: the Data Hub is unreachable, failing, or rate-limiting (retryable), or it rejected the request or served data this server cannot use (not retryable). Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / geoparks / items / properties / distance_km / description
        Previous value: -"Distance from the near point in km (present when near is set)."New value: +"Distance from the near point in km, rounded to 0.1 km and never above radius_km (present when near is set)."
    • Changedunesco_search_intangible_heritage5 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum results per page (1–50, default 20)."New value: +"Maximum results per page (default 20). A page holds at most 50: a larger limit, up to 10000, is served as 50 and notice says so."
      • changedInput schema / properties / limit / maximum
        Previous value: -50New value: +10000
      • changedOutput schema / properties / applied_filters / properties / limit / description
        Previous value: -"Page size."New value: +"Page size applied: limit, or 50 when limit was larger."
      • changedOutput schema / properties / cap / description
        Previous value: -"The page size (limit) that was applied."New value: +"The page size applied: limit, or the per-call cap of 50 when limit was larger."
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `unknown_country`: country is not a recognized ISO 3166-1 alpha-2 or alpha-3 code, such as a country name or an unassigned code. `invalid_year_range`: inscribed_from is later than inscribed_to. `sort_needs_input`: sort relevance without query. `cursor_mismatch`: cursor was issued for different filters or sort, or for an earlier data snapshot. `invalid_cursor`: cursor is malformed, or its offset or limit is not a non-negative whole number. `snapshot_unavailable`: No intangible heritage snapshot has loaded yet and the Data Hub is unreachable. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `unknown_country`: country is not a recognized ISO 3166-1 alpha-2 or alpha-3 code, such as a country name or an unassigned code. `invalid_year_range`: inscribed_from is later than inscribed_to. `sort_needs_input`: sort relevance without query. `cursor_mismatch`: cursor was issued for different filters or sort, or for an earlier data snapshot. `invalid_cursor`: cursor is malformed, or its offset is not a non-negative whole number or its limit not a positive one. `snapshot_unavailable`: No intangible heritage snapshot has loaded yet: the Data Hub is unreachable, failing, or rate-limiting (retryable), or it rejected the request or served data this server cannot use (not retryable). Other values are possible when a failure originates below the handler."
    • Changedunesco_search_sites8 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum results per page (1–50, default 20)."New value: +"Maximum results per page (default 20). A page holds at most 50: a larger limit, up to 10000, is served as 50 and notice says so."
      • changedInput schema / properties / limit / maximum
        Previous value: -50New value: +10000
      • changedInput schema / properties / near / description
        Previous value: -"Only sites within radius_km of this point: a site matches when its representative point or any of its components lies within the radius, and a site with neither never matches. distance_km and the distance sort use the nearest of those points."New value: +"Only sites within radius_km of this point: a site matches when its representative point or any of its components lies within the radius, and a site with neither never matches. The match and the distance sort use the exact distance to the nearest of those points, which distance_km shows rounded to 0.1 km and never above radius_km."
      • changedOutput schema / properties / applied_filters / properties / limit / description
        Previous value: -"Page size."New value: +"Page size applied: limit, or 50 when limit was larger."
      • changedOutput schema / properties / cap / description
        Previous value: -"The page size (limit) that was applied."New value: +"The page size applied: limit, or the per-call cap of 50 when limit was larger."
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `unknown_country`: country is not a recognized ISO 3166-1 alpha-2 or alpha-3 code, such as a country name or an unassigned code. `invalid_year_range`: inscribed_from is later than inscribed_to. `sort_needs_input`: sort relevance without query, or sort distance without near. `cursor_mismatch`: cursor was issued for different filters or sort, or for an earlier data snapshot. `invalid_cursor`: cursor is malformed, or its offset or limit is not a non-negative whole number. `snapshot_unavailable`: No World Heritage snapshot has loaded yet and the Data Hub is unreachable, erroring, or rate-limiting. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `unknown_country`: country is not a recognized ISO 3166-1 alpha-2 or alpha-3 code, such as a country name or an unassigned code. `invalid_year_range`: inscribed_from is later than inscribed_to. `sort_needs_input`: sort relevance without query, or sort distance without near. `cursor_mismatch`: cursor was issued for different filters or sort, or for an earlier data snapshot. `invalid_cursor`: cursor is malformed, or its offset is not a non-negative whole number or its limit not a positive one. `snapshot_unavailable`: No World Heritage snapshot has loaded yet: the Data Hub is unreachable, failing, or rate-limiting (retryable), or it rejected the request or served data this server cannot use (not retryable). Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / sites / items / properties / distance_km / description
        Previous value: -"Distance in km from the near point to the nearest of the site's representative point and its components (present when near is set)."New value: +"Distance in km from the near point to the nearest of the site's representative point and its components, rounded to 0.1 km and never above radius_km (present when near is set)."
      • changedOutput schema / properties / sites / items / properties / nearest_component / description
        Previous value: -"The component distance_km is measured to; present when near is set and a component is nearer than the representative point at distance_km precision (0.1 km; a tie keeps the representative point), or the site has no representative point."New value: +"The component distance_km is measured to; present when near is set and a component is strictly nearer than the representative point before rounding (an exact tie keeps the representative point), or the site has no representative point."
  2. 9 tool updates
    • First observedunesco_get_biosphere_reserve
    • First observedunesco_get_geopark
    • First observedunesco_get_intangible_heritage_element
    • First observedunesco_get_site
    • First observedunesco_list_reference
    • First observedunesco_search_biosphere_reserves
    • First observedunesco_search_geoparks
    • First observedunesco_search_intangible_heritage
    • First observedunesco_search_sites

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables searching for national-standard scenic areas, rural tourism villages, accommodations (including restaurants, guesthouses, and starred hotels), and outbound travel agencies, with filtering by region, category, and business status.
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables access to the National Register of Immovable Cultural Heritage of Georgia (the country), allowing searches for heritage objects by name, place, category, and status, retrieval of full object details with coordinates and listing decrees, discovery of nearby monuments, and browsing of registered museums with contact information.
    9 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Remote MCP server for the UNESCO Institute for Statistics (UIS): ~5,000 indicators on education, science/R&D, culture and communication by country, region and year — hosted, nothing to install, no API key, with source URL, data release, retrieval timestamp and licence on every answer.
    5
    282 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.