unesco-heritage-mcp-server
REMOTE · UNESCO-HERITAGE.CASEYJHAND.COM · 2 COMPONENTS
Search UNESCO World Heritage sites, intangible heritage, biosphere reserves, and Global Geoparks.
Available components
Last scanned (5 hours ago)
Scores higher than 96% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Education and Research
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability73
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 4501 tokens (~450/item across 10 items; 9 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Stability: 0.97 → pass security
- 4 Nov 26 +2
- The server rewrote its instructions, which are the text every model session reads security
- Tool “unesco_search_sites” rewrote its description, which is the text the model reads security
- First check of Schema quality: 100 functional
- Stability: pass → 0.97 functional
- New resource “unesco-heritage-guide” functional
- Server version: 0.2.1 → 0.3.0 functional
- “unesco_search_sites” reworded the description of “query” cosmetic
- “unesco_search_sites” reworded the description of “include_description” cosmetic
- “unesco_list_reference” reworded the description of “topic” cosmetic
- 1 Nov 26 0
- Stability: 0.97 → pass security
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://unesco-heritage.caseyjhand.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=caseyjhand.com | CN=WE1,O=Google Trust Services,C=US | 2 Nov 2026 | 31 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | 995a30681ab772540e934241ca1d576c |
| SANs: caseyjhand.com, *.caseyjhand.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of unesco-heritage.caseyjhand.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| caseyjhand.com. | present | 2371 | 13 | Verified |
| unesco-heritage.caseyjhand.com. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| x-content-type-options | nosniff |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://unesco-heritage.caseyjhand.com/mcp | Verified | 200 | |
| http (plaintext) | http://unesco-heritage.caseyjhand.com/mcp | HTTPS enforced | 301 | https://unesco-heritage.caseyjhand.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
unesco_get_biosphere_reserve Get biosphere reserve ~105
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.
| Name | Type | Req | Description |
|---|---|---|---|
| mab_id | string | yes | The reserve's mab_id, from unesco_search_biosphere_reserves. Case and accents are ignored. |
| Name | Type | Req | Description |
|---|---|---|---|
| area_hectares | object | – | Areas in hectares (unit inferred; undocumented upstream), as recorded — the server computes no totals, and zone sums do not always match the totals. |
| country | string | – | Country name as UNESCO records it. |
| country_code | string | – | ISO 3166-1 alpha-2 code of the reserve country. |
| designation_year | number | – | Year of designation. |
| ecological_characteristics | string | – | Ecological characteristics, when recorded. |
| error | object | – | Present when the call failed. Absent on success. |
| extension_years | array | – | Years the reserve was extended; empty when none. |
| introduction | string | – | UNESCO's introduction to the reserve. |
| latitude | number | – | Representative point latitude. |
| longitude | number | – | Representative point longitude. |
| mab_id | string | – | Biosphere reserve id (mab_id). |
| name | string | – | English name. |
| periodic_review_years | array | – | Years of periodic review; empty when none recorded. |
| population | object | – | Resident population by zone, as recorded; 0 can mean none or unreported, and zone sums do not always match the total. |
| regional_network | string | – | MAB regional network, when the reserve belongs to one. |
| regions | array | – | UNESCO regions the reserve belongs to. |
| renaming_years | array | – | Years the reserve was renamed; empty when none. |
| sids | boolean | – | True when the reserve is in a Small Island Developing State. |
| socio_economic_characteristics | string | – | Socio-economic characteristics, when recorded. |
| sources | array | – | Datasets this response was built from. |
| transboundary | boolean | – | True for a transboundary reserve; each participating country has its own mab_id. |
| url | string | – | The reserve's UNESCO page URL. |
| website | string | – | The reserve's own website, when recorded. |
No examples provided.
unesco_get_geopark Get UNESCO Global Geopark ~110
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.
| Name | Type | Req | Description |
|---|---|---|---|
| ugg_id | string | yes | The geopark's ugg_id, such as EUFR10, from unesco_search_geoparks. Case and surrounding whitespace are ignored. |
| Name | Type | Req | Description |
|---|---|---|---|
| area_hectares | number | – | Area in hectares, as recorded. |
| countries | array | – | Country display names aligned with country_codes. |
| country_codes | array | – | ISO 3166-1 alpha-2 codes of the geopark's countries; a transnational geopark lists each. |
| description | string | – | UNESCO's description of the geopark. |
| designation_year | number | – | Designation year; geoparks UNESCO recognized before the Global Geopark label existed are dated 2015, the year it was created. |
| error | object | – | Present when the call failed. Absent on success. |
| introduction | string | – | UNESCO's introduction to the geopark. |
| latitude | number | – | Latitude of the geopark's point. |
| longitude | number | – | Longitude of the geopark's point. |
| name | string | – | English name. |
| population | number | – | Resident population, as recorded; absent when UNESCO records none, and 0 can mean unreported. |
| sources | array | – | Datasets this response was built from. |
| sustaining_local_communities | string | – | UNESCO's account of how the geopark sustains its local communities. |
| transnational | boolean | – | True when the geopark spans more than one country. |
| ugg_id | string | – | UNESCO Global Geopark id (ugg_id). |
| url | string | – | The geopark's UNESCO page URL. |
| website | string | – | The geopark's own website, when recorded. |
No examples provided.
unesco_get_intangible_heritage_element Get intangible heritage element ~208
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description_language | string | – | 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 pub… |
| ich_ref | string | yes | The 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| concepts | array | – | Primary UNESCO concept terms; empty for the few elements without any. |
| concepts_secondary | array | – | Secondary UNESCO concept terms. |
| countries | array | – | Country display names aligned with country_codes. |
| country_codes | array | – | ISO 3166-1 alpha-2 codes of the countries sharing the element, as UNESCO lists them. |
| description | string | – | UNESCO's description of the element: in English, or in the language description_language names. |
| description_language | string | – | Language of description, present when the description_language input was set: the requested language, or en when UNESCO publishes no description in it. |
| error | object | – | Present when the call failed. Absent on success. |
| ich_ref | string | – | Intangible heritage element reference (ich_ref). |
| image | object | – | Main image with its caption and credit, when UNESCO lists one. |
| inscribed_year | number | – | Inscription year. Elements dated 2008 were incorporated into the Representative List that year after an earlier proclamation. |
| list | string | – | The list the element is inscribed on: Representative List, Urgent Safeguarding List, or Register of Good Safeguarding Practices. |
| multinational | boolean | – | True when more than one country shares the element. |
| name | string | – | English name. |
| name_fr | string | – | French name. |
| notice | string | – | That the description is not in the requested description_language, and why. |
| sources | array | – | Datasets this response was built from. |
| url | string | – | The element's UNESCO page URL. |
| world_heritage_sites | array | – | World Heritage sites UNESCO links to the element; empty when none are linked. |
No examples provided.
unesco_get_site Get World Heritage site ~309
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description_language | string | – | 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… |
| id_no | string | yes | The 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_components | integer | – | 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… |
| Name | Type | Req | Description |
|---|---|---|---|
| area_hectares | number | – | Area in hectares, when recorded. |
| cap | number | – | The max_components applied: the request, or the per-call cap of 1000 when it was larger. |
| category | string | – | Cultural, Natural, or Mixed. |
| components | array | – | Component parts in UNESCO order, up to max_components. |
| components_total | number | – | UNESCO's component count for the site. |
| components_unparsed | number | – | Entries of UNESCO's component list that could not be read and are omitted; 0 normally. |
| country_codes | array | – | ISO 3166-1 alpha-2 codes aligned with states; empty for the one site without a code. |
| criteria | array | – | Inscription criteria in numeral order. |
| danger_listed_year | number | – | Year of the site's current Danger-list entry, when in danger. |
| description | string | – | UNESCO's short description, when recorded: in English, or in the language description_language names. |
| description_language | string | – | 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. |
| error | object | – | Present when the call failed. Absent on success. |
| id_no | string | – | World Heritage id_no. |
| image | object | – | Main image with its credit, when UNESCO lists one. |
| in_danger | boolean | – | True when the site is on the List of World Heritage in Danger. |
| inscribed_year | number | – | Year of inscription. |
| justification | string | – | The statement of Outstanding Universal Value, in English (UNESCO publishes no translation), when recorded. |
| latitude | number | – | Representative point latitude, when recorded. |
| longitude | number | – | Representative point longitude, when recorded. |
| name | string | – | English name. |
| names | object | – | Names in the other UNESCO languages, each present when UNESCO records it. |
| notice | string | – | 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. |
| region | string | – | UNESCO region. |
| secondary_years | array | – | Later years UNESCO's secondary dates list for the site after inscription; empty when none. |
| shown | number | – | Components listed. |
| sources | array | – | Datasets this response was built from. |
| states | array | – | States Parties as UNESCO names them. |
| transboundary | boolean | – | True when the site spans more than one State Party. |
| truncated | boolean | – | True when the list stops at cap with more readable components left. |
| url | string | – | The site's UNESCO page URL. |
No examples provided.
unesco_list_reference List UNESCO reference vocabulary ~402
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.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | Keep 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… |
| topic | string | yes | What 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… |
| Name | Type | Req | Description |
|---|---|---|---|
| biosphere_networks | array | – | MAB regional network rows (topic biosphere_networks). |
| countries | array | – | Country rows sorted by name (topic countries). |
| criteria | array | – | Criteria rows (topic criteria). |
| datasets | array | – | Dataset rows (topic datasets). |
| error | object | – | Present when the call failed. Absent on success. |
| intangible_lists | array | – | Intangible heritage list rows (topic intangible_lists). |
| notice | string | – | Names each dataset that could not load and what the answer leaves out for it, then guidance when the filter matched no entry. |
| regions | array | – | Region rows (topic regions). |
| sources | array | – | Datasets this response was built from. |
| topic | string | – | The topic listed. |
No examples provided.
unesco_search_biosphere_reserves Search biosphere reserves ~688
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.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | ISO 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_… |
| cursor | string | – | Opaque continuation cursor from the previous call's next_cursor. Pass it with the same filters and sort to fetch the next page. |
| designated_from | integer | – | Earliest designation year, inclusive. |
| designated_to | integer | – | Latest designation year, inclusive. |
| include_description | boolean | – | Set 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. |
| limit | integer | – | 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. |
| near | object | – | Only reserves within radius_km of this point. Every reserve has coordinates. |
| query | string | – | Keywords; 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 con… |
| region | string | – | UNESCO 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. |
| regional_network | string | – | MAB regional network, by full name or acronym (AfriMAB, ArabMAB, EABRN, EuroMAB, IberoMAB, SACAM, SeaBRnet), any case. A few reserves belong to no network. |
| sids | boolean | – | true: only reserves in Small Island Developing States. false: only reserves elsewhere. |
| sort | string | – | Result 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. |
| transboundary | boolean | – | true: only transboundary reserves (one row per participating country). false: only single-country reserves. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_filters | object | – | The filters and sort as the server applied them. |
| cap | number | – | The page size applied: limit, or the per-call cap of 50 when limit was larger. |
| error | object | – | Present when the call failed. Absent on success. |
| facets | object | – | Facet counts over the whole match, not just this page. |
| next_cursor | string | – | Pass as cursor, with the same filters and sort, to fetch the next page. Present when more results remain. |
| notice | string | – | Guidance on the result: why nothing matched, caveats, or how to continue paging. |
| reserves | array | – | Matching reserves on this page. |
| shown | number | – | Number of results on this page. |
| sources | array | – | Datasets this response was built from. |
| totalCount | number | – | Total matches across all pages. |
| truncated | boolean | – | True when more results remain beyond this page. |
No examples provided.
unesco_search_geoparks Search UNESCO Global Geoparks ~545
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.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | ISO 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_referen… |
| cursor | string | – | Opaque continuation cursor from the previous call's next_cursor. Pass it with the same filters and sort to fetch the next page. |
| designated_from | integer | – | Earliest designation year, inclusive. |
| designated_to | integer | – | Latest designation year, inclusive. |
| include_description | boolean | – | Set 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. |
| limit | integer | – | 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. |
| near | object | – | Only geoparks within radius_km of this point. Every geopark has one point, which the distance measures. |
| query | string | – | Keywords; 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 qu… |
| sort | string | – | Result 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. |
| transnational | boolean | – | true: only geoparks spanning more than one country. false: only single-country geoparks. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_filters | object | – | The filters and sort as the server applied them. |
| cap | number | – | The page size applied: limit, or the per-call cap of 50 when limit was larger. |
| error | object | – | Present when the call failed. Absent on success. |
| facets | object | – | Facet counts over the whole match, not just this page. |
| geoparks | array | – | Matching geoparks on this page. |
| next_cursor | string | – | Pass as cursor, with the same filters and sort, to fetch the next page. Present when more results remain. |
| notice | string | – | Guidance on the result: why nothing matched, caveats, or how to continue paging. |
| shown | number | – | Number of results on this page. |
| sources | array | – | Datasets this response was built from. |
| totalCount | number | – | Total matches across all pages. |
| truncated | boolean | – | True when more results remain beyond this page. |
No examples provided.
unesco_search_intangible_heritage Search intangible heritage ~563
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.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | ISO 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 (top… |
| cursor | string | – | Opaque continuation cursor from the previous call's next_cursor. Pass it with the same filters and sort to fetch the next page. |
| inscribed_from | integer | – | Earliest inscription year, inclusive. |
| inscribed_to | integer | – | Latest inscription year, inclusive. |
| limit | integer | – | 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. |
| list | string | – | Intangible heritage list: Representative List, Urgent Safeguarding List, or Register of Good Safeguarding Practices (acronyms RL, USL, Art18 accepted). |
| multinational | boolean | – | true: only elements shared by more than one country. false: only single-country elements. |
| query | string | – | Keywords; 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… |
| sort | string | – | Result order. Default: relevance when query is set, else name. relevance needs query. |
| world_heritage_site | string | – | A 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_filters | object | – | The filters and sort as the server applied them. |
| cap | number | – | The page size applied: limit, or the per-call cap of 50 when limit was larger. |
| elements | array | – | Matching elements on this page. |
| error | object | – | Present when the call failed. Absent on success. |
| facets | object | – | Facet counts over the whole match, not just this page. |
| next_cursor | string | – | Pass as cursor, with the same filters and sort, to fetch the next page. Present when more results remain. |
| notice | string | – | Guidance on the result: why nothing matched, caveats, or how to continue paging. |
| shown | number | – | Number of results on this page. |
| sources | array | – | Datasets this response was built from. |
| totalCount | number | – | Total matches across all pages. |
| truncated | boolean | – | True when more results remain beyond this page. |
No examples provided.
unesco_search_sites Search World Heritage sites ~1,019
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), component names, description, or statement of Outstanding Universal Value; name matches rank first, then component matches, which list the components that matched. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Site category: Cultural, Natural, or Mixed. |
| country | string | – | ISO 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 (to… |
| criteria | array | – | Inscription 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,… |
| cursor | string | – | Opaque continuation cursor from the previous call's next_cursor. Pass it with the same filters and sort to fetch the next page. |
| in_danger | boolean | – | true: only sites on the List of World Heritage in Danger. false: only sites not on it. Omit for both. |
| include_description | boolean | – | Set false to leave each row's description out of the response (default true); unesco_get_site returns it. Which sites match, their order, matched_in, and matched_components are unchanged. |
| inscribed_from | integer | – | Earliest inscription year, inclusive. |
| inscribed_to | integer | – | Latest inscription year, inclusive. |
| limit | integer | – | 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. |
| near | object | – | 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 dista… |
| query | string | – | Keywords; every word must match the start of a word in a site's name (any of six languages), component names, description, or statement of Outstanding Universal Value. Case, accents, and punctuation… |
| region | string | – | UNESCO 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). |
| sort | string | – | Result 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. |
| transboundary | boolean | – | true: only sites shared by more than one State Party. false: only single-State sites. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_filters | object | – | The filters and sort as the server applied them. |
| cap | number | – | The page size applied: limit, or the per-call cap of 50 when limit was larger. |
| descriptions_omitted | boolean | – | Present when include_description is false: no row carries its description, which unesco_get_site returns. |
| error | object | – | Present when the call failed. Absent on success. |
| facets | object | – | Facet counts over the whole match, not just this page. |
| next_cursor | string | – | Pass as cursor, with the same filters and sort, to fetch the next page. Present when more results remain. |
| notice | string | – | Guidance on the result: why nothing matched, caveats, or how to continue paging. |
| shown | number | – | Number of results on this page. |
| sites | array | – | Matching sites on this page. |
| sources | array | – | Datasets this response was built from. |
| totalCount | number | – | Total matches across all pages. |
| truncated | boolean | – | True when more results remain beyond this page. |
No examples provided.
How do I install the unesco-heritage-mcp-server server?
unesco-heritage-mcp-server is a hosted endpoint at https://unesco-heritage.caseyjhand.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · unesco-heritage.caseyjhand.com
claude mcp add --transport http cyanheads-unesco-heritage-mcp-server 'https://unesco-heritage.caseyjhand.com/mcp'
What is the unesco-heritage-mcp-server server?
unesco-heritage-mcp-server is listed in the public MCP registry as io.github.cyanheads/unesco-heritage-mcp-server. Search UNESCO World Heritage sites, intangible heritage, biosphere reserves, and Global Geoparks. This page covers its hosted endpoint (https://unesco-heritage.caseyjhand.com/mcp).
Is the unesco-heritage-mcp-server server safe to use?
unesco-heritage-mcp-server scores 88 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the unesco-heritage-mcp-server server expose?
unesco-heritage-mcp-server exposes 9 tools: unesco_search_sites, unesco_get_site, unesco_search_intangible_heritage, unesco_get_intangible_heritage_element, unesco_search_biosphere_reserves, and 4 more. Their descriptions and schemas cost roughly 3,949 tokens of context every time the server is loaded.
Does the unesco-heritage-mcp-server server require authentication?
No. We connected to unesco-heritage-mcp-server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the unesco-heritage-mcp-server server still maintained?
unesco-heritage-mcp-server is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.