A side-by-side look at the Unesco Heritage MCP Server and MCP Libraryofcongress MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Unesco Heritage MCP Server for art & culture work as a local process; choose MCP Libraryofcongress for art & culture as a local process. You can also run both side by side in one mcpServers block.
unesco_search_sites, unesco_get_site, unesco_search_intangible_heritage.search_newspapers, search_items, get_item.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Art & Culture | Art & Culture |
| Quality signal | 56/100 · Good | 60/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 0 |
| Directory activity | 0 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 9 | 4 |
| Full listing | View Unesco Heritage MCP Server | View MCP Libraryofcongress |
unesco_search_sitesSearch World Heritage sites by keyword, country, category, region, criteria, inscription years, Danger-list or transboundary status, or distance from a pointunesco_get_siteFetch a site's full record: statement of Outstanding Universal Value, criteria with meanings, component parts, coordinates, and image creditunesco_search_intangible_heritageSearch the three intangible heritage lists by keyword, country, list, inscription years, multinational status, or linked World Heritage siteunesco_get_intangible_heritage_elementFetch an element's full record: description, list, countries, concept terms, linked sites, and image creditunesco_search_biosphere_reservesSearch biosphere reserves by keyword, country, region, MAB regional network, designation years, transboundary or SIDS status, or distance from a pointunesco_get_biosphere_reserveFetch a reserve's full record: ecological and socio-economic profile, zoned areas and population, review years, and coordinatesunesco_search_geoparksSearch UNESCO Global Geoparks by keyword, country, designation years, transnational status, or distance from a pointunesco_get_geoparkFetch a geopark's full record: introduction, description, account of sustaining local communities, recorded area and population, and coordinatesunesco_list_referenceDecode criteria, countries (name to ISO code), regions, intangible heritage lists, and MAB networks; report dataset coverage and data datessearch_newspapersSearch the text inside digitised American newspaper pages held by the Library of Congress. This reads what optical recognition took off the scanned pages, so it finds a phrase that appears nowhere in a title or a catalogue record. Double quotes change how the Library matches the words, and it decides what they mean: a page can come back carrying the words apart or in another order rather than the phrase as written. What the quotes do to the number of matching pages varies from one query to the next, so run the search both ways rather than expecting either form to return more. 'total' counts the pages that match, and they page: ask for page 2, 3 and so on to see beyond the first answer. It is not a count of how many times the words occur. Each match names the newspaper, the date, the leaf of the issue and the state it was published in, and 'source_url' opens that leaf with the query applied. 'location' keeps to papers published in one state, 'publication' to a single paper, and 'year_from' with 'year_to' to a span of years. A filter matching nothing is dropped and the answer says so. Every match carries 'excerpt_kind', and the excerpts are labelled with it in the text. A 'passage' is the text around the words that matched. A 'page_opening' is the start of the page, sent because the text the Library returned with the row stops before those words appear, so it does not carry the match and quoting it quotes something else. Use search_items instead when looking for a work by its title, creator or subject.search_itemsSearch the Library of Congress catalogue: books, photographs, maps, recordings, films, manuscripts, sheet music and newspaper titles. 'media_type' is required, because the Library keeps a separate catalogue for each kind of thing. This matches titles, creators and catalogue descriptions. It does not read the text inside a scan; use search_newspapers for a phrase printed on a newspaper page. Filters take the words the Library itself uses: 'subject' and 'location' as the rows here spell them, 'language' written in English, 'collection' as list_collections reports it under 'collection_filter'. A filter matching nothing is set aside and the search asked again without it; the answer names what was dropped, and the count it reports is then the unfiltered search's. By default only material with a digitised copy is returned; set 'online_only' to false to take in records the Library holds on a shelf alone. A row carries an 'identifier' get_item takes when it names a record. A row that is a collection the Library gathered names no record: 'is_collection' is true there, 'identifier' is null, and 'source_url' opens the collection.get_itemRead one Library of Congress record by its identifier, as returned by search_items or search_newspapers. An identifier can carry slashes: a single newspaper issue is named by its paper, its date and its edition together. Sections are opt-in: 'basic' is the default and covers what a description needs. 'date' carries only the precision the record's own words support, and 'date_stated' repeats those words, which can be a span of years the record was filed at the opening of. Where the Library has established no date it files the record under a cataloguing code, which 'date_code' carries while 'date' and 'year' stay null. 'citations' returns the ready-made citations the Library publishes for the record. 'resources' lists the served copies, such as page images and downloadable files. 'full_metadata' returns every field the Library publishes for the record, which is large and rarely needed. A long description paginates: when 'next_offset' is not null, call again with 'offset' set to it.list_collectionsList the digital collections of the Library of Congress: bodies of material a curator chose, described and published together. Use it to see what is there before searching, since a collection names a corpus that a query would have to guess at. 'collection_filter' on each row is the wording search_items takes as its 'collection' argument, and 'searchable_media_types' names the catalogues that filter can be sent to. A collection whose 'searchable_media_types' is empty gathers a kind of thing the catalogue search is not divided into, such as web archives; set 'searchable_only' to leave those out. 'item_count' is how many records the collection gathers, which is the size of the corpus rather than the number of rows here.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"unesco-heritage-mcp-server": {
"command": "bunx",
"args": [
"@cyanheads/unesco-heritage-mcp-server@latest"
]
}
}
}
{
"mcpServers": {
"mcp-libraryofcongress": {
"command": "npx",
"args": [
"-y",
"mcp-libraryofcongress"
]
}
}
}