# Danske adresser i Claude, Cursor og andre AI-værktøjer med MCP

> Installér @danadresse/mcp-server eller brug den hostede MCP-server i Claude, Cursor og andre klienter, se værktøjerne, og kend MCP-kvoten.
>
> https://danadresse.dk/guides/mcp-server · verified 2026-11-02
Model Context Protocol (MCP) er en standard, der lader en AI-assistent kalde værktøjer. Med `@danadresse/mcp-server` kan Claude, Cursor og andre MCP-klienter slå danske adresser op, rense dem, finde nærmeste adresse til en koordinat og hente administrative områder og ejendomsdata.

Serveren kører lokalt på din maskine via `npx` og kalder vores API med din nøgle. Du skal bruge Node 18.17 eller nyere. Vil du ikke installere noget, så brug den hostede server på `https://api.danadresse.dk/mcp` (se nedenfor).

## 1. Lav og test en nøgle

Opret en *live*-nøgle under [Nøgler](/dashboard/keys). Brug ikke en testnøgle eller en domænelåst browsernøgle. Begge virker til adresseopslag, men værktøjerne til DAGI, ejendomsdata, afstand og kvalitetsscore kalder `/api/v1/enrich/…`, og der svarer de med `403` (`sandbox_scope` eller `browser_key_scope`).

Tjek nøglen, før du konfigurerer klienten:

```bash id=check-key run=live expect="forslagstekst"
curl -s "https://api.danadresse.dk/autocomplete?q=R%C3%A5dhuspladsen%201&per_side=1" \
  -H "X-Api-Key: $DANADRESSE_API_KEY"
```

## 2. Tilføj serveren til din klient

Serveren læser tre miljøvariabler:

| Variabel | Standard | Formål |
|---|---|---|
| `DANADRESSE_API_KEY` | – | Påkrævet. Uden den får hvert kald `401` |
| `DANADRESSE_API_URL` | `https://api.danadresse.dk` | Kun til test mod en anden adresse |
| `DANADRESSE_TIMEOUT_MS` | `15000` | Timeout pr. kald i millisekunder |

### Claude Desktop

Rediger `claude_desktop_config.json`. På macOS ligger den i `~/Library/Application Support/Claude/`, på Windows i `%APPDATA%\Claude\`:

```json id=claude-desktop run=syntax
{
  "mcpServers": {
    "danadresse": {
      "command": "npx",
      "args": ["-y", "@danadresse/mcp-server"],
      "env": {
        "DANADRESSE_API_KEY": "dawa_live_din_nøgle"
      }
    }
  }
}
```

Genstart Claude Desktop. `danadresse` skal nu stå blandt værktøjerne.

### Claude Code

Tilføj serveren fra terminalen:

```bash id=claude-code-add run=no
claude mcp add danadresse \
  --env DANADRESSE_API_KEY=dawa_live_din_nøgle \
  -- npx -y @danadresse/mcp-server
```

Vil du dele opsætningen med dit team via repoet, så læg en `.mcp.json` i projektets rod. Claude Code udfylder `${DANADRESSE_API_KEY}` fra miljøet, så nøglen ikke havner i Git:

```json id=claude-code-mcp-json run=syntax
{
  "mcpServers": {
    "danadresse": {
      "command": "npx",
      "args": ["-y", "@danadresse/mcp-server"],
      "env": {
        "DANADRESSE_API_KEY": "${DANADRESSE_API_KEY}"
      }
    }
  }
}
```

### Cursor

Læg konfigurationen i `~/.cursor/mcp.json` (for alle projekter) eller `.cursor/mcp.json` i et projekt:

```json id=cursor-mcp-json run=syntax
{
  "mcpServers": {
    "danadresse": {
      "command": "npx",
      "args": ["-y", "@danadresse/mcp-server"],
      "env": {
        "DANADRESSE_API_KEY": "dawa_live_din_nøgle"
      }
    }
  }
}
```

Andre klienter, der understøtter MCP over stdio, virker på samme måde: kommandoen er `npx -y @danadresse/mcp-server`, og nøglen gives som miljøvariabel.

### Hostet server uden installation

Har du ikke Node, eller bruger du Claude.ai, ChatGPT eller n8n, så forbind klienten direkte til vores hostede MCP-server på `https://api.danadresse.dk/mcp`. Den bruger Streamable HTTP og svarer kun på `POST`. Log ind med din egen nøgle i `X-Api-Key` eller `Authorization: Bearer`. Klienter, der ikke kan sætte headere (connector-skærmene i Claude.ai og ChatGPT), kan sætte nøglen som `?api_key=` i URL'en. Lav en separat nøgle til det, så du kan tilbagekalde den alene.

