openarchieven
Registry code: f1c2bcc17b4b6a7e
MCP server for Open Archives: Dutch genealogical records and historical page transcriptions.
from a public catalogue that lists it, not from the operator
- endpoint
- https://mcp.openarchieven.nl/mcp
- door code
- ebb4b2782353f203
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is openarchieven live?
- Yes — it answered the hub's last check (checked 37m ago). It answered 100% of checks over the last 30 days.
- Is openarchieven free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does openarchieven have?
- 22 tools: search_records, match_record, get_marriages, get_first_name_stats, get_historical_weather, search_transcriptions, view_transcription, get_breakdown, ….
- Is openarchieven safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99.6%· all time 99.3%
last good check
of 22 tools
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- used for
- browse historical transcriptions
- list archives with statistics
- find birth records
- find death records
- find marriage records
- takes → gives
- text, data → data
- tools
- 22 reads
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
get_archives reads open 15h ago
List 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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": {} }arguments 5 linesbrowse_transcriptions reads open 15h ago
Browse 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` — list of all archive numbers (archieftoegangen) within that archive, ordered by archive number. * `archive_code` + `archive_number` — list of all inventories within that archive number, ordered by inventory number. The order of items is fixed and cannot be overridden. Results are always returned in full (no paging).
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "lang": { "enum": [ "nl", "en", "de", "fr" ], "type": "string" }, "archive_code": { "type": "string" }, "archive_number": { "type": "string" } }, "additionalProperties": false }arguments 22 linesget_record_stats reads open 37m ago
Record 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: version 1.1 uses `archive_code` instead of `archive`.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "archive_code": { "type": "string" } }, "additionalProperties": false }arguments 10 linesget_profession_stats reads open 7h ago
Profession 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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "lang": { "enum": [ "nl", "en", "de", "fr" ], "type": "string" }, "eventplace": { "type": "string" }, "number_show": { "type": "integer" }, "eventyearend": { "type": "integer", "maximum": 1960, "minimum": 1500 }, "eventyearstart": { "type": "integer", "maximum": 1960, "minimum": 1500 } }, "additionalProperties": false }arguments 32 linesget_comment_stats reads open 15h ago
Comment 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`.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "archive_code": { "type": "string" } }, "additionalProperties": false }arguments 10 linesget_source_type_stats reads open 37m ago
Record 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` instead of `archive`.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "archive_code": { "type": "string" } }, "additionalProperties": false }arguments 10 linesget_census_data reads open 37m ago
Dutch 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 `place` or `gg_uri` must be provided.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "year" ], "properties": { "year": { "type": "integer", "maximum": 1980, "minimum": 1770 }, "place": { "type": "string" }, "gg_uri": { "type": "string" }, "province": { "type": "string" }, "richness": { "enum": [ 1, 2, 3 ], "type": "number" } }, "additionalProperties": false }arguments 32 linesget_family_name_stats reads open 7h ago
Family 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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "lang": { "enum": [ "nl", "en", "de", "fr" ], "type": "string" }, "eventtype": { "enum": [ 0, 1, 2, 3, 6 ], "type": "number" }, "eventplace": { "type": "string" }, "number_show": { "type": "integer", "maximum": 100 }, "eventyearend": { "type": "integer", "maximum": 1960, "minimum": 1500 }, "eventyearstart": { "type": "integer", "maximum": 1960, "minimum": 1500 } }, "additionalProperties": false }arguments 43 linessearch_records reads unknown 20h ago
Search 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`.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "name" ], "properties": { "lang": { "enum": [ "nl", "en" ], "type": "string" }, "name": { "type": "string" }, "sort": { "enum": [ -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6 ], "type": "number" }, "start": { "type": "integer", "maximum": 10000, "minimum": 0 }, "birthplace": { "type": "string" }, "eventplace": { "type": "string" }, "sourcetype": { "type": "string" }, "not_archive": { "enum": [ 0, 1 ], "type": "number" }, "number_show": { "type": "integer", "maximum": 100 }, "archive_code": { "type": "string" }, "country_code": { "type": "string" }, "relationtype": { "type": "string" } }, "additionalProperties": false }arguments 71 linesmatch_record reads unknown 20h ago
Match 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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "name", "birthyear" ], "properties": { "lang": { "enum": [ "nl", "en" ], "type": "string" }, "name": { "type": "string" }, "birthyear": { "type": "integer" } }, "additionalProperties": false }arguments 24 linesget_marriages reads unknown 20h ago
Finds marriage records of couples (bride or groom)
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "name1", "name2" ], "properties": { "name1": { "type": "string" }, "name2": { "type": "string" }, "start": { "type": "integer", "maximum": 10000, "minimum": 0 }, "eventyear": { "type": "integer" }, "eventplace": { "type": "string" }, "number_show": { "type": "integer", "maximum": 100 } }, "additionalProperties": false }arguments 32 linesget_first_name_stats reads unknown 22h ago
First 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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "eventplace", "eventyear" ], "properties": { "eventyear": { "type": "integer", "maximum": 1960, "minimum": 1600 }, "eventplace": { "type": "string" }, "number_show": { "type": "integer", "maximum": 100 } }, "additionalProperties": false }arguments 23 linesget_historical_weather reads unknown 22h ago
Historical 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 endpoint exposes several types of historical datasets, so measurement types and units can vary between records.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "date", "longitude", "latitude" ], "properties": { "date": { "type": "string" }, "lang": { "enum": [ "nl", "en" ], "type": "string" }, "latitude": { "type": "number" }, "longitude": { "type": "number" } }, "additionalProperties": false }arguments 28 linessearch_transcriptions reads unknown 12h ago
Full-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) and are returned paginated. Each match includes a source citation, page identifier and up to five highlighted text fragments. The set of facets returned depends on the supplied filters.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "q" ], "properties": { "q": { "type": "string" }, "lang": { "enum": [ "nl", "en", "de", "fr" ], "type": "string" }, "start": { "type": "integer" }, "year_end": { "type": "integer" }, "year_start": { "type": "integer" }, "number_show": { "type": "integer", "maximum": 100 }, "archive_code": { "type": "string" }, "archive_number": { "type": "string" }, "inventory_number": { "type": "string" } }, "additionalProperties": false }arguments 44 linesview_transcription reads unknown 5h ago
Open 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 transcript. Hosts without MCP Apps support receive a text summary plus inline preview images.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "ids" ], "properties": { "ids": { "type": "array", "items": { "type": "string" }, "maxItems": 20, "minItems": 1, "description": "Transcription page identifiers, e.g. [\"NL-SdmGA_1504889_11\"]." }, "highlight_term": { "type": "string", "description": "Optional term to highlight in the transcription text." } }, "additionalProperties": false }arguments 23 linesget_breakdown reads unknown 5h ago
Cross-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 "how many Bidprentjes per archive?" or "how many marriages per year in Amsterdam?". The response includes the total filtered record count, the total number of distinct groups (capped at 750) and the top-N groups according to the chosen sort.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "group_by" ], "properties": { "lang": { "enum": [ "nl", "en", "de", "fr" ], "type": "string" }, "sort": { "enum": [ "count_desc", "count_asc", "name_asc" ], "type": "string" }, "group_by": { "enum": [ "archive", "sourcetype", "eventtype", "place", "year" ], "type": "string" }, "year_end": { "type": "integer", "maximum": 1960, "minimum": 1500 }, "eventtype": { "enum": [ 0, 1, 2, 3, 6 ], "type": "number" }, "min_count": { "type": "integer", "minimum": 1 }, "eventplace": { "type": "string" }, "sourcetype": { "type": "string" }, "year_start": { "type": "integer", "maximum": 1960, "minimum": 1500 }, "number_show": { "type": "integer", "maximum": 500 }, "archive_code": { "type": "string" } }, "additionalProperties": false }arguments 74 linesshow_transcription reads unknown 5h ago
Retrieve 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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "id" ], "properties": { "id": { "type": "string" }, "lang": { "enum": [ "nl", "en", "de", "fr" ], "type": "string" } }, "additionalProperties": false }arguments 22 linesget_births reads unknown 12h ago
Finds birth records
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "name" ], "properties": { "name": { "type": "string" }, "start": { "type": "integer", "maximum": 10000, "minimum": 0 }, "eventyear": { "type": "integer" }, "eventplace": { "type": "string" }, "number_show": { "type": "integer", "maximum": 100 }, "eventprovince": { "type": "string" } }, "additionalProperties": false }arguments 31 linesshow_record reads unknown 12h ago
Show 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 JSON/XML output and adds N-Triples and Turtle formats.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "archive", "identifier" ], "properties": { "lang": { "enum": [ "nl", "en" ], "type": "string" }, "archive": { "type": "string" }, "identifier": { "type": "string" } }, "additionalProperties": false }arguments 24 linesget_deaths reads unknown 22h ago
Finds death records
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "name" ], "properties": { "name": { "type": "string" }, "start": { "type": "integer", "maximum": 10000, "minimum": 0 }, "eventyear": { "type": "integer" }, "eventplace": { "type": "string" }, "number_show": { "type": "integer", "maximum": 100 } }, "additionalProperties": false }arguments 28 linesget_births_years_ago reads unknown 10h ago
List 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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "years" ], "properties": { "years": { "type": "integer" }, "number_show": { "type": "integer", "maximum": 100 } }, "additionalProperties": false }arguments 17 linesget_event_type_stats reads unknown 7h ago
Record 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 `archive`.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "archive_code": { "type": "string" } }, "additionalProperties": false }arguments 10 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idf1c2bcc17b4b6a7e.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/f1c2bcc17b4b6a7e/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/f1c2bcc17b4b6a7e?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.