Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.
PopNx MCPMCP servers for people who use AI · explained in plain words

Norway Archives

by iandersoversion 0.1.0i★ 0iRuns on your computer
Registry nameio.github.ianderso/norway-archives-mcp

How to install

What it does

Norway's church books, censuses and scans, National Library books, and place names.

  • Connects Runs on your computer
  • Account or key No key needed
  • Category Games, sports, food & learning

Install

Pick the AI app you use, then copy the settings.

Passed 3/3 checks · Runs on your computer

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude, with some setup first

You need a Norway Archives key (create it on the maker’s site) · Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a Norway Archives key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    How to get a key is in the maker’s README below

  3. Open the Claude desktop app’s settings file

    SettingsDeveloperEdit Config

  4. Paste these settings and save the file

    {
      "mcpServers": {
        "norway-archives": {
          "command": "uvx",
          "args": [
            "norway-archives-mcp"
          ],
          "env": {
            "NORWAY_ARCHIVES_CACHE_DIR": "your-value",
            "NORWAY_ARCHIVES_TIMEOUT": "your-value",
            "NORWAY_ARCHIVES_DA_INTERVAL": "your-value",
            "NORWAY_ARCHIVES_DA_DAILY_BUDGET": "your-value",
            "NORWAY_ARCHIVES_CONTACT": "your-value",
            "NORWAY_ARCHIVES_DOWNLOAD_DIR": "your-value"
          }
        }
      }
    }

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Quit Claude and open it again

  6. Try it

    Use Norway Archives and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Norway Archives or shows a Norway Archives tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect Norway Archives yet

Norway Archives runs on your computer, but ChatGPT can only connect servers that run on the web

What you can do instead

A · Use an app that can connect Norway Archives

  • You need a Norway Archives key (create it on the maker’s site) · Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
  • You need a Norway Archives key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)
  • You need a Norway Archives key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)
  • You need a Norway Archives key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)

B · Others in Games, sports, food & learning that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code, with some setup first

You need a Norway Archives key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a Norway Archives key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    How to get a key is in the maker’s README below

  3. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  4. Paste this command and press Enter

    claude mcp add --scope user norway-archives --env NORWAY_ARCHIVES_CACHE_DIR=your-value --env NORWAY_ARCHIVES_TIMEOUT=your-value --env NORWAY_ARCHIVES_DA_INTERVAL=your-value --env NORWAY_ARCHIVES_DA_DAILY_BUDGET=your-value --env NORWAY_ARCHIVES_CONTACT=your-value --env NORWAY_ARCHIVES_DOWNLOAD_DIR=your-value -- uvx norway-archives-mcp

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Type /mcp in Claude Code

    You should see Norway Archives listed as connected

  6. Try it

    Use Norway Archives and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Norway Archives or shows a Norway Archives tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor, with some setup first

You need a Norway Archives key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a Norway Archives key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    How to get a key is in the maker’s README below

  3. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  4. Fill in your key

    In the Norway Archives settings, NORWAY_ARCHIVES_CACHE_DIR, NORWAY_ARCHIVES_TIMEOUT, NORWAY_ARCHIVES_DA_INTERVAL, NORWAY_ARCHIVES_DA_DAILY_BUDGET, NORWAY_ARCHIVES_CONTACT, NORWAY_ARCHIVES_DOWNLOAD_DIR is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Open the AI chat in Cursor in Agent mode

  6. Try it

    Use Norway Archives and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Norway Archives or shows a Norway Archives tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code, with some setup first

You need a Norway Archives key (create it on the maker’s site) · Install Python (uv) on your computer first (one time)

  1. Install Python (uv)

    One time only; it works for every server that needs Python (uv)

    Open the Python (uv) download page ↗

  2. Sign up and create a Norway Archives key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    How to get a key is in the maker’s README below

  3. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  4. Fill in your key

    In the Norway Archives settings, NORWAY_ARCHIVES_CACHE_DIR, NORWAY_ARCHIVES_TIMEOUT, NORWAY_ARCHIVES_DA_INTERVAL, NORWAY_ARCHIVES_DA_DAILY_BUDGET, NORWAY_ARCHIVES_CONTACT, NORWAY_ARCHIVES_DOWNLOAD_DIR is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Open the AI chat in VS Code in Agent mode

  6. Try it

    Use Norway Archives and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Norway Archives or shows a Norway Archives tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

JSON settings are under “For developers” below

Stuck? Ask people who use Norway Archives💬 Discussion →
For developers: Terminal commands and JSON settings

Installed on your computer

Claude Code

