{
  "markdown": "# norwegian-data-mcp\n\nNorwegian public data in your AI assistant: companies, statistics, addresses, property. One MCP server, zero API keys, zero signup.\n\nAsk Claude (or any MCP client) things like *\"who is on the board of Equinor and what was their revenue last year?\"* or *\"how has Norwegian inflation moved this year?\"* and it answers from the official registers, with sources.\n\n## Install\n\nClaude Code:\n\n```\nclaude mcp add norway -- uvx norwegian-data-mcp\n```\n\nClaude Desktop (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"norway\": {\n      \"command\": \"uvx\",\n      \"args\": [\"norwegian-data-mcp\"]\n    }\n  }\n}\n```\n\nAny other MCP client: run `uvx norwegian-data-mcp` (or `pip install norwegian-data-mcp` and run `norwegian-data-mcp`) as a stdio server.\n\n## Tools\n\n| Tool | Answers | Source |\n|---|---|---|\n| `search_companies` | \"find companies that...\" | Brønnøysundregistrene |\n| `get_company` | full company record by orgnr | Brønnøysundregistrene |\n| `get_company_roles` | board, CEO, auditor | Brønnøysundregistrene |\n| `get_company_financials` | latest filed revenue, profit, balance sheet | Regnskapsregisteret |\n| `get_group_structure` | subsidiaries and ownership stakes as a tree | Brønnøysundregistrene |\n| `search_statistics` | find any of SSB's ~7,000 tables | SSB (Statistics Norway) |\n| `get_table_info` | a table's variables and value codes | SSB |\n| `get_statistics` | the numbers, as compact CSV | SSB |\n| `get_key_series` | CPI, population, unemployment, house prices, wages, interest rates in one call | SSB |\n| `get_exchange_rates` | daily NOK rates for any currency | Norges Bank |\n| `search_address` | address to coordinates + gnr/bnr | Kartverket |\n| `reverse_geocode` | coordinates to nearest addresses | Kartverket |\n| `get_property` | cadastral parcel location and boundary | Kartverket |\n| `get_place` | mountains, lakes, farms to coordinates | Kartverket |\n\n## Try these\n\n- \"Who is on the board of Equinor, and what was their revenue last year?\"\n- \"Find all breweries in Bergen. Any of them bankrupt?\"\n- \"What's Norway's inflation rate right now, and how does the last year look?\"\n- \"Population of Oslo over the last 10 years.\"\n- \"What are the coordinates and gnr/bnr of Karl Johans gate 22, Oslo?\"\n- \"Norwegian mortgage and policy interest rates over the last two years.\"\n- \"How has the krone moved against the dollar and euro this month?\"\n- \"Map Equinor's subsidiaries with ownership stakes.\"\n\n## How responses look\n\nEvery tool returns a compact JSON envelope: the data (statistics come as CSV, the most token-efficient table format), a `hints` list that tells the model how to narrow or continue, and a `source` string naming the register and license. Responses are capped in size; SSB's dense JSON-stat2 cubes are flattened to plain tables with time on the rows.\n\nWhen SSB closes a table (it happens: CPI table 03013 was replaced by 14700 in 2026), the server reads the succession note and follows or suggests the successor instead of failing.\n\n## Data sources and licenses\n\n| Register | License | Terms |\n|---|---|---|\n| SSB, Statistics Norway | [CC BY 4.0](https://www.ssb.no/en/diverse/lisens) | 30 requests/minute, respected client-side |\n| Brønnøysundregistrene (Enhetsregisteret, Regnskapsregisteret) | [NLOD 2.0](https://data.norge.no/nlod/en/2.0) | open API, fair use |\n| Norges Bank (exchange rates) | [NLOD 2.0](https://data.norge.no/nlod/en/2.0) | open SDMX API |\n| Kartverket (addresses, cadastre, place names) | [CC BY 4.0](https://www.kartverket.no/en/api-and-data/terms-of-use) | © Kartverket |\n\nAll four are open government data with no key or registration. Every response carries its attribution, so the model can cite it.\n\n### What this server will not do\n\n- **Property owners, buildings, valuations, grunnbok**: Norway keeps these behind a licensed Matrikkel agreement that private individuals cannot apply for. No open API exists, so no tool pretends otherwise.\n- **Shareholder registers and tax lists**: no open APIs exist; tax-list searches are logged and the searched person is notified.\n- **Person search**: looking up all roles a person holds across companies is legally restricted (enhetsregisterloven §9-1). Per-company roles are the lawful slice and that is what `get_company_roles` serves.\n- **Historical financials**: the open Regnskapsregisteret API serves the latest filed year only; the tool links the official annual-report PDF for the rest.\n\n## Development\n\n```\npython -m venv .venv && .venv/bin/pip install -e '.[dev]'\n.venv/bin/pytest                                # offline, fixtures only\n.venv/bin/pytest -m live --override-ini addopts=''  # live smoke against the real APIs\n```\n\nRuntime dependencies are `mcp` and `httpx`, nothing else. Responses are cached with per-source TTLs (in memory plus `~/.cache/norwegian-data-mcp`, disable with `NORWEGIAN_DATA_MCP_CACHE=off`), and a stale cached copy is served with a note if a register is briefly unreachable.\n\n## Roadmap\n\n- plot area via the Teig WFS, daily policy-rate series, elevation and kommune info tools\n- streamable HTTP transport for hosted use\n\n<!-- mcp-name: io.github.7nashinick/norwegian-data-mcp -->\n",
  "bytes": 5154,
  "sha": "f382f0ef9765015889ca34b0492ff5c02adf9b9233c81a56b4d71571f5ad3bbb",
  "repo_slug": "7nashinick/norwegian-data-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_7nashinick_norwegian_data_mcp_28e4d5d2/readme"
}