Open Archives

io.github.coret由 GitHub 账号 coret 发布v1.1.1更新于 Nov 2, 2026

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

已验证Streamable HTTP可网页运行网页搜索与抓取知识与记忆数据与分析

概览

AI 生成的概览

Open Archives 的远程 MCP 服务器,让助手检索荷兰家谱记录、人口普查数据、历史天气与档案页面转录。

可以做什么
  • 检索与查看家谱记录:按姓名、档案馆、地点、来源类型或事件类型搜索,查看单条记录,将人物匹配到出生与死亡记录,并列出出生、死亡和婚姻记录。
  • 了解档案馆与统计数据:列出参与档案馆,按档案馆、来源类型、事件类型和评论统计记录数量,查询姓氏与职业频率,以及交叉分组汇总。
  • 查询历史背景:获取某地某年的荷兰人口普查数据,以及最近荷兰气象站的历史天气测量值。
  • 处理档案转录:对页面转录做全文检索、按层级浏览、获取单页转录及出处引用,并在深度缩放查看器中打开页面并可高亮词条。
适用场景
适合荷兰祖先、档案馆与地方的家谱与历史研究:追溯家族、确认某人是否出现在出生或死亡记录中,并为叙述补充人口普查、天气或转录背景。也适合查询馆藏统计以及姓名、职业频率。
运行要求
使用托管端点 mcp.openarchieven.nl,作为自定义连接器添加即可,无需安装或身份验证。自行部署需要 Node.js 18+、npm,可选 Redis 用于缓存;配置涉及 PORT、UPSTREAM_BASE、RATE_LIMIT_RPS、REDIS_URL、ALLOWED_ORIGINS 等变量。
安装前请注意
仅对公开数据集做只读查询,不涉及账号或令牌。搜索姓名、记录标识等工具参数会转发给上游 Open Archives API 并写入标准输出日志,因此不要在查询中放入敏感个人信息。深度缩放查看器会从第三方转录图像主机加载图片。上游限制为每 IP 每秒 4 次请求。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Open Archives,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.coret%2Fopenarchieven-mcp-server/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "open-archives": {
      "type": "http",
      "url": "https://mcp.openarchieven.nl/"
    }
  }
}

README

Open Archives MCP Server

Production-grade hybrid MCP + HTTP + SSE server generated from the Open Archives OpenAPI specification. Covers genealogical records (births, deaths, marriages, censuses), archive statistics, historical weather, and full-text page transcriptions of historical documents.

OpenAPI source used to generate tools:

../api/openapi.yaml   (local)https://api.openarchieven.nl/openapi.yaml   (remote)

Overview

A schema-aware server that automatically converts the OpenAPI specification into callable tools and exposes them through multiple transports:

  • MCP Remote (JSON-RPC over StreamableHTTP)
  • HTTP JSON API
  • SSE streaming with auto-pagination
  • Chunked HTTP streaming with auto-pagination
  • Redis caching (optional)
  • Health checks

Video (Dutch): Help AI met jouw erfgoedservices (via MCP)


Use with Claude

Add as a custom connector

A hosted endpoint is available — no installation required.

In claude.ai or Claude Desktop:

  1. Open Settings → Connectors.
  2. Click Add custom connector.
  3. Enter the URL: https://mcp.openarchieven.nl/
  4. Save and approve when prompted.

No authentication is required — Open Archives is a public dataset.

Example queries

Once the connector is added you can ask Claude, for example:

  • "Who are the ancestors of Johannes Gregorius Marinus Coret? Give me an overview, including source citations in markdown format with the links to the original archives if possible, otherwise provide the Open Archieven links and provide a tree in SVG."
  • "Did Johannes Coret and Antonia Uphus have descendants? Give me an overview, including source citations in markdown format with the links to the original archives if possible, otherwise provide the Open Archieven links, include thumbnails from scans from archival sources if available and provide a tree in SVG."
  • "Provide me with a list of sourcetypes per archive(name) where I can find information about the Coret family. Show the result in a markdown document including links to the search pages on Open Archieven. Instead of the archive code use the ISIL if available."
  • "What was the weather in Amsterdam on 1953-02-01?"
  • "What does the 1850 census say about Utrecht?"

