← Tilbage til forsiden
Forklaring
Model Context Protocol

MCP-server: hvad det er, og hvordan det virker

En MCP-server lader AI-applikationer som Claude og ChatGPT arbejde sikkert med dine systemer. Her kan du læse, hvordan protokollen er bygget op, hvor det går galt i praksis, og hvornår du selv bør bygge en.

Af Assim ElHammouti, Grundlægger og lead engineer, NordbeamOpdateret

Kort svar

Hvad er en MCP-server?

En MCP-server er et program, der gennem den åbne Model Context Protocol giver AI-applikationer som Claude og ChatGPT adgang til et systems værktøjer og data, som modellen kalder kontrolleret. Nordbeam, et AI-udviklingsstudie i Göteborg og Malmö, bygger sådanne servere og driver selv Nordsynk.

Standard
Model Context Protocol (åben)
Transport
stdio eller Streamable HTTP
Beskeder
JSON-RPC 2.0

01 — Definition

Hvad er Model Context Protocol?

MCP står for Model Context Protocol, en åben protokol, der beskriver, hvordan AI-applikationer henter kontekst og handlinger fra eksterne systemer. En MCP-server er programmet på systemets side: det stiller tools (handlinger, modellen må kalde), resources (data, der kan bruges som kontekst) og prompts (genbrugelige skabeloner) til rådighed.

Problemet, MCP løser, er et regneproblem. Uden en standard bygger hver AI-applikation sin egen kobling til hvert system. Med MCP bygger du én server, og enhver kompatibel applikation kan forbinde til den. For en softwarevirksomhed betyder det, at kunderne kan bruge deres data fra det AI-værktøj, de allerede åbner hver dag, i stedet for at bede dig om endnu en integration.

Den officielle dokumentation på modelcontextprotocol.io er kilden til alle tekniske detaljer på siden her. Protokollen udvikler sig løbende; den seneste revision, da vi skrev dette, bærer betegnelsen 2026-07-28.

02 — Sådan virker det

Hvordan virker en MCP-server?

Tre roller, tre byggesten, to former for transport.

Host, klient og server

Hosten er den AI-applikation, brugeren arbejder i, for eksempel Claude Desktop eller Visual Studio Code. Hosten opretter en klient for hver forbundet server, og den klient holder forbindelsen til netop den ene server. Du bygger serveren; resten sidder i AI-applikationen.

Eksempel · én host, to servere
Host

Claude Desktop

Model

LLM

Vælger, hvilket tool der skal kaldes

Klient 1

Forbindelse til filsystemet

Klient 2

Forbindelse til Fortnox

stdio

Server · lokal

Filsystem

Tools og resources på din computer

Streamable HTTP · OAuth

Server · ekstern

Fortnox (Nordsynk)

Fakturaer, leverandører, bilag

Hosten opretter én klient pr. server. Lokale servere nås via stdio, eksterne via Streamable HTTP med OAuth.
a.

Tools

Funktioner med navn, beskrivelse og JSON-skema for input. Modellen vælger selv, hvornår den kalder dem. Eksempler: slå fakturaer op, oprette en sag, forberede en postering.
b.

Resources

Datakilder, der kan indgå som kontekst: et dokument, et databaseskema, en liste over åbne poster.
c.

Prompts

Genbrugelige skabeloner, der strukturerer en interaktion, for eksempel en fast fremgangsmåde til månedsafslutning.
d.

Elicitation

Serveren kan bede brugeren om ekstra input eller en bekræftelse via klienten. Sampling (at bede klientens model om en completion) er markeret som forældet i revision 2026-07-28.

MCP

Model Context Protocol

3
byggesten på serveren: tools, resources og prompts
2
standardtransporter: stdio og Streamable HTTP

Transport: lokal eller ekstern

MCP definerer to standardtransporter. Med stdio starter klienten serveren som en underproces på samme computer, hvilket passer til lokale værktøjer. Med Streamable HTTP kører serveren som en selvstændig proces med ét HTTP-endpoint, som klienten sender hver besked til med POST; svaret kommer tilbage som ét JSON-objekt eller som en strøm (Server-Sent Events). Det er transporten til eksterne servere, der betjener mange brugere, og dermed til næsten ethvert kommercielt produkt.

