MCP – Model Context Protocol
MCP (Model Context Protocol) er en åben standard, der giver AI-modeller mulighed for at kalde ekstern kode som værktøjer. I stedet for at AI’en kun svarer ud fra sin træning, kan den med MCP aktivt kalde din kode, hente data og udføre handlinger i din applikation.
Hvad er MCP?#
MCP er konceptuelt beslægtet med REST, men rettet mod AI-klienter frem for browsere og frontends:
- REST → frontend kalder din backend
- MCP → AI-modellen kalder din backend
En MCP-server eksponerer tools – funktioner med et navn, en beskrivelse og et JSON Schema der definerer input. AI-klienten (f.eks. Claude CLI eller Codex) opdager automatisk disse tools og kan kalde dem, når en brugers naturlige sprog passer til det, de gør.
Kommunikationen sker typisk via STDIO – standard input/output – hvilket betyder, at AI-klienten starter din server som en subprocess og taler med den direkte via stdin/stdout. Det er den enkleste opsætning og standard for lokale MCP-servere.
Hvad vi lavede i undervisningen#
Vi byggede en MCP-server i Java ved hjælp af det officielle io.modelcontextprotocol.sdk. Serveren eksponerede to tools:
| Tool | Hvad den gør |
|---|---|
add_numbers | Tager to heltal og returnerer summen |
current_time | Returnerer serverens aktuelle tidspunkt i ISO-8601 |
Opsætning#
Projektet blev sat op som et Maven-projekt i IntelliJ. Vi brugte:
McpServer.sync(...)til at bygge en synkron serverStdioServerTransportProvidertil STDIO-transport- JSON Schema-strenge til at beskrive tool-input
maven-shade-plugintil at pakke alt i én kørbar.jar-fil
Registrering i klienterne#
Når .jar-filen var bygget, registrerede vi serveren i begge AI-klienter:
# Codex
codex mcp add demo-server -- java -jar /path/to/mcp-demo-1.0-SNAPSHOT.jar
# Claude CLI
claude mcp add demo-server --command java --arg -jar --arg /path/to/mcp-demo-1.0-SNAPSHOT.jarHerefter kunne vi fra naturligt sprog bede klienterne om at bruge vores tools – og de kaldte automatisk vores Java-kode og returnerede resultatet.
Hvad det betyder i praksis#
Den centrale pointe er, at MCP er endnu ét interface til din backend-logik – ligesom REST eller gRPC, men designet til AI som klient. Det betyder, at du kan:
- Lade AI-modeller tilgå interne systemer (databaser, APIs, filsystemer) på en kontrolleret måde
- Kombinere AI-ræsonnering med deterministisk kode – AI’en beslutter hvornår den kalder et tool, din kode afgør hvad der sker
- Bygge AI-drevne features oven på eksisterende backend-infrastruktur uden at skulle ændre selve forretningslogikken
Refleksion#
Det mest interessante ved øvelsen var at se, hvordan AI-klienterne selv opdagede og valgte at bruge vores tools ud fra naturligt sprog. Vi bad ikke eksplicit om at kalde add_numbers – vi spurgte bare “hvad er 5 plus 7?”, og klienten matchede det til vores tool selv.
Det illustrerer en fundamental forskel fra REST: ved REST kalder mennesket de rigtige endpoints. Med MCP er det AI’en, der vælger hvornår og hvordan den bruger de tilgængelige tools – og dermed bliver beskrivelsen af et tool lige så vigtig som selve implementationen.
There are no articles to list here yet.