Claude will call the matching tool (search_records, show_record, get_marriages, get_historical_weather, get_census_data, …) and return links to the corresponding record pages on https://www.openarchieven.nl.

Self-hosted

The server speaks MCP over Streamable HTTP; there is no stdio distribution. To run your own instance:

bash
git clone https://github.com/coret/openarchieven-mcp-server.gitcd openarchieven-mcp-servernpm installnpm run generate      # builds generated/tools.json from openapi.yamlnpm run build:viewer  # builds dist/viewer.html (the MCP App)npm start             # listens on http://localhost:3001/

Point your MCP client at http://localhost:3001/ (or your own public URL) the same way as the hosted endpoint above.


Core Features

OpenAPI Auto-Generation

Every API operation becomes a tool automatically via generate.ts.

All 21 operations:

Tool NameDescription
search_recordsSearch genealogical records
show_recordShow a single genealogical record
match_recordMatch a person to birth and death records
get_births_years_agoList births from N years ago
get_birthsFind birth records
get_deathsFind death records
get_marriagesFind marriage records
get_archivesList all archives with statistics
get_record_statsRecord count per archive
get_source_type_statsRecord count per source type
get_event_type_statsRecord count per event type
get_comment_statsComment count statistics
get_family_name_statsFamily name frequency
get_first_name_statsFirst name frequency
get_profession_statsProfession frequency
get_breakdownCross-tabulation grouped by archive, source type, event type, place or year
get_historical_weatherHistorical weather from KNMI
get_census_dataDutch census data 1795–1899
search_transcriptionsFull-text search across page transcriptions of historical documents
browse_transcriptionsHierarchically browse transcriptions by source archive, archive number or inventory
show_transcriptionRetrieve a single page transcription by id

Note: The callback (JSONP) parameter present in the upstream API is excluded from all tools — it is irrelevant in an MCP/JSON-RPC context.


Interactive Transcription Viewer (MCP App)

Beyond the 21 auto-generated tools, the server registers one hand-written tool — view_transcription — that opens transcribed pages in an interactive IIIF deep-zoom viewer (OpenSeadragon) with the transcription text alongside, using the MCP Apps extension (io.modelcontextprotocol/ui).

