Gå til indholdet

Værktøjer

Registeropslag Beta

Beta: i brug, men detaljer kan stadig ændre sig.

Registeropslag er i Beta. Det er en MCP-server, der lader din AI-assistent slå op i offentlige danske registre: CVR, Retsinformation, Danmarks Statistik og Folketinget. Alle værktøjer læser; ingen af dem ændrer data. Registeropslag bruger ingen AI og tæller ikke med i AI-forbruget eller organisationens månedlige loft for AI-forbrug.

Registeropslag har sin egen adresse og er ikke en del af api.komplai.dk, så det har ingen side i API-referencen. Serveren taler Model Context Protocol over Streamable HTTP.

  • Adresse: https://mcp.komplai.dk/mcp
  • Transport: MCP Streamable HTTP med POST, GET og DELETE på samme adresse
  • Autentificering: Authorization: Bearer med en personlig API-nøgle (kp_live_...), der har scopet mcp:read

Før du starter

  • Jeres organisation har Registeropslag i aftalen, og en administrator har givet dig adgang under Organisation › Personer › Adgang til værktøjer i hubben.
  • Du har en personlig API-nøgle med mcp:read. Åbn Registeropslag (/modules/mcp) i hubben, og vælg Opret nøgle til Registeropslag, eller opret nøglen på siden API-nøgler på hub.komplai.dk/api-access. Organisationens integrationsnøgle (kp_org_...) afvises med integration_not_permitted.
  • Brug kun testdata, mens Registeropslag er i beta.

Forbind VS Code

Siden Registeropslag i hubben viser den samme konfiguration med en knap til at kopiere den. Den indeholder ingen nøgle.

  1. Opret en personlig nøgle med mcp:read.
  2. Kør MCP: Open User Configuration i VS Code, og flet konfigurationen herunder ind i dine eksisterende indstillinger.
  3. Start serveren. VS Code spørger efter nøglen i et skjult felt, så den ikke havner i en fil.
mcp.json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "komplai-api-key",
      "description": "komplai personal API key (mcp:read)",
      "password": true
    }
  ],
  "servers": {
    "komplai": {
      "type": "http",
      "url": "https://mcp.komplai.dk/mcp",
      "headers": {
        "Authorization": "Bearer ${input:komplai-api-key}"
      }
    }
  }
}

Konfigurationen virker i VS Codes extension host, ikke i Agent Host-sessioner. Andre klienter virker, hvis de understøtter Streamable HTTP og en personlig Bearer-header; MCP-klienter beskriver dem.

Prøv det med curl

En MCP-klient tager disse trin for dig. Med curl kan du se hvert af dem.

Start en session med initialize. -i viser svarets headere, hvor Mcp-Session-Id indeholder sessionens id:

Shell
curl -i https://mcp.komplai.dk/mcp \
  -H "Authorization: Bearer $KOMPLAI_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2025-03-26", "capabilities": {}, "clientInfo": {"name": "curl", "version": "1"}}}'

Sæt id'et i KOMPLAI_MCP_SESSION_ID, bekræft sessionen med notifikationen initialized, og kald et værktøj. Dette søger i Retsinformation:

Shell
curl https://mcp.komplai.dk/mcp \
  -H "Authorization: Bearer $KOMPLAI_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Mcp-Session-Id: $KOMPLAI_MCP_SESSION_ID" \
  -H "MCP-Protocol-Version: 2025-03-26" \
  -d '{"jsonrpc": "2.0", "method": "notifications/initialized"}'

curl https://mcp.komplai.dk/mcp \
  -H "Authorization: Bearer $KOMPLAI_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Mcp-Session-Id: $KOMPLAI_MCP_SESSION_ID" \
  -H "MCP-Protocol-Version: 2025-03-26" \
  -d '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "retsinfo_search", "arguments": {"query": "forvaltningsloven", "limit": 3}}}'

Svaret kommer som en server-sent event: en data:-linje med JSON-RPC-resultatet, hvor content indeholder værktøjets resultat som JSON-tekst. Med tools/list i stedet for tools/call får du alle værktøjer med deres inputschema.

Luk sessionen, når du er færdig. At lukke en session tilbagekalder ikke nøglen.

Shell
curl -X DELETE https://mcp.komplai.dk/mcp \
  -H "Authorization: Bearer $KOMPLAI_TOKEN" \
  -H "Mcp-Session-Id: $KOMPLAI_MCP_SESSION_ID" \
  -H "MCP-Protocol-Version: 2025-03-26"

Værktøjer

