Full-text search over the machine-transcribed Sisältöhaku corpora of Kansallisarkisto, the National Archives of Finland
Hosted on Hugging Face over streamable HTTP — no key, no sign-up:
https://riksarkivet-kansallisarkisto-mcp.hf.space/mcp
claude mcp add --transport http kansallisarkisto \
https://riksarkivet-kansallisarkisto-mcp.hf.space/mcp
Settings → Connectors → Add custom connector, with the URL above.
The Space sleeps after 48 hours without traffic. The first request wakes it, so a client that times out once will usually connect on the second try.
make install
make harvest # df only: 6,876 charters, ~3 s
make ingest-df # builds data/df from .data/df/df.jsonl.gz
claude mcp add kansallisarkisto -- uv run kansallisarkisto-mcp
docker run -p 8000:8000 \
-v "$PWD/data:/data:ro" \
riksarkivet/kansallisarkisto-mcp:latest
The image ships without data: mount a LanceDB directory at /data, or point KA_LANCEDB_URI elsewhere. Without it the server still boots and the tools say so.
make inspect
df_search — Full-text search over Diplomatarium Fennicum: 6,876 medieval charters concerning Finland, 859–1530. Filter by language, place and country of issue, and year range; page with offset.df_get_charter — One charter's full transcript and catalogue record by its DF number, the citable identifier carried on every hit.voudintilit_search — Full-text search over voudintilit: 98,945 pages of the Häme and Satakunta bailiffs' accounts, 1539–1635. Filter by bailiwick, account book and year; every hit cites its reference, account book, year and page, and links to the page image in Astia.voudintilit_get_page — One page's full text by its page id, with the previous and next pages of its volume.tuomiokirjat_search — Full-text search over tuomiokirjat: 7.8 million pages of Finnish lower-court records, 1610–1931, from 223 archives. Filter by archive, series and year; every hit cites its series, signum, year and page, and links to the page image in Astia.tuomiokirjat_get_page — One court-record page's full text by its page id, with the previous and next pages of its volume.bref not brev, konung not kung, Åbo not Turku, Viborg not Viipuri.konungen finds konung, Abo finds Åbo."quoted words" are an exact phrase; bref|breff matches either spelling. On the charters a trailing * is a prefix — lepros* reaches the Latin and German the stemmer does not — while the two page corpora are too large for one, so list spellings or use fuzzy=1.venaja, never venäjä.Parameter reference, corpus notes, and how the server is built and deployed:
Documentation