Skip to content

Connect

The server is hosted on Hugging Face. Run yourself, it speaks two transports: stdio (the default, for a client that launches the process) and streamable HTTP (for a client that connects to a URL).

The hosted server

https://riksarkivet-kansallisarkisto-mcp.hf.space/mcp — streamable HTTP, no key, no sign-up.

claude mcp add --transport http kansallisarkisto https://riksarkivet-kansallisarkisto-mcp.hf.space/mcp

For claude.ai, add a custom connector with the same URL. 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.

Running it yourself

A self-run server needs LanceDB tables to search. See Local Install for building them; without them the server still starts, and every tool call answers with a clear missing-table message.

Claude Code — stdio, from a clone

claude mcp add kansallisarkisto -- uv run kansallisarkisto-mcp

Run it from the repository root, or add --cwd /path/to/kansallisarkisto-mcp, so the server resolves data/ next to the project.

Claude Code — streamable HTTP

KA_MCP_TRANSPORT=http uv run kansallisarkisto-mcp   # in one shell
claude mcp add --transport http kansallisarkisto http://localhost:8000/mcp

Claude Desktop / Cursor / Windsurf

Add it as a stdio server invoking uv run kansallisarkisto-mcp with the repository as the working directory, or as a streamable-HTTP server pointed at http://localhost:8000/mcp.

MCP Inspector

make inspect

Verifying the connection

A self-run server logs its table status at boot, to stderr:

INFO ...server: LanceDB at /home/you/kansallisarkisto-mcp/data — tables: df, voudintilit

If it says has no 'df' table or has no 'voudintilit' table, the URI is resolving somewhere without that table — check KA_LANCEDB_URI and the working directory. Over HTTP, /ready answers the same question: 200 once both tables can be searched, 503 with the reason until then.