En detalje, der betyder noget i praksis: den nyeste revision (2026-07-28) har fjernet protokolsessioner og den separate GET-strøm, og lader hver forespørgsel selv medsende protokolversion og klientfunktioner. Ældre klienter bruger stadig tidligere revisioner med et initialize-håndtryk. En server, der låser sig til én version, virker derfor ikke for en del af dine brugere.

Et tool-kald over JSON-RPC

// Illustrativt eksempel (forkortet; ikke et rigtigt Nordsynk-tool)
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_overdue_invoices",
    "arguments": { "min_days_overdue": 30 }
  }
}

// Svar
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "resultType": "complete",
    "content": [{ "type": "text", "text": "12 fakturaer, 30+ dage forfaldne ..." }],
    "isError": false
  }
}

03 — MCP og API

Hvad er forskellen på MCP og et API?

MCP erstatter ikke dit API. I næsten enhver produktionsløsning kalder MCP-serveren dit eksisterende API. Forskellen ligger i, hvem der bruger det. Et API er skrevet til en udvikler, der læser dokumentationen og skriver kode. En MCP-server er skrevet til en model, der midt i en samtale selv skal finde ud af, hvad der er muligt.

  • Kan opdages. En klient spørger med tools/list, hvilke tools der findes, og får navne, beskrivelser og skemaer tilbage. Der skal ingen separat dokumentation til for at komme i gang.
  • Byg én gang. Den samme server virker i alle kompatible applikationer, uden at du skal vedligeholde et plugin pr. applikation.
  • Standardautorisation. Til eksterne servere beskriver protokollen et OAuth-forløb, så brugeren giver adgang i stedet for at indsætte en API-nøgle.
  • Designet til modeller. En god MCP-server eksponerer ikke hvert API-endpoint, men opgaver på det niveau, hvor nogen stiller et spørgsmål: "hvilke kunder betaler for sent?" frem for fem enkeltkald.

04 — Eksempel fra praksis

Hvordan ser en MCP-server i drift ud? Nordsynk

Nordsynk (nordsynk.se) er en hostet MCP-server til Fortnox, et svensk regnskabssystem. Nordbeam har bygget Nordsynk og driver den selv. Økonomiteams forbinder deres virksomhed og stiller spørgsmål i Claude, ChatGPT eller Cursor, mens serveren leverer aktuelle data fra Fortnox: fakturaer, kunder, leverandører, bilag, ordrer og betalinger. Revisions- og bogføringsbureauer kan styre flere kundevirksomheder fra ét sted.

De designvalg, der gælder for enhver kommerciel MCP-server:

a.

Hostet, med OAuth-samtykke

Kunderne hoster intet selv og administrerer ingen Fortnox-legitimationer. Forbindelsen er forankret i et OAuth-samtykke, og hver handling vurderes mod virksomhed, bruger og arbejdsgang, før assistenten får adgang.
b.

Opdagelse, læsning, forslag og skrivning holdes adskilt

Læsning kan ske gennem den autentificerede runtime. Forslag kan assistenten komme med. Men en ændring i Fortnox kræver udtrykkelig skriveintention og går gennem en godkendelse, der er låst til netop den forespørgsel, der udføres.
c.

Godkendelse til ikke-tekniske brugere

Ændringen forklares i regnskabssprog med nok kontekst til at kunne kontrolleres, og den fortsætter først, når brugeren bekræfter den præcise handling.
d.

Dokumentation til hver observation

Den skrivebeskyttede finance control-preview skriver aldrig til Fortnox. Hver observation peger tilbage på den underliggende post, så ingen skal tro på et resumé uden grundlag.
e.

Ens opførsel på tværs af klienter

Claude, ChatGPT, Cursor og desktopklienter adskiller sig i autentificering, opdagelse af tools og interaktiv godkendelse. Nordsynk skulle føles ens i dem alle og samtidig være streng omkring tenant-grænser.
Illustration · eksempeldata
Claude

Hvilke kundefakturaer er forfaldne med mere end 30 dage?

⚙ fortnox.list_overdue_invoices

3 fakturaer er forfaldne, i alt 127.500 kr.:

Beta Konsulent ApS
52.500 kr.
Acme A/S
45.000 kr.
Gamma I/S
30.000 kr.