claude mcp add --scope user norway-archives --env NORWAY_ARCHIVES_CACHE_DIR=your-value --env NORWAY_ARCHIVES_TIMEOUT=your-value --env NORWAY_ARCHIVES_DA_INTERVAL=your-value --env NORWAY_ARCHIVES_DA_DAILY_BUDGET=your-value --env NORWAY_ARCHIVES_CONTACT=your-value --env NORWAY_ARCHIVES_DOWNLOAD_DIR=your-value -- uvx norway-archives-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "norway-archives": {
      "command": "uvx",
      "args": [
        "norway-archives-mcp"
      ],
      "env": {
        "NORWAY_ARCHIVES_CACHE_DIR": "your-value",
        "NORWAY_ARCHIVES_TIMEOUT": "your-value",
        "NORWAY_ARCHIVES_DA_INTERVAL": "your-value",
        "NORWAY_ARCHIVES_DA_DAILY_BUDGET": "your-value",
        "NORWAY_ARCHIVES_CONTACT": "your-value",
        "NORWAY_ARCHIVES_DOWNLOAD_DIR": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "norway-archives": {
      "command": "uvx",
      "args": [
        "norway-archives-mcp"
      ],
      "env": {
        "NORWAY_ARCHIVES_CACHE_DIR": "your-value",
        "NORWAY_ARCHIVES_TIMEOUT": "your-value",
        "NORWAY_ARCHIVES_DA_INTERVAL": "your-value",
        "NORWAY_ARCHIVES_DA_DAILY_BUDGET": "your-value",
        "NORWAY_ARCHIVES_CONTACT": "your-value",
        "NORWAY_ARCHIVES_DOWNLOAD_DIR": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "norway-archives": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "norway-archives-mcp"
      ],
      "env": {
        "NORWAY_ARCHIVES_CACHE_DIR": "your-value",
        "NORWAY_ARCHIVES_TIMEOUT": "your-value",
        "NORWAY_ARCHIVES_DA_INTERVAL": "your-value",
        "NORWAY_ARCHIVES_DA_DAILY_BUDGET": "your-value",
        "NORWAY_ARCHIVES_CONTACT": "your-value",
        "NORWAY_ARCHIVES_DOWNLOAD_DIR": "your-value"
      }
    }
  }
}

Values you fill in

  • NORWAY_ARCHIVES_CACHE_DIR env
    Directory for the on-disk cache and the daily request count.
  • NORWAY_ARCHIVES_TIMEOUT env
    HTTP timeout in seconds for one request. Image downloads get 120 s to read.
  • NORWAY_ARCHIVES_DA_INTERVAL env
    Least seconds between two Digitalarkivet requests. Never below 5.
  • NORWAY_ARCHIVES_DA_DAILY_BUDGET env
    Most live Digitalarkivet requests per UTC day. Cached answers are free.
  • NORWAY_ARCHIVES_CONTACT env
    An email address or URL appended to the User-Agent, so an archive can reach whoever runs the server.
  • NORWAY_ARCHIVES_DOWNLOAD_DIR env
    An existing folder. When set, the downloads save only inside it; needed to save under ~/Library, such as an iCloud Drive folder.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
23/wk
Connection
Runs on your computer
Latest versioni
0.1.0
Published to registryi
Oct 11, 2026
Code last changedi
Nov 3, 2026
Maker
ianderso
Packages
pypi: norway-archives-mcp
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 12, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account ianderso, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 9 days ago

  • ✓ Pass

    Has a licence

    Uses MIT

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Games, sports, food & learningi

  • More stars than 0% of the other 1468 servers in this category
  • Published to the registry more recently than 43% of the other 1468 servers in this category
  • Basic checks equal to or better than 100% of the other 1468 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Norway Archives safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed 9 days ago, and the latest version (0.1.0) reached the registry 32 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Honcho, ShipSwift, Pm Claude Skills

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Honcho

Memory that reasons: continual learning for stateful agents. Better context, fewer tokens.

by plastic-labsWidely used★ 8.1KUpdated 3 months ago

Runs in the cloud

ShipSwift

40+ production-ready SwiftUI recipes for building full-stack iOS apps via MCP.

by signerlabsWidely used★ 3.3KUpdated 9 months ago

Runs in the cloud

Pm Claude Skills

1310 professional Agent Skills + workflow recipes — searchable & fetchable over MCP.

by mohitagw15856Widely used↓ 2.5K/wk★ 1.5KUpdated 20 days ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

norway-archives-mcp

