MCP vs. API vs. CLI: hva er egentlig forskjellen?
Sist oppdatert 22. juli 2026
CLI, API og MCP er alle grensesnitt inn til det samme systemet, men bygget for tre helt ulike brukere. En CLI (command-line interface) er laget for at et menneske skal skrive kommandoer. Et API (application programming interface) er laget for at ett program skal kalle et annet, med kode en utvikler har skrevet på forhånd. MCP (Model Context Protocol) er laget for at en KI-modell selv skal oppdage og bruke funksjonene i et system, uten at noen har skrevet integrasjonskode for akkurat den modellen.
Hva er en CLI?
En CLI (command-line interface) er et tekstbasert grensesnitt der du skriver kommandoer og får tekst tilbake - git commit, docker ps, eller en regnskaps-CLI som lister ubetalte fakturaer. CLI-en er bygget for at et menneske skal lese dokumentasjonen (eller kjøre --help) og skrive riktig kommando selv. Et skript kan også kjøre en CLI automatisk, men det er fortsatt et menneske som har bestemt nøyaktig hvilken kommando som skal kjøres, og når.
Hva er et API?
Et API (application programming interface) er en avtale mellom to programmer: hvis du sender en forespørsel formet på nøyaktig denne måten, får du et svar formet på nøyaktig denne måten. En utvikler leser dokumentasjonen én gang og skriver kode som kaller de riktige endepunktene - koden vet ikke noe utover det den er skrevet for å vite. Et API krever alltid at noen har skrevet integrasjonskoden på forhånd, for nettopp den ene bruken.
Hva er MCP - og hvordan skiller det seg fra API og CLI?
Den vanligste misforståelsen om MCP er at det er en ny type API. Det er det ikke. MCP løser et annet problem: hvordan skal en KI-modell oppdage hvilke handlinger som finnes, uten at en utvikler har skrevet spesialtilpasset kode for akkurat den modellen? MCP-serveren beskriver funksjonene sine i et format modellen forstår automatisk ved tilkobling, og modellen bestemmer selv, ut fra samtalen, hvilke verktøy den skal bruke og med hvilke parametere.
I praksis er nesten enhver MCP-server derfor et tynt oversettelseslag foran et API (eller en CLI) som allerede finnes - se hvordan MCP-raden under har ett ekstra steg sammenlignet med API-raden:
CLI — for et menneske ved et tastatur
Menneske
$ tripletex faktura list --status=ubetalt
kommando skrevet i terminalen
Tripletex sitt system
API — for et program bygget på forhånd
Kode en utvikler har skrevet
GET /v2/invoice?status=unpaid
HTTP-kall, slått opp i dokumentasjonen
Tripletex sitt system
MCP — for en KI-modell som oppdager selv
Claude
list_invoices(status: "unpaid")
verktøy modellen fant selv ved tilkobling
Tripletex MCP-server
oversetter til API-kallet over
Tripletex sitt system
Samme spørring, tre grensesnitt
Tabellen under sammenligner CLI, API og MCP direkte, med Tripletex-eksempelet over som referanse:
| Egenskap | CLI | API | MCP |
|---|---|---|---|
| Hvem bruker det | Et menneske (eller et skript på vegne av et menneske) | Et program, skrevet av en utvikler for én bestemt oppgave | En KI-modell/agent, som selv velger når og hvordan |
| Hvordan oppdages funksjonene | --help eller dokumentasjon, lest av et menneske | Dokumentasjon, lest av en utvikler før koden skrives | Beskrivelse hentet automatisk av modellen ved tilkobling |
| Når skrives koden | Én gang, samme kommando kjøres om og om igjen | Én gang, skreddersydd for én bestemt integrasjon | Ikke for selve bruken - modellen kombinerer verktøy fritt |
| Typisk transport | Lokal prosess, eventuelt over SSH | HTTP (REST/GraphQL) eller lignende | stdio (lokalt) eller Streamable HTTP (eksternt) |
| Autentisering | Innlogget bruker på maskinen, eller en nøkkelfil | API-nøkkel eller OAuth, satt opp av en utvikler | OAuth per bruker (fjernserver) eller nøkkel i miljøvariabel (lokal) |
Ulike former for CLI
- Lokal CLI - et program installert på maskinen din (
git,docker), som virker direkte på det som finnes lokalt. - Fjern-CLI - kommandoer som ser lokale ut, men i praksis sender forespørsler til en ekstern tjeneste (
kubectlmot en Kubernetes-klynge). Dette er i realiteten et tynt lag foran et API. - REPL / interaktivt skall - en CLI du fører en løpende samtale med, i stedet for én kommando om gangen.
Ulike former for API
- REST - den vanligste formen: ressurser identifisert med URL-er og HTTP-verb (GET, POST, PUT, DELETE).
- GraphQL - ett endepunkt, der klienten selv spesifiserer nøyaktig hvilke felter den vil ha. Både Sanity og Xledger sine MCP-servere i katalogen bygger på GraphQL-API-er.
- Webhook - motsatt retning av et vanlig API: systemet sender selv en melding når noe skjer, i stedet for at du spør.
- SDK - et bibliotek i et bestemt programmeringsspråk som pakker inn API-kallene, slik at utvikleren slipper å bygge HTTP-forespørsler for hånd.
Ulike former for MCP
En MCP-server kan kjøre på to ulike måter: lokalt (stdio), som en prosess MCP-klienten selv starter på din maskin - typisk for verktøy som trenger tilgang til lokale filer - eller eksternt (Streamable HTTP), hostet og nådd over internett, som regel med innlogging via OAuth. Alle de bekreftet offisielle serverne i katalogen - Tripletex, Sanity, SuperOffice og de andre - er av den eksterne typen.
Uavhengig av transport er en MCP-server bygget av tre typer byggeklosser:
Tools
Handlinger modellen kan utføre, som å opprette en faktura eller søke etter en kunde.
Resources
Data modellen kan lese for kontekst, som en kundeliste eller et dokument.
Prompts
Ferdige instruksjonsmaler serveren tilbyr for oppgaver som gjøres ofte.
Når bruker man hva?
- Bruk CLI når et menneske skal gjøre noe manuelt eller skripte en fast, kjent oppgave selv.
- Bygg et API når du skal koble to bestemte, kjente systemer sammen på en fast, forutsigbar måte.
- Bygg (eller koble til) en MCP-server når du vil at en KI-agent skal kunne resonnere seg fram til riktig handling i naturlig språk, uten at noen har forhåndsprogrammert nøyaktig den kombinasjonen av steg.
Vanlige spørsmål
Er MCP en erstatning for API?
Nei. MCP erstatter ikke API-et - de aller fleste MCP-servere er bygget oppå et eksisterende API eller CLI. MCP er et standardisert lag som beskriver API-ets funksjoner på en måte en KI-modell kan oppdage og bruke selv, uten at noen skriver integrasjonskode for akkurat den modellen.
Les utdypende svarKan man bygge en MCP-server uten et eksisterende API?
Ja, teknisk sett - en MCP-server kan hente data direkte fra en database eller en fil, uten noe API mellom. Men i praksis bygger de fleste MCP-servere oppå et API eller en CLI som allerede finnes, fordi det er der forretningslogikken og tilgangsstyringen allerede er løst riktig.
Les utdypende svarHva er forskjellen på tools, resources og prompts i MCP?
Tools er handlinger KI-modellen kan utføre, som å opprette en faktura. Resources er data modellen kan lese, som en kundeliste. Prompts er ferdige, gjenbrukbare instruksjonsmaler serveren tilbyr for vanlige oppgaver. De tre er MCP-standardens grunnleggende byggeklosser, og en MCP-server kan tilby alle tre, eller bare noen av dem.
Les utdypende svarHva er en MCP-server?
En MCP-server er et program som eksponerer ett bestemt system — for eksempel et regnskapsprogram, en database eller et CMS — til KI-modeller gjennom MCP-standarden. Den definerer hvilke data modellen kan lese og hvilke handlinger den kan utføre, og håndterer autentisering slik at kun godkjente forespørsler slipper gjennom.
Les utdypende svar