Gå til indhold

For udviklere

MCP-server

Giv din AI-agent adgang til hele CVR. Samme data som API'et, men agenten opdager selv hvad den kan spørge om - du behøver ikke lime dokumentationen ind i din prompt.

Kom i gang med Claude Code
claude mcp add --transport http bloo https://bloo.dk/api/mcp

Model Context Protocol (MCP) er den åbne standard AI-klienter bruger til at nå værktøjer og data. Vores server er remote: der er intet at installere og ingen nøgle at holde styr på - du peger din klient på én URL, og agenten kan slå danske virksomheder op resten af samtalen.

Serveren er læsbar (kun opslag), taler HTTP-transporten fra MCP-specifikationen og er stateless - hver forespørgsel står alene, så den overlever genstarter og flere parallelle klienter uden videre.

Opsætning

Claude Code

Kommandoen øverst tilføjer serveren til din brugerkonfiguration. Skal den følge med et projekt i stedet - så alle på holdet får den - så læg en .mcp.json i projektroden:

.mcp.json
{
  "mcpServers": {
    "bloo": {
      "type": "http",
      "url": "https://bloo.dk/api/mcp"
    }
  }
}

Claude Desktop og andre klienter med et connector-panel

Åbn indstillinger, tilføj en brugerdefineret connector, og indsæt https://bloo.dk/api/mcp. Der skal ikke udfyldes felter til godkendelse - serveren er åben.

Cursor, Windsurf og andre der læser en konfigurationsfil

Samme form som ovenfor. Nogle klienter udleder transporten af at der står en url i stedet for en command, og vil ikke have type med - virker det ikke med feltet, så prøv uden.

Klienter der kun taler stdio

Ældre klienter kan kun starte en lokal proces. Broen mcp-remote oversætter mellem de to:

{
  "mcpServers": {
    "bloo": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://bloo.dk/api/mcp"]
    }
  }
}

Værktøjer

Seks værktøjer, ét pr. opslag. Agenten får dem beskrevet ved forbindelse, så du ikke behøver forklare dem i din prompt. Svarene er de samme JSON-objekter som REST-API'et returnerer - felterne er dokumenteret der.

TOOLsearch_virksomheder

Find virksomheder på navn. Det er indgangen når agenten kun har et navn at gå ud fra; CVR-nummeret derfra bruges til alt det øvrige.

qpåkrævetNavn eller 8-cifret CVR-nummer, mindst 2 tegn.
limit1-50Antal træf. Standard 10.

TOOLget_virksomhed

Fuld virksomhedsprofil: adresse, branche, formål, tegningsregel, kapital, ejere og ledelse, produktionsenheder, fusioner og spaltninger.

cvrpåkrævet8-cifret CVR-nummer.
historikvalgfriMedtag tidligere navne, adresser, statusser og beskæftigelse pr. år. Standard false.

Historikken er som standard skåret fra. Den fulde post for en gammel virksomhed fylder titusindvis af tokens, næsten alt sammen overskrevne værdier - og en agent der bruger sit kontekstvindue på navneændringer fra 1994 har intet tilbage til at svare på spørgsmålet. Svaret oplyser hvilke felter der blev udeladt, så agenten selv kan hente dem når spørgsmålet handler om fortiden.

TOOLget_regnskaber

Nøgletal pr. offentliggjort årsrapport - omsætning, resultat, aktiver, egenkapital, likvider og gæld - ældste år først. Det er værktøjet til alt om økonomi og udvikling over tid.

cvrpåkrævet8-cifret CVR-nummer.
aar1-20Antal årsrapporter bagud. Standard 10.

TOOLget_produktionsenhed

Slår et 10-cifret P-nummer op og fortæller hvilken virksomhed arbejdsstedet hører til.

TOOLlist_virksomheder

Virksomheder filtreret på branche og/eller kommune, pagineret - til spørgsmål i stil med »hvilke IT-virksomheder ligger i Aarhus«. Mindst ét filter er påkrævet: uden ét ville det være et masseudtræk, og dem henter man hos Erhvervsstyrelsen.

branche2-6 cifreDB07-kode. 6 cifre rammer præcist, 2-5 cifre rammer hele grenen.
kommune3 cifreKommunekode.
qvalgfriFritekstfilter på navn inden for filteret.
statusvalgfri»aktiv« for kun aktive virksomheder.
limit1-60Antal pr. side. Standard 30.
offset0-5000Startindeks. Standard 0.

TOOLlist_koder

Oversætter et branche- eller kommunenavn til den kode list_virksomheder skal bruge. Koderne følger DB07 og den officielle kommuneinddeling og kan ikke udledes af navnet, så en agent der gætter rammer forbi. Værktøjet rammer intet register og tæller derfor ikke med i grænsen nedenfor.

Grænser

30 opslag pr. minut pr. IP-adresse, delt med REST-API'et. Forbindelsen og værktøjslisten er gratis - kun egentlige opslag tæller, så en klient der genstarter i ring ikke kan lukke dig ude af din egen kvote.

Rammer agenten loftet, får den et værktøjssvar der siger hvor mange sekunder den skal vente, frem for en fejl den ikke kan handle på. Skal du bruge mere, så skriv til os med et par ord om hvad du bygger.

Tekniske detaljer

  • Endpoint: POST https://bloo.dk/api/mcp. Streamable HTTP-transporten; svar er application/json, ikke en SSE-strøm.
  • Ingen sessioner. Serveren sender aldrig af sig selv, så GET på samme adresse svarer 405 - det er protokollens måde at sige det på, og klienter falder pænt tilbage til POST.
  • Understøtter protokolversion 2025-06-18, 2025-03-26 og 2024-11-05. Beder din klient om en nyere, forhandler vi ned til den nyeste vi kender.
  • Access-Control-Allow-Origin: * er sat, så en browserbaseret klient også kan forbinde.

Vilkår for brug

  • Angiv CVR / Erhvervsstyrelsen som kilde til data, og gerne BLOO med link som kilde til opslaget. Serveren beder selv agenten om det ved forbindelse.
  • Brug ikke data til markedsføring, adresselister eller uanmodede henvendelser.
  • Data leveres »som de er«. CVR opdateres dagligt, så oplysninger kan være op til et døgn bagud. Skal en oplysning holde i en aftale eller en sag, så verificér den hos Erhvervsstyrelsen.

De fulde vilkår står på vilkårssiden.

Hvad der ikke er med endnu

Ingen ressourcer eller prompts - kun værktøjer. Ingen koncernstruktur og intet ændringsfeed; koncerner findes indtil videre kun på sitet. Mangler din agent noget bestemt, så sig til.

Foretrækker du almindelig HTTP? Samme data ligger på /api.

Senest opdateret august 2026