Oprette 3 betalingspåmindelser?

Skriver til Fortnox · kræver din godkendelse

Godkend
Log
  1. 10:42læste fakturaer (3)
  2. 10:42dokumentation koblet på
  3. 10:43skrivning anmodet
  4. 10:44godkendt af økonomi
  5. 10:443 påmindelser oprettet

Hver handling logges med bruger, tidspunkt og handling.

Sådan oplever brugeren det: læsning sker med det samme, skrivning venter på en godkendelse, og alt bliver logget.

05 — Sikkerhed

Er en MCP-server sikker, og hvordan gør man den det?

Hvad specifikationen kræver, og hvad vi selv lægger til.

Specifikationen er tydelig. Servere skal validere alt input til tools, håndhæve adgangskontrol, begrænse kald og rense output. Klienter bør bede om bekræftelse ved følsomme handlinger og logge brugen. Og der bør altid være et menneske, der kan afvise et kald. Tool-beskrivelser og -annotationer må en klient ikke stole på, medmindre de kommer fra en betroet server.

Autorisation for eksterne servere

Autorisation er valgfri i protokollen, men for HTTP-transport beskriver specifikationen en profil baseret på OAuth 2.1. Serveren er så en resource server og skal offentliggøre sin egen autorisationsserver via Protected Resource Metadata (RFC 9728). Klienter bruger PKCE og sender en resource-parameter (RFC 8707), så et token kun gælder for netop den server. Serveren accepterer kun tokens, der er udstedt til den selv. Tokens må aldrig stå i URL'en. For stdio-servere er det omvendt: de henter deres legitimationer fra miljøet.

Det, vi lægger til

  • Mindst mulige rettigheder. OWASP peger på for meget funktionalitet, for brede rettigheder og for meget autonomi som de tre årsager til "excessive agency" i LLM-applikationer. Et tool, der åbner en shell eller kører vilkårlige forespørgsler, er et eksempel.
  • Godkendelse pr. skriveoperation. OWASP anbefaler, at et menneske godkender handlinger med stor effekt, før de udføres. Vi viser brugeren den præcise ændring og binder godkendelsen til den ene forespørgsel.
  • Revisionsspor. Hvem bad om hvad, hvad så brugeren, hvad blev godkendt, og hvad blev faktisk skrevet.
  • Origin-kontrol. Specifikationen kræver, at Streamable HTTP-servere validerer Origin-headeren mod DNS-rebinding, og at lokale servere kun binder til localhost.

06 — Bygge eller bruge

Bygge selv eller bruge en eksisterende server?

En enkel regel: brug en eksisterende server til systemer, du aftager, og byg en til systemer, du udbyder.

a.

Brug en eksisterende, hvis

din leverandør tilbyder en officiel server, rettighederne pr. bruger passer, og skrivning ikke er nødvendig eller er sikret af leverandøren.
b.

Byg selv, hvis

du er softwareleverandør, og kunder vil bruge deres data i Claude eller ChatGPT, eller hvis skrivesikkerhed, adskillelse af kunder og indsigt i brug hører til dit eget produkt.

Hvad der driver prisen

  • API-fladens størrelse og hvor meget af den, der skal eksponeres som gennemtænkte opgaver.
  • Autentificering og multi-tenancy: OAuth, udløbende tokens, adskillelse mellem kunder.
  • Skriveoperationer: godkendelsesflow, forhåndsvisning og revision.
  • Klientkompatibilitet: test i de klienter, dine kunder faktisk bruger.
  • Vedligeholdelse: protokollen og klienterne ændrer sig.

Vil du først vide, hvad en MCP-server kan give dit produkt, er en kort samtale den hurtigste vej. Til bredere spørgsmål om agenter og godkendelser starter en AI Workflow Sprint fra 45.000 SEK. Læs også vores forklaring af AI-agenter til virksomheder.

07 — Fremgangsmåde

Hvordan bygger Nordbeam en MCP-server?

01

Afgrænse

API-fladen kortlagt, toolsættet specificeret, autentificeringsmodellen valgt.
02

Bygge

Ekstern server på Streamable HTTP med OAuth og navngivne opgaver oven på dit API.
03

Skrivesikkerhed

Forhåndsvisning, godkendelse pr. handling og et revisionsspor.
04

