MCP-server
Et lille program, der tilbyder værktøjer eller data til AI-apps via Model Context Protocol, fx at læse mail eller søge i filer.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
Et program, der taler Model Context Protocol og fortæller en tilsluttet AI-app, hvilke værktøjer, data og prompts det tilbyder, hver med et navn og en tekstbeskrivelse; det udfører de værktøjskald, det modtager, enten på samme maskine eller over internettet.
Forklaret enkelt
Som at lukke en vikar fra et ukendt bureau ind på kontoret, fordi vikarens skrevne liste over, hvad vedkommende kan, ser nyttig ud - man har kun vikarens eget ord for, hvad der faktisk sker.
I praksis
Kontorchefen i en lille dansk virksomhed installerer en gratis MCP-server fra nettet, så en assistent kan styre hendes kalender; den beder om hele kontoens login, og hver værktøjsbeskrivelse, den sender, går direkte til modellen.
Hvorfor det betyder noget
Hver af dem er fremmed kode med reel adgang, der kører ved siden af ens assistent, så en sjusket eller ondsindet server kan lække hemmeligheder eller styre modellen - den skal installeres med samme omhu som al anden software.
Teknisk uddybning
En MCP-server udstiller op til tre primitiver på serversiden. Tools er funktioner, som modellen kalder; de annonceres via tools/list med et navn, en beskrivelse i naturligt sprog, et JSON Schema i inputSchema (JSON Schema 2020-12 er standarddialekten) og eventuelt et outputSchema og udføres via tools/call, der returnerer indholdsblokke og eventuelt structuredContent. Resources er data, som applikationen styrer, adresseret med URI'er og læst med resources/read, og prompts er skabeloner, som brugeren vælger, hentet med prompts/get. Værktøjer kan også have annotationer som readOnlyHint, destructiveHint, idempotentHint og openWorldHint; specifikationen siger, at klienter skal betragte dem som upålidelige, medmindre selve serveren er betroet, for en ondsindet server kan bare lyve.
Der er to standardtransporter. Med stdio starter værten serveren som en lokal underproces og udveksler linjeopdelt JSON-RPC over stdin og stdout; serveren kører med brugerens egne rettigheder i styresystemet, og autorisationsspecifikationen siger, at stdio-servere bør hente legitimationsoplysninger fra miljøet i stedet for at køre OAuth. Med Streamable HTTP er serveren et fjernendpoint og fungerer, når den er beskyttet, som OAuth 2.1-ressourceserver: Den skal publicere OAuth 2.0 Protected Resource Metadata (RFC 9728), kun acceptere tokens, hvis audience er den selv (resource indicators efter RFC 8707), og må ikke sende modtagne tokens videre til bagvedliggende API'er, en regel rettet mod confused deputy-problemet. Lokale HTTP-servere skal desuden validere Origin-headeren for at modstå DNS rebinding. Revisionen 2026-07-28 gjorde protokollen tilstandsløs: initialize-håndtrykket og headeren Mcp-Session-Id er fjernet, servere skal implementere server/discover, listeresultater har cachehints i ttlMs og cacheScope, og tilstand på tværs af kald skal modelleres som eksplicitte handles, der sendes med i værktøjsargumenterne.
Den største reelle risiko ligger i økosystemet af servere snarere end i selve protokollen. Tool poisoning gemmer instruktioner i værktøjsbeskrivelser, som værten giver ordret videre til modellen; et "rug pull" ændrer et værktøjs definition, efter at brugeren har godkendt det; og når flere servere er tilsluttet, kan én servers beskrivelser skygge for eller omdirigere en andens værktøjer. Almindelige softwarefejl gælder også: CVE-2025-6514, offentliggjort i juli 2025, var en kritisk OS command injection i den udbredte proxy mcp-remote, der blev udløst ved forbindelse til en ondsindet server. Valideringsfejl bør returneres som fejl i værktøjsudførelsen (isError) frem for protokolfejl, så modellen kan rette sit kald.
I drift bør en MCP-server behandles som enhver tredjepartsafhængighed med legitimationsoplysninger: Fastlås versioner og gennemgå kildekoden, foretræk officielle eller registerverificerede servere, udsted snævert afgrænsede tokens, kør lokale servere i en container eller sandkasse, hvor det er muligt, log hvert værktøjskald, og lad organisationen håndhæve en tilladelsesliste over godkendte servere via centralt styret klientkonfiguration.
Hvad du bør lære først
Alt det, dette bygger på - grundlaget først.
Relationer
- En slags
- Server
- Forudsætter
- Værktøjskald (tool calling)
Kilder og videre læsning
Officiel dokumentation
- Model Context Protocol specification (Server features; Authorization) · Model Context Protocol project (Agentic AI Foundation, Linux Foundation)
- Model Context Protocol specification 2026-07-28 - Authorization · Model Context Protocol project
Opslagsværker
- OWASP Top 10 for LLM Applications 2025 (LLM01 Prompt Injection; LLM06 Excessive Agency) · OWASP
- GitHub Advisory GHSA-6xpm-ggf7-wc3p (CVE-2025-6514) - OS command injection in mcp-remote · GitHub
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Test dig selv
Indlæser…