I Claude Code:

```bash id=remote-claude-code run=no
claude mcp add --transport http danadresse https://api.danadresse.dk/mcp \
  --header "X-Api-Key: $DANADRESSE_API_KEY"
```

Tjek, at serveren svarer med din nøgle. `tools/list` tæller ikke som et kald:

```bash id=remote-tools-list run=live expect="quota_status"
curl -s -X POST "https://api.danadresse.dk/mcp" \
  -H "X-Api-Key: $DANADRESSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

Opsætningen til Claude.ai, ChatGPT, Cursor, VS Code og n8n står på [AI-siden](/ai).

## 3. Kend værktøjerne

Serveren giver assistenten elleve værktøjer. Den hostede server har de samme og et tolvte, `quota_status`, der viser månedens MCP- og API-forbrug for nøglen:

| Værktøj | Gør | Kalder |
|---|---|---|
| `autocomplete_address` | Søg adresser ud fra delvis tekst, tåler stavefejl | `/autocomplete` |
| `lookup_address` | Hent en adresse ud fra dens id | `/adresser/{id}` |
| `validate_address` | Rens en adresse og giv kategori A, B eller C | `POST /datavask/adresser` |
| `reverse_geocode` | Find nærmeste adresse til en koordinat (WGS84 eller ETRS89) | `/adgangsadresser/reverse` |
| `enrich_with_dagi` | Sogn, politikreds, retskreds, region m.fl. for en adgangsadresse | `/api/v1/enrich/adresser/{id}/dagi` |
| `property_data` | Ejendomsdata for en adgangsadresse: BFE, vurdering, plan, energimærke, højde, BBR | `/api/v1/enrich/adresser/{id}/ejendom` |
| `distance_between` | Afstand og retning mellem to adgangsadresser | `/api/v1/enrich/distance` |
| `address_quality_score` | Score 0–100 for hvor komplet og troværdig en delvis adresse er | `POST /api/v1/enrich/quality/score` |
| `list_postnumre` | Postnumre, søg på navn eller nummer | `/postnumre` |
| `list_kommuner` | Kommuner, søg på navn eller kode | `/kommuner` |
| `list_vejnavne` | Vejnavne i hele landet | `/vejnavne` |

`enrich_with_dagi`, `property_data` og `distance_between` skal have id'er på adgangsadresser. Et forslag fra `autocomplete_address` er som regel en adresse (med etage og dør), og dens adgangsadresse-id står i `data.adgangsadresseid`. Assistenten finder normalt selv ud af det, men det hjælper at nævne det, hvis den får `404`.

## 4. Kend MCP-kvoten

Kald fra MCP-serveren har deres egen månedskvote, adskilt fra API-kvoten. Serveren sender en `User-Agent`, der starter med `danadresse-mcp`, og det er den, vi tæller på. Kald gennem den hostede server tæller i samme kvote:

| Plan | MCP-kald pr. måned |
|---|---|
| Hobby | 250 |
| Basis | 5 000 |
| Pro | 25 000 |
| Enterprise | 200 000 |

På Hobby er MCP-kvoten et loft. Efter kvoten og en buffer på 20 % svarer API'et `429 quota_exceeded` til næste måned, mens dine almindelige API-kald fortsætter. Én besked til assistenten kan give flere værktøjskald, fordi den ofte først søger og derefter slår op eller beriger.

Serveren prøver selv igen ved `429`, `502`, `503` og `504` med backoff. Får du stadig fejl, så se på forbruget i [dashboardet](/dashboard/usage).

## 5. Prøv det

Eksempler på beskeder, der bruger værktøjerne:

```text id=example-prompts run=no
Find adressen Rådhuspladsen 1 i København, og fortæl hvilket sogn og hvilken politikreds den hører til.

Hvad er den nærmeste adresse til GPS-punktet 55.6761, 12.5683?

Rens denne adresse fra et CRM: "Raadhuspladsn 1, 1550 Kbh V". Er den sikker nok til at gemme?

Hvor langt er der i luftlinje mellem Strandvejen 100, 2900 Hellerup og Rådhuspladsen 1, 1550 København V?

Hvilken by har postnummer 8000, og hvilken kommune hører kode 0751 til?
```

Assistenten vælger selv værktøjerne. I Claude Desktop og Claude Code kan du se hvert kald og dets svar, før det bliver brugt i svaret.

## Næste skridt

- Platformsiden for MCP: [/integrationer/mcp](/integrationer/mcp).
- Hold øje med kvoten: [Overvåg forbruget](/guides/overvaag-forbrug).
- Skift nøglen uden nedetid: [Rotér API-nøgler](/guides/roter-noegler).