Tool NameDescription
view_transcriptionOpen one or more transcribed pages (ids: ["NL-SdmGA_1504889_11", …]) in a deep-zoom IIIF viewer with the transcript; optional highlight_term
  • Apps-capable hosts (Claude web/desktop, paid custom connectors) render the viewer (ui://openarchieven/viewer.html) in a sandboxed iframe that loads images directly from the transcription image hosts (CSP-allowlisted as *.transkribus.eu, *.archief.nl, *.archieven.nl, *.memorix.nl). Transkribus and the archief.nl iipsrv server provide true IIIF deep zoom; the preserve*.archieven.nl thumbnail hosts render as flat images.
  • Plain hosts receive a graceful fallback: a text summary with the IIIF/source URLs plus a few inline preview images.

The viewer is a single self-contained dist/viewer.html, bundled at build time with npm run build:viewer (vite + vite-plugin-singlefile); it is not listed by the REST GET /tools endpoint, only via MCP tools/list.


Schema-Perfect Validation

Uses actual OpenAPI parameter schemas. Validates:

  • required parameters
  • integer fields
  • number fields
  • enum values
  • minimum / maximum constraints

Multiple Interfaces

MCP Remote (StreamableHTTP)

text
POST /       ← canonical public endpoint (mcp.openarchieven.nl)POST /mcp    ← local / legacy alias

Stateless JSON-RPC transport — a new MCP server instance is created per request.

Origin validation: Browser requests must come from claude.ai, claude.com, or any domain listed in ALLOWED_ORIGINS. Requests with no Origin header (native MCP clients, curl, server-to-server) are accepted. Unknown origins receive HTTP 403.

HTTP JSON

text
GET  /toolsPOST /tools/:name

SSE Streaming (auto-paginating)

text
GET /events/:name

Chunked HTTP Streaming (auto-paginating)

text
POST /stream/:name

Discovery Metadata (/.well-known)

Static, hand-editable JSON files served verbatim from well-known/:

text
GET /.well-known/mcp/server-card.json   ← SEP-1649 MCP Server CardGET /.well-known/mcp.json               ← alias of the server cardGET /.well-known/agent-card.json        ← A2A v0.3 Agent CardGET /.well-known/agent.json             ← alias of the agent card

Edit well-known/mcp-server-card.json and well-known/agent-card.json directly — no restart required (files are read on each request). Responses are sent with Content-Type: application/json; charset=utf-8 and Cache-Control: public, max-age=3600.


Pagination

Streaming endpoints (/events/:name, /stream/:name) automatically paginate through results for endpoints that support a start offset:

  • Increments start by number_show per page
  • Stops when results are exhausted or after 20 pages (safety cap)
  • SSE sends a : heartbeat comment every 10 seconds to keep connections alive

Redis Cache

Optional Redis support.

If Redis is running, upstream responses are cached with a per-tool TTL tuned to the data's volatility:

CategoryTTLTools
Immutable historicalnever expiresget_historical_weather, get_census_data
Slowly-changing metadata7 daysget_archives
Stats aggregations1 dayget_record_stats, get_source_type_stats, get_event_type_stats, get_comment_stats, get_family_name_stats, get_first_name_stats, get_profession_stats, get_breakdown
Individual record lookups1 dayshow_record, show_transcription
Search-style6 hourssearch_records, match_record, get_births, get_deaths, get_marriages, search_transcriptions, browse_transcriptions
Date-boundnext UTC midnightget_births_years_ago

CACHE_TTL (default 3600) is the fallback for any tool not in the map above.

If Redis is unavailable:

  • server still runs normally (degraded mode)

Rate Limiting

The upstream API enforces 4 requests per second per IP. The server queues all upstream calls through a token-bucket rate limiter (configurable via RATE_LIMIT_RPS).


Health Checks

text
GET /health

Project Files

text
generate.tsserver.tstsconfig.jsonpackage.json.env.examplegenerated/  tools.json  spec.json

Requirements

  • Node.js 18+
  • npm
  • optional Redis server

Configuration

Copy .env.example to .env and adjust:

bash
cp .env.example .env
VariableDefaultDescription
PORT3001HTTP port
OPENAPI_PATH../api/openapi.yamlPath or URL to OpenAPI spec
UPSTREAM_BASEhttps://api.openarchieven.nl/1.1Upstream API base URL
RATE_LIMIT_RPS4Upstream requests per second
REDIS_URLredis://localhost:6379/5Redis connection URL (db 5)
CACHE_TTL3600Fallback cache TTL in seconds (used for tools not in the per-tool map; see Redis Cache)
LOG_LEVELinfotrace debug info warn error fatal
NODE_ENV(unset)Set to production for JSON logs (default: pretty-printed)
ALLOWED_ORIGINS(empty)Extra Origin headers allowed on the MCP endpoint (comma-separated). Claude domains and requests without an Origin header are always allowed.

Install

bash
npm install

Generate Tools from OpenAPI YAML

Run from local spec:

bash
npx tsx generate.ts

Or from remote URL:

bash
npx tsx generate.ts https://api.openarchieven.nl/openapi.yaml

Expected result:

text
Generated 21 toolsOutput: generated/tools.json, generated/spec.json

Creates:

text
generated/tools.jsongenerated/spec.json

Start Server

bash
npx tsx server.ts

Expected startup (development — pretty-printed):

text
[12:00:00] INFO: Open Archieven MCP server started    port: 3001    tools: 21    upstream: "https://api.openarchieven.nl/1.1"    rateLimit: "4 req/s"    redis: "redis://localhost:6379/5"    env: "development"

In production (NODE_ENV=production) each log line is a single JSON object.

Server binds to:

text
http://0.0.0.0:3001

Test All Features


1. Health Check

bash
curl http://localhost:3001/health

Expected:

json
{  "ok": true,  "tools": 21,  "redis": false,  "uptime": 1.23}

2. List Tools

bash
curl http://localhost:3001/tools

Expected:

json
[  "search_records",  "show_record",  "match_record",  "get_births_years_ago",  "get_births",  "get_deaths",  "get_marriages",  "get_archives",  "get_record_stats",  "get_source_type_stats",  "get_event_type_stats",  "get_comment_stats",  "get_family_name_stats",  "get_first_name_stats",  "get_profession_stats",  "get_historical_weather",  "get_census_data",  "search_transcriptions",  "browse_transcriptions",  "show_transcription"]

3. Tool Call

bash
curl -X POST http://localhost:3001/tools/search_records \-H "Content-Type: application/json" \-d '{"name":"Coret"}'

4. Show a Single Record

bash
curl -X POST http://localhost:3001/tools/show_record \-H "Content-Type: application/json" \-d '{"archive":"hua","identifier":"E13B9821-C0B0-4AED-B20B-8DE627ED99BD"}'

5. SSE Streaming

bash
curl -N "http://localhost:3001/events/search_records?name=Coret"

Expected stream:

text
event: pagedata: {...}
event: pagedata: {...}
event: donedata: {}

6. Heartbeat Test

Leave SSE open for 15+ seconds — expect periodic keep-alive lines:

text
: heartbeat

7. Chunked HTTP Streaming

bash
curl -N -X POST http://localhost:3001/stream/search_records \-H "Content-Type: application/json" \-d '{"name":"Coret"}'

Expected (newline-delimited JSON):

text
{"query":{...},"response":{"number_found":...,"docs":[...]}}{"query":{...},"response":{"number_found":...,"docs":[...]}}

8. MCP Initialize

bash
curl -X POST http://localhost:3001/ \-H "Content-Type: application/json" \-H "Accept: application/json, text/event-stream" \-d '{  "jsonrpc": "2.0",  "id": 1,  "method": "initialize",  "params": {    "protocolVersion": "2025-03-26",    "capabilities": {},    "clientInfo": { "name": "test", "version": "1.0" }  }}'

9. MCP List Tools

bash
curl -X POST http://localhost:3001/ \-H "Content-Type: application/json" \-H "Accept: application/json, text/event-stream" \-d '{  "jsonrpc": "2.0",  "id": 2,  "method": "tools/list"}'

10. MCP Call Tool

bash
curl -X POST http://localhost:3001/ \-H "Content-Type: application/json" \-H "Accept: application/json, text/event-stream" \-d '{  "jsonrpc": "2.0",  "id": 3,  "method": "tools/call",  "params": {    "name": "search_records",    "arguments": { "name": "Coret" }  }}'

Redis Testing

Start Redis

bash
redis-server

Restart the MCP server. Expected in /health:

json
{ "redis": true }

Without Redis

Stop Redis and restart. Expected:

json
{ "redis": false }

Common Commands

Regenerate after API changes

bash
npx tsx generate.ts

Restart server

bash
npx tsx server.ts

Run tests

bash
npm test

Tests cover the per-tool TTL strategy (cache-ttl.ts) using Node's built-in test runner — no extra dependencies. The coverage test asserts every tool emitted by generate.ts has an explicit TTL entry, so re-running npm run generate after an upstream OpenAPI change will surface any new tool that needs a TTL decision.


Troubleshooting

Generated files missing

bash
npx tsx generate.ts

Port already in use

Linux / macOS:

bash
lsof -i :3001kill -9 <PID>

Windows:

powershell
netstat -ano | findstr :3001taskkill /PID <PID> /F

Redis not connecting

Server runs normally without Redis. Check REDIS_URL in .env.

Rate limit errors (429)

The upstream API allows 4 req/s per IP. The built-in rate limiter queues requests automatically. If you are running multiple server instances, reduce RATE_LIMIT_RPS or use a shared queue.


Privacy Policy

This server is a thin proxy over the public Open Archives API. It does not require user authentication and does not collect personal data of its own.

The full privacy policies of the operators apply in addition to this section:

Data collection

  • Tool arguments (e.g. a search name, an archive code, a record identifier) are received from the MCP client.
  • HTTP request metadata — method, path, status code, latency, and the source IP — is observed by the reverse proxy in front of the hosted endpoint at mcp.openarchieven.nl.
  • No accounts, cookies, tokens, or session identifiers are collected. The server is anonymous-by-design.

Use and storage

  • Tool arguments are forwarded verbatim over HTTPS to https://api.openarchieven.nl/1.1 to fulfill the request, and the upstream response is returned to the caller.
  • Application logs (tool name, arguments, status, latency) are written to stdout via pino. On the hosted endpoint these logs are ephemeral: they are not written to disk and are lost on process restart. Set LOG_LEVEL=warn to suppress argument logging.
  • Cache (optional): when Redis is configured, upstream responses are cached under keys of the form mcp:<tool>:<sorted-params-json>. The cache contains response bodies only; no user identifiers are stored.

Third-party sharing

No data is sent to any service other than the upstream Open Archives API listed above. There are no analytics, telemetry, advertising, or observability third parties involved.

Data retention

DataRetention
Tool arguments and responsesNot persisted by the application
Application logsEphemeral (stdout, lost on restart)
Redis cache entriesPer-tool TTL (6 hours – 7 days; immutable historical lookups never expire). See Redis Cache.
Reverse-proxy access logsPer the hosting provider's standard retention policy

Security

The MCP endpoint validates the Origin header on every request and rejects unknown browser origins (DNS-rebinding defense). All transport is over HTTPS.

External links surfaced to clients

Tool responses include URLs that point to record pages on https://www.openarchieven.nl. The submission declares the following allowed link URI so users are not prompted to confirm each link:

  • https://www.openarchieven.nl

Contact

For privacy questions or requests, contact:


Recommended Production Upgrades

  • HTTPS reverse proxy (nginx / caddy)
  • PM2 or systemd process manager
  • Structured JSON logging (pino / winston)
  • Request tracing (OpenTelemetry)
  • Auth middleware if server is public-facing
  • Shared Redis for multi-instance deployments

Version

text
v1.0

Schema-perfect OpenAPI-generated MCP server for Open Archives.

来源:README.md,提交 782f89f

工具

22

search_records

Search Records

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`.

输入参数langname必填sortstartbirthplaceeventplacesourcetypenot_archivenumber_showarchive_codecountry_coderelationtype

show_record

Show Record

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.

输入参数langarchive必填identifier必填

match_record

Match Record

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.

输入参数langname必填birthyear必填

get_births_years_ago

Births N Years 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.

输入参数years必填number_show

get_births

Find Births

Finds birth records

输入参数name必填starteventyeareventplacenumber_showeventprovince

get_deaths

Find Deaths

Finds death records

输入参数name必填starteventyeareventplacenumber_show

get_marriages

Find Marriages

Finds marriage records of couples (bride or groom)

输入参数name1必填name2必填starteventyeareventplacenumber_show

get_archives

List Archives

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.

无需输入参数。

get_record_stats

Record Stats

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`.

输入参数archive_code

get_source_type_stats

Source-Type Stats

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`.

输入参数archive_code

get_event_type_stats

Event-Type Stats

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`.

输入参数archive_code

get_comment_stats

Comment Stats

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`.

输入参数archive_code

get_family_name_stats

Family-Name Stats

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.

输入参数langeventtypeeventplacenumber_showeventyearendeventyearstart

get_first_name_stats

First-Name Stats

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.

输入参数eventyear必填eventplace必填number_show

get_profession_stats

Profession Stats

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.

输入参数langeventplacenumber_showeventyearendeventyearstart

get_breakdown

Breakdown Stats

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.

输入参数langsortgroup_by必填year_endeventtypemin_counteventplacesourcetypeyear_startnumber_showarchive_code

get_historical_weather

Historical Weather

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.

输入参数date必填langlatitude必填longitude必填

get_census_data

Census Data (1795–1899)

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.

输入参数year必填placegg_uriprovincerichness

search_transcriptions

Search Transcriptions

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.

输入参数q必填langstartyear_endyear_startnumber_showarchive_codearchive_numberinventory_number

browse_transcriptions

Browse Transcriptions

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).

输入参数langarchive_codearchive_number

show_transcription

Show Transcription

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.

输入参数id必填lang

view_transcription

View Transcription (IIIF deep-zoom)

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.

输入参数ids必填highlight_term

版本历史

1
  1. v1.1.1最新Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。