VærktøjRegisterHvad det returnererHvor opslaget sendes hen
cvr_lookupCVREn virksomhed ud fra CVR-nummer eller navn: navn, adresse, branchekode, antal ansatte, virksomhedsform, konkursmarkering og ejerecvrapi.dk
retsinfo_searchRetsinformationLove, bekendtgørelser og cirkulærer som henvisninger: titel, type, ministerium, dato og link. Ikke selve lovteksten.retsinformation.dk
dst_find_tablesDanmarks StatistikStatistiktabeller ud fra et søgeord med id, indhold, enhed og periodeapi.statbank.dk
dst_describe_tableDanmarks StatistikEn tabels variable og de værdikoder, hver variabel tager imodapi.statbank.dk
dst_get_dataDanmarks StatistikTal fra en tabel for de variabelkoder, du vælgerapi.statbank.dk
oda_search_casesFolketingetFolketingssager ud fra titlen: type, status, afgørelse og seneste opdateringoda.ft.dk
oda_get_entityFolketingetRækker fra Folketingets åbne data: sager, dokumenter, personer og organer, afstemninger og møderoda.ft.dk
komplai_detectRedactPersonoplysninger i en tekst, fundet alene med reglerI tjenesten
komplai_redactRedactTeksten med betegnelser som [CPR-1] og listen over betegnelserI tjenesten
komplai_rehydrateRedactTeksten med de oprindelige oplysninger sat tilbage ud fra listen over betegnelserI tjenesten
list_connectorsAlle forbindelser på serveren, og hvor deres data sendes hen
  • CVR er et offentligt register, men for små virksomheder tilhører de registrerede kontaktoplysninger og ejernavne private personer. Behandl dem som personoplysninger. Når marketing_protected er true, har virksomheden frabedt sig brug i markedsføring.
  • Værktøjerne komplai_ kræver også redact:detect på samme nøgle og adgang til Redact i jeres organisation. De bruger kun regler og finder derfor ikke navne. Serveren gemmer ikke listen over betegnelser: komplai_rehydrate skal have den liste, komplai_redact returnerede. komplai_detect og komplai_redact tager op til 50.000 tegn pr. kald. Til navne og længere tekster bruger du Redact via API'et.

Sessioner og grænser

  • Hver forespørgsel, også GET og DELETE, skal have den personlige nøgle med. En nøgle i adressen afvises: URL'en må ikke have en forespørgselsstreng.
  • Den første forespørgsel er en POST med initialize. Sessionen er bundet til jeres organisation, til dig og til nøglen; en anden nøgle kan ikke bruge den. Tilbagekaldelse, udløb og fjernet adgang kontrolleres ved hver forespørgsel og igen, når et værktøj kører.
  • Højst 5 sessioner pr. nøgle og 500 på serveren. En session slutter efter 30 minutter uden aktivitet.
  • En body må højst fylde 4 MiB. Serveren har sin egen grænse for HTTP-forespørgsler pr. minut, og hvert værktøjskald tæller også med i kontoens grænser for kald.

Når en forespørgsel afvises

Afvisninger kommer som en JSON-body med error:

StatuserrorHvad du kan gøre
400query_credentials_not_supportedFjern forespørgselsstrengen. Send nøglen i headeren Authorization.
400initialize_requiredStart en session med en POST af initialize.
400invalid_sessionSend Mcp-Session-Id én gang.
401api_key_requiredSend Authorization: Bearer med din personlige nøgle.
401invalid_api_keyNøglen er ukendt, udløbet eller tilbagekaldt. Opret en ny.
403integration_not_permittedBrug en personlig nøgle, ikke organisationens integrationsnøgle.
403insufficient_scopeBrug en nøgle med mcp:read.
403session_owner_mismatchSessionen tilhører en anden nøgle. Start en ny session.
403origin_refusedForespørgslen kom fra en webside på en adresse, serveren ikke tager imod.
404unknown_sessionSessionen er slut. Start en ny med initialize.
429session_limitLuk sessioner, du ikke bruger, med DELETE, eller vent, til inaktive sessioner slutter.
429rate_limitedVent et minut, før du sender flere forespørgsler.
503account_access_unavailableNøgler og adgang kunne ikke kontrolleres. Prøv igen om lidt.

Et værktøjskald, din konto ikke må foretage lige nu, fx fordi din adgang er fjernet, eller din grænse for kald er nået, returnerer et værktøjsresultat med isError: true, hvor teksten nævner årsagen.

Hvor data sendes hen

  • Søgeoplysningerne sendes til det register, du slår op i, på adressen i tabellen ovenfor. Adgangen følger din personlige nøgle.
  • Serveren kører på komplais servere i Tyskland (EU). Værktøjerne komplai_ behandler tekst dér i hukommelsen.
  • Organisationens hændelseslog indeholder værktøjet, hvem der kaldte det, og metadata om forbruget, aldrig opslaget, teksten, listen over betegnelser eller nøglen.
  • Registeropslag bruger ingen AI og tæller ikke med i AI-forbruget.

Hvor data behandles beskriver alle værktøjer.

komplaidevelopers
Kontakt os

Søg i dokumentationen

Vælg med piletasterne, og åbn med Enter.