Because every result carries a link to the record page, an assistant can build a family tree that is checkable rather than asserted — which is the whole difficulty with genealogy answers from a model. The transcription viewer is the standout: on hosts that support MCP Apps you get the scanned page at deep zoom with its transcript alongside.
An MCP server generated from the Open Archives OpenAPI specification. It exposes the Dutch genealogy dataset — births, deaths, marriages, censuses — along with per-archive statistics, KNMI historical weather, and full-text transcriptions of scanned documents, and returns links back to the record pages on openarchieven.nl.
- search_records, show_record and match_record — search the record set, open one record, and match a person to their birth and death records
- get_births, get_deaths, get_marriages and get_births_years_ago — event-specific lookups, including births from N years ago
- get_archives, get_record_stats, get_source_type_stats, get_event_type_stats and get_comment_stats — which archives exist and how many records each holds, by source and event type
- get_family_name_stats, get_first_name_stats and get_profession_stats — name and profession frequency across the corpus
- get_breakdown — a cross-tabulation grouped by archive, source type, event type, place or year
- get_historical_weather and get_census_data — KNMI weather for a date, and Dutch census data from 1795 to 1899
- search_transcriptions, browse_transcriptions and show_transcription — full-text search over page transcriptions, hierarchical browsing by archive or inventory, and a single page by id
- view_transcription — opens transcribed pages in a deep-zoom IIIF viewer with the transcript beside them, on hosts that render MCP Apps; elsewhere it falls back to a text summary with source URLs
Nothing — Open Archives is a public dataset and the hosted endpoint at https://mcp.openarchieven.nl/ takes no authentication. Add it as a custom connector by URL. Self-hosting needs Node.js 18+, npm and optionally Redis for caching; the upstream API allows 4 requests per second per IP, and the server queues calls through a rate limiter to stay under it.