Teste og vedligeholde

Test mod de klienter, dine kunder bruger, og løbende vedligeholdelse.

08 — FAQ

Ofte stillede spørgsmål om MCP-servere

Hvad er en MCP-server i én sætning?

En MCP-server er et program, der via Model Context Protocol stiller tools, data og promptskabeloner til rådighed for AI-applikationer som Claude, ChatGPT og Cursor, så de kan arbejde med dine systemer uden en særskilt integration pr. applikation.

Hvad er forskellen på MCP og et API?

Et API er din softwares grænseflade til anden software. MCP lægger et lag ovenpå, som en AI-model kan læse og bruge: serveren beskriver sine tools med skemaer, klienten finder dem selv, og autorisationen følger et standardforløb. En MCP-server kalder næsten altid dit eksisterende API; den erstatter det ikke.

Er en MCP-server sikker?

Det afhænger helt af, hvordan den er bygget. Protokollen kræver, at servere validerer input, håndhæver adgangskontrol og begrænser kald, og anbefaler, at et menneske altid kan afvise et kald. Til skriveoperationer anbefaler vi udtrykkelig godkendelse pr. enkelt handling og mindst mulige rettigheder pr. bruger.

Hvad er forskellen på lokale og eksterne MCP-servere?

En lokal server kører som en proces på brugerens computer og taler med én klient via stdio. En ekstern (remote) server kører hos dig eller en leverandør og betjener mange brugere via Streamable HTTP. Til kommercielle produkter er en ekstern server med OAuth næsten altid det rigtige valg.

Hvor lang tid tager det at bygge en MCP-server?

En prototype, der læser ét API, er et spørgsmål om dage. Arbejdet ligger i det, der kommer bagefter: OAuth pr. bruger og virksomhed, skrivning med godkendelse, test mod flere klienter og vedligeholdelse. På vores tjenesteside står varighederne for hvert niveau.

Skal jeg bygge min egen MCP-server eller bruge en eksisterende?

Brug en eksisterende, hvis din leverandør har en, der opfylder dine krav. Byg selv, hvis du har et produkt, som kunder vil bruge fra deres AI-værktøjer, hvis eksisterende servere mangler skrivesikkerhed, eller hvis adgangen til dine systemer skal være under din egen kontrol.

Hvem bygger MCP-servere til virksomheder?

Nordbeam, et AI-udviklingsstudie i Göteborg og Malmö (Sverige), designer, bygger og driver MCP-servere til produkter og interne systemer. Som reference har vi bygget og driver Nordsynk, en hostet MCP-server til Fortnox. Vi svarer inden for 24 timer på hello@nordbeam.io.

Hvad koster det at få bygget en MCP-server?

Prisen afhænger især af antallet af tools, autentificeringen (OAuth pr. bruger og virksomhed), skriveoperationer med godkendelse og antallet af klienter, du tester mod. Derfor starter vi med en betalt scoping-uge, der ender i en fast pris. Et bredere AI-arbejdsforløb (AI Workflow Sprint) starter fra 45.000 SEK.

Hvordan forbinder jeg mine virksomhedsdata med Claude eller ChatGPT?

Gennem en ekstern MCP-server på Streamable HTTP med OAuth. Brugeren tilføjer server-URL'en som connector i AI-applikationen, logger ind og giver samtykke, og serveren kontrollerer derefter hvert kald mod bruger og virksomhed. Hvilke trin brugeren ser, varierer mellem klienter.

Hvilke AI-applikationer virker med MCP?

MCP er en åben protokol, og hosts som Claude, Cursor og Visual Studio Code understøtter den. Vores egen MCP-server, Nordsynk, er bygget til Claude, ChatGPT, Cursor og desktopklienter. Opførsel omkring autentificering og godkendelse varierer mellem klienter, så test altid mod dem, dine kunder bruger.

Kontakt os

Hvilken arbejdsgang bør AI forbedre først?

Book en praktisk gennemgang af en værdifuld arbejdsgang. Du taler direkte med Assim, Nordbeams grundlægger og lead engineer.
Send e-mail direkte
E-mail
hello@nordbeam.io
Lokationer
Göteborg & Malmö, Sverige
Svartid
Inden for 24 timer