An MCP server for Norwegian family history: the National Archives' church books, censuses and emigrant lists and their scans, the National Library's books and newspapers, and today's official place names.

  • [Digitalarkivet](https://www.digitalarkivet.no), run by Nasjonalarkivet (the National Archives of Norway), holds the parish registers (*ministerialbøker* and *klokkerbøker*), the censuses of 1801–1920, emigrant protocols, probate records and much more. Some of it is transcribed and searchable; far more is scanned and can only be read page by page. The server does both: it searches the transcriptions, maps a scanned book's lists (baptisms, confirmations, marriages, burials, in- and out-migration) to image numbers, and downloads a page with its permanent id.
  • [Nasjonalbiblioteket](https://www.nb.no) (the National Library) has digitised nearly every Norwegian book and newspaper, including the *bygdebøker*, the farm-by-farm local histories genealogists live in. Many open only from Norwegian addresses, but a search still tells you which page a name is on.
  • [Kartverket](https://www.kartverket.no)'s place-name register gives today's spelling, type and coordinates of a farm or hamlet.

It works the way a careful genealogist does. The scanned page is the evidence. A transcription is a lead (most church-book transcriptions were keyed by contractors for Ancestry, MyHeritage and FamilySearch), and a search that finds nothing has only searched what was transcribed. Every page comes back with its source, archive reference, image number and permanent link, so the citation points at the archive, not at this server.

Nothing here writes anywhere but your own disk, and nothing here keeps a family tree.

Tools

The server publishes thirteen tools. All but the two downloads are read-only; those create one new file each and never overwrite one.

ToolWhat it does
da_search_personsSearch Digitalarkivet's transcribed records by name, historical municipality, list type and years.
da_get_recordRead one record: its fields, everyone named in it, its source, and the permanent id of its scanned page.
da_search_sourcesFind sources by place, period and list, with which lists are scanned and which are searchable.
da_get_sourceDescribe one source and map its scans: archive reference, image count, and the image each list starts on.
da_list_pagesList a source's pages in order, optionally from the start of one list, with permanent ids and links.
da_download_pageDownload one scanned page (church book, census, anything with a page id) with its citation.
nb_searchSearch the National Library's books, newspapers, journals, maps and more.
nb_search_insideFind the pages of one item that mention a word, with snippets and printed page numbers.
nb_get_pageRead one page of an item: its OCR text where the item is open, and its citation.
nb_download_pageDownload one page image of an item that is open where you are.
place_namesSearch Kartverket's register of official place names (farms, hamlets, lakes, mountains).
municipalitiesLook up Digitalarkivet's historical municipalities and their numbers, and the list-type codes. No network.
cache_statusThis session's requests, Digitalarkivet's daily budget, and cache use. No network.

A typical path through an untranscribed list (confirmations, say):

  1. da_search_sources(municipality="Røros", list_type="kf") finds the church books that hold confirmations, and says the confirmations are scanned but not searchable.
  2. da_get_source(source_id=6540) gives the image the confirmations start on.
  3. da_list_pages(source_id=6540, section="kf") lists those pages with their permanent ids.
  4. da_download_page(page_id="kb2007…", destination=…) saves each page to read, with a citation such as *Church book from Røros parish 1860-1878 (1640P), AV/SAT-A-1456/681/L0932, image 171 of 464 (kb20070419660172). Nasjonalarkivet (The National Archives of Norway), Digitalarkivet. https://goto.digitalarkivet.no/kb20070419660172*.

Setup

You need Python 3.11 or later and uv. There is no key to request.

Without cloning. uvx fetches it from PyPI and runs it in one step:

uvx norway-archives-mcp

From a clone, which is what you want if you will change it:

git clone https://github.com/ianderso/norway-archives-mcp

cd norway-archives-mcp uv sync uv run norway-archives-mcp # stdio server, usually launched by the client

Either way the server speaks MCP over stdio, so you will normally let an MCP client start it rather than run it by hand.

Claude Desktop
{

"mcpServers": { "norway-archives": { "command": "uvx", "args": ["norway-archives-mcp"] } } }

A desktop app does not always inherit your shell's PATH. If the server fails to start because uvx cannot be found, give the full path that which uvx prints as the command.

Claude Code
claude mcp add norway-archives -- uvx norway-archives-mcp

Configuration

Nothing is required. A .env file in the directory the server starts in supplies anything the environment does not; only that directory is read.

VariableMeaning
NORWAY_ARCHIVES_CACHE_DIRCache directory, which also holds the daily request count. Default ~/.cache/norway-archives-mcp.
NORWAY_ARCHIVES_TIMEOUTHTTP timeout in seconds for one request. Default 30. Image downloads get 120 to read.
NORWAY_ARCHIVES_DA_INTERVALLeast seconds between two Digitalarkivet requests. Default 5, and never below 5.
NORWAY_ARCHIVES_DA_DAILY_BUDGETMost live Digitalarkivet requests per UTC day. Default 600. Cached answers are free.
NORWAY_ARCHIVES_CONTACTAn email address or URL added to the User-Agent, so an archive can reach you if your use causes trouble. Optional, and courteous.
NORWAY_ARCHIVES_DOWNLOAD_DIRAn existing folder. When set, the downloads save only inside it. Set it to save into an iCloud Drive folder, which lives under ~/Library.

An unusable value is reported on the first tool call as a not_configured result naming the variable.

Being a good guest, and what the terms say

Digitalarkivet publishes no API and no terms-of-use page; its footer links only privacy and accessibility statements. Its reuse page says scans without restrictions "kan disse fritt brukes videre både i trykksaker og på internett": they may be freely reused in print and online, with the holding archive credited (digitalarkivet.no/content/1570). Its robots.txt asks every crawler for five seconds between requests and disallows a list of named bots, AI agents among them. This server is not a crawler: it fetches the pages a researcher asks for, one at a time, at least five seconds apart (configurable upward only), within a daily budget, with a User-Agent that names it. Search, record and source pages are cached as parsed results for 1, 30 and 30 days; manifests for 30; permalink lookups for a year.

The National Library's API is documented and keyless (api.nb.no). Access to each item follows the library's own rules: material marked for Norway opens only from Norwegian addresses (foreign researchers can apply for access to the Bokhylla collection), and this server reports that rather than working around it. One request a second.

Kartverket's place-name API needs no login or authorisation, in its own words "ikke nødvendig med innlogging/autorisasjon" (api.kartverket.no/stedsnavn). Two requests a second at most.

A 429, a 5xx or a dropped connection gets one retry, honouring Retry-After. A bot check is reported as blocked and left alone.

How to read what comes back

  • A transcription is not the record. Read the scanned page (da_download_page) before citing a name, a date or a relationship.
  • A zero is narrow. da_search_persons searches transcribed lists only. da_search_sources shows which lists are scanned but not searchable; confirmations and migration lists often are. Page through them.
  • Municipalities moved. The da_ tools filter by the historical municipalities Digitalarkivet uses (see municipalities); place_names reports today's, after the mergers of 2020 and earlier.
  • Section boundaries are approximate. da_get_source gives the image a list starts on; it usually runs until the next list starts, but books were not always kept in order.
  • Norway-only books still answer. nb_search_inside gives the printed page number of a hit even where the page cannot be shown here.
  • Census pages (ids beginning ft) come from the older viewer at full resolution only.

Deliberately not here

  • Writing anything, or logging in. No tool sends a correction, a report or a message to any service.
  • The Norwegian Historical Population Register (HBR), whose search is a form and whose API is for partners.
  • Norway Heritage, whose terms forbid duplication or redistribution without permission.
  • Working around access rules: Norway-only material, restricted recent records, or bot checks.

Security

Tool arguments are written by a model, and the model reads text this server does not control: record transcriptions, catalogue entries, OCR. The server assumes that text can steer the model, and limits what a steered model can make it do.

  • Which hosts. Requests go only to the three services' fixed hosts over https. Any other host is refused, including addresses taken from a response. Redirects are followed only within one service.
  • How much. A page or JSON answer over 8 MB, or an image over 60 MB, is refused as it streams in.
  • Which files. The downloads create one new file and never overwrite one. The bytes must be a JPEG, judged by their first bytes, and the file must end in .jpg or .jpeg. Never a hidden file or folder, never under ~/Library, and with NORWAY_ARCHIVES_DOWNLOAD_DIR set, never outside it, all judged after links are resolved. A refused download leaves nothing on disk.
  • Arguments are validated (page ids, item ids, record addresses) before they reach a request.
  • Site text is untrusted. The server's instructions tell the model to treat record and catalogue text as material to weigh, never as instructions.

To report a vulnerability, see SECURITY.md.

Development

uv sync --extra dev

uv run pytest # mocked with respx; never touches a site uv run ruff check . uv run ruff format --check . uv run python -m tests.live_check # paced calls to the live services

See CONTRIBUTING.md for how the suite is organised, docs/API-NOTES.md for what was observed of each service and when, and docs/DESIGN.md for why the server is shaped this way.

Credits

The records, scans and catalogue belong to Nasjonalarkivet, Nasjonalbiblioteket and Kartverket. Most church-book transcriptions were made by AMF (Ancestry, MyHeritage and FamilySearch) under agreement with the National Archives.

License

MIT.