Open Archives

io.github.coret/openarchieven-mcp-server · v1.1.1 · ai-and-media

Open Archives is healthy: it completed an MCP handshake in 3442 ms and exposes 22 tools.

MCP server for Open Archives: Dutch genealogical records and historical page transcriptions.

Endpoint: https://mcp.openarchieven.nl/ (streamable-http)

Repository · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count22
Latency3442 ms
Last checked (UTC)2026-10-15T03:20:36.959Z

Health history

Checked (UTC)StatusLatencyError
2026-10-15T03:20:36.959ZHealthy3442

Tools (22)

search_recordsSearch genealogical records Searches the genealogical dataset and returns found persons and records. Supports filtering by archive, source type, event place, birth place, relation type and country. Results are pageable and sortable. Note: version 1.1 uses `archive_code` instead of `archive`.
show_recordShow a single genealogical record Returns one specific genealogical record in JSON format (UTF-8). The response conforms to the Archive 2 All (A2A) model. Also available as XML, GEDCOM, Turtle (TTL) and N-Triples (NT) by changing the file extension in the URL. Note: version 1.1 features improved JS
match_recordMatch a person to birth and death records Searches the genealogical dataset by exact name and birth year and returns the Open Archives URIs of birth records, death records and registrations in which the person is mentioned.
get_births_years_agoList births that occurred a specified number of years ago Returns a list of birth records for people born exactly the specified number of years ago from today. Note: version 1.1 uses `archive_code` instead of `archive` and includes the archive name and record URL.
get_birthsFinds birth records
get_deathsFinds death records
get_marriagesFinds marriage records of couples (bride or groom)
get_archivesList all archives with statistics Returns an array of all participating archives including their archive code (used in other API calls), name, homepage URL, Twitter handle, ISIL code and search URL on Open Archives. Note: version 1.1 adds ISIL codes and removes defunct ArchiefWiki links.
get_record_statsRecord count statistics per archive Returns record count statistics. When no archive is specified, all archives are listed with their total number of records. When an archive code is specified, the source types available for that archive are returned with their individual record counts. Note: versi
get_source_type_statsRecord count statistics per source type Returns statistics about source types. Without an archive_code all source types across the entire dataset are returned with total record counts. With an archive_code, only source types for that archive are returned. Note: version 1.1 uses `archive_code` inste
get_event_type_statsRecord count statistics per event type Returns statistics about event types. Without an archive_code all event types across the entire dataset are returned with total counts. With an archive_code, only event types for that archive are returned. Note: version 1.1 uses `archive_code` instead of `arch
get_comment_statsComment count statistics Returns the total number of validated comments made on records. When no archive_code is provided, the global total is returned. When an archive code is provided, the count for that archive is returned. Note: version 1.1 uses `archive_code` instead of `archive`.
get_family_name_statsFamily name frequency statistics Returns the number of times family names appear in events for the selected source types, place and period. Results are ordered by frequency. Open Archives uses this endpoint to power its family name frequency visualisation.
get_first_name_statsFirst name frequency statistics for a given place and year Returns the top-X list of first names in the specified place and year. When a person has multiple forenames, only the first is counted. Currently only Amsterdam is available as a place.
get_profession_statsProfession frequency statistics Returns the number of times professions appear in records for the selected period and place. Results are ordered by frequency. Open Archives uses this endpoint to power its profession frequency visualisation.
get_breakdownCross-tabulation aggregation grouped by one dimension Returns record counts filtered by any combination of archive, source type, event type, event place and year range, grouped by ONE chosen dimension (archive, sourcetype, eventtype, place or year). Use this endpoint to answer questions such as "ho
get_historical_weatherHistorical weather measurements for a date and location Returns historical weather measurements from the nearest Dutch weather station for the specified date and coordinates. Data sources are the Royal Netherlands Meteorological Institute (KNMI): measurements 1701–1905 and 1901–2014. Note: this end
get_census_dataDutch census data for a place and year Retrieves census data for a Dutch place or municipality for the census year nearest to the specified year. Available census years: 1795, 1830, 1840, 1849, 1859, 1869, 1879, 1889, 1899. Data sources: Volkstellingen.nl (DANS) and Gemeentegeschiedenis.nl. Either
search_transcriptionsFull-text search across page transcriptions Performs a full-text search across the page transcriptions of historical documents indexed by Open Archives. Mirrors the search UI at `/transcripties/zoek.php`. Results are ordered by Elasticsearch relevance (the order is fixed and cannot be overridden) a
browse_transcriptionsBrowse transcriptions hierarchically Returns a hierarchical browse of available page transcriptions. Mirrors `/transcripties/lijst/`. Three modes, depending on the supplied filters: * No filter — top-level list of source archives ordered by total transcription count (descending). * `archive_code` —
show_transcriptionRetrieve a single transcription Returns the full transcript of a single page along with its source citation. Mirrors `/transcripties/toon/<id>`. AI-generated summaries are deliberately not returned by this endpoint.
view_transcriptionOpen one or more transcribed document pages in an interactive deep-zoom viewer with the transcription text alongside. Pass page identifiers returned by search_transcriptions / browse_transcriptions (form <ISIL>_<archive>_<page>, e.g. NL-SdmGA_1504889_11). Optionally highlight a term in the transcrip