Model Context Protocol: Standarden for å koble AI-agenter til omverdenen

Oppsummert

Tidsperiode
Tjenesteområde
Verktøy og metodikk

Innledning

I det forrige innlegget så vi hvordan moderne AI-agenter opererer i en kontinuerlig sløyfe – fra observasjon via orientering og beslutning til handling. Vi diskuterte OODA-loopen, context engineering, og hvordan agenter skiller seg fra tradisjonelle chatbots gjennom evnen til å utføre verktøykall og navigere autonomt mot et mål.

Men her er spørsmålet vi ikke besvarte: Hvordan kobler egentlig agenten seg til verktøyene?

Vi befinner oss fortsatt i fundamentdelen av denne bloggserien. Før vi kan diskutere avanserte temaer som multi-agent orchestration, autonomous debugging, eller long-running agents, må vi forstå limet som kobler alle brikkene sammen. MCP er dette limet – adapteren mellom agenter og omverdenen – og å forstå den grundig vil gjøre resten av serien langt mer tilgjengelig.

 

MCP (Model Context Protocol) er svaret på dette spørsmålet. Anthropic lanserte denne åpne standarden i november 2024, og i løpet av det drøye året som har gått, har den blitt den etablerte industristandarden for hvordan AI-agenter kobler seg til omverdenen. MCP kan best beskrives som en «USB-C for AI» – akkurat som USB-C ga oss én standardisert port for alle våre fysiske enheter, gir MCP oss én standardisert protokoll for å koble AI-modeller til data og verktøy.

 

I dag støtter praktisk talt alle seriøse AI-verktøy MCP. På utviklersiden har vi Claude, Cursor, Visual Studio Code - listen fortsetter. Men MCP strekker seg langt utover kodeeditorer: Slack har en offisiell MCP-server for meldinger og kanalsøk, Microsoft Teams AI Library har innebygd MCP-støtte, og det finnes MCP-servere for Notion, HubSpot, Supabase, og community-drevne MCPer for tusenvis av andre tjenester.

 

Hva betyr dette i praksis? Tenk deg en kollega som jobber i Teams hele dagen. Med MCP-støtte kan AI-assistenten hennes faktisk gjøre ting: finne den ene meldingen fra tre uker siden, oppsummere diskusjonen i en kanal, eller sjekke hvem som er tilgjengelig for et møte – uten at hun trenger å kopiere og lime inn kontekst manuelt. Det er forskjellen på en AI som bare kan svare på generelle spørsmål, og en som kan navigere i din faktiske arbeidshverdag. MCP gjør AI-assistenter nyttige for alle, ikke bare utviklere .

 

Derfor er det spesielt viktig å forstå hvordan protokollen fungerer – ikke fordi den er spesielt ny og spennende, men fordi den er grunnmuren vi bygger på. Når vi i senere innlegg diskuterer mer avanserte mønstre, regner jeg med at du forstår MCP-terminologien og arkitekturen.

 

I dette innlegget skal vi se på hva MCP faktisk er, hvorfor det er overlegent proprietære verktøykall, og hvordan du kan sette opp din første MCP-server.

Hva er egentlig MCP?

MCP er en åpen standard som bruker JSON-RPC 2.0 over enten stdio (lokalt) eller HTTP/SSE (remote) for å fasilitere kommunikasjon mellom en MCP Client (f.eks. Claude Desktop, Cursor, eller din egen agent) og en MCP Server som holder på dataene eller verktøyene.

 

Protokollen definerer tre hovedprimitiver som gir modellen tilgang til verden utenfor:

  1. Resources: Data som modellen kan lese. Dette fungerer som fil-lesing; modellen får innholdet i en fil, en database-rad eller en API-respons. Tenk på dette som "GET"-forespørsler i REST-arkitektur.
  2. Tools: Funksjoner modellen kan utføre. Dette er handlinger som krever godkjenning, som å opprette en pull request, kjøre en SQL-spørring eller sende en melding på vegne av deg på Slack, Teams eller e-post. Dette tilsvarer tradisjonelle verktøykall.
  3. Prompts: Forhåndsdefinerte maler som hjelper brukeren å bruke serveren effektivt. Dette kan være en spesialisert prompt for å analysere en database-tabell eller feilsøke en loggfil. Det kan også være å forstå en avansert mappestruktur og relasjoner mellom dokumenter i SharePoint.
MCP-arkitekturen kobler AI-klienter (som Claude eller IDE-er) til datakilder gjennom en standardisert protokoll, uavhengig av hvilken modell som brukes i bunnen. Kilde: Anthropic.

Det viktige her er ikke teknologien i seg selv (JSON-RPC er gammelt nytt), men standardiseringen . Fordi protokollen er lik på tvers av alle verktøy, kan en utvikler bygge  én  MCP-server for sitt interne API, og den vil umiddelbart fungere i Claude Desktop, Cursor, og alle andre verktøy som støtter standarden – uten noen tilpasning.

 

Bygg din egen MCP-server

Selv om det finnes hundrevis av ferdige servere, ligger den virkelige kraften i å eksponere dine egne data. Tenk deg en intern bedriftsagent som trenger tilgang til kundedata i en PostgreSQL-database, kan oppdatere et Google Sheet med ukentlige rapporter, og henter sanntidsinformasjon fra et internt API. Med MCP kan du eksponere alle disse datakildene gjennom én standardisert protokoll – og agenten kan resonnere på tvers av dem for å løse komplekse oppgaver.

 

La oss se på et minimalt eksempel. Takket være gode SDK-er er dette trivielt i mange programmeringsspråk, her demonstrert i TypeScript. Og selv om du ikke er utvikler – følg med på kommentarene. Jeg tror du vil forstå hva som skjer.

 

Et eksempel i TypeScript

Her bruker vi den offisielle SDK-en for å opprette en server som kjører over  stdio (standard input/output), som er standarden for lokale integrasjoner. Tenk deg at bedriften din har et internt SharePoint-API som du vil eksponere for AI-assistenten.

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import { sharepointApi } from "./services/sharepoint.js"; // 👈🏽 Ditt eksisterende interne API

const server = new McpServer({  // 👈🏽 Opprett en MCP-server
  name: "sharepoint-server",
  version: "1.0.0",
});

server.tool(  // 👈🏽 Definer et verktøy AI-en kan bruke
  "search_documents",
  { query: z.string().describe("Search query") },  // 👈🏽 Beskriv hva verktøyet trenger
  async ({ query }) => {
    const docs = await sharepointApi.search(query);  // 👈🏽 Kall ditt eksisterende API
    return {
      content: [
        {
          type: "text",
          text: docs.map(d => `${d.title} (${d.url})`).join("\\n"),  // 👈🏽 Returner resultatet
        },
      ],
    };
  }
);

const transport = new StdioServerTransport();  // 👈🏽 Sett opp kommunikasjonskanalen
await server.connect(transport);  // 👈🏽 Start serveren – ferdig!

 

Det å kunne eksponere komplekse interne systemer – enten det er en legacy database, et internt API, eller loggfiler – gjennom så enkle grensesnitt, endrer spillereglene for hva vi kan bruke AI til i hverdagen.

 

Tips: Har du allerede et REST API? Da trenger du kanskje ikke å bygge en separat MCP-server fra bunnen av. Mange populære webrammeverk har god støtte for å eksponere MCP-endepunkter direkte. Model Context Protocol (MCP) :: Spring AI Reference har innebygd MCP-støtte for Java/Kotlin, og  @hono/mcp lar deg enkelt legge til MCP i en Hono-applikasjon. Dette betyr at du kan gjenbruke eksisterende forretningslogikk og autentisering uten duplisering.

 

Oppsummering

MCP er fundamentet som resten av den agentiske stacken hviler på. Ved å standardisere hvordan modeller kobler seg til omverdenen, flytter vi fokuset fra  integrasjon til innovasjon .

 

Hovedinnsiktene å ta med seg:

  1. Standardisering vinner: Slutt å bygge proprietære verktøy-definisjoner. Sjekk om det finnes en MCP-server først.
  2. Lokal først: MCP gjør det trygt og enkelt å koble sky-modeller til lokale data uten at dataene må lastes opp permanent.
  3. Økosystem: Med tusenvis av servere allerede tilgjengelig, kan du plugge agenten din rett inn i PostgreSQL, Slack, Microsoft 365, eller GitHub i dag.

 

Vi har nå to fundamentale brikker på plass: forståelsen av agentiske arbeidsflyter fra forrige innlegg, og MCP som infrastrukturen som kobler agenter til verden. Med dette fundamentet kan vi i fremtidige innlegg utforske mer avanserte mønstre.

 

Ressurser

 

Flere historier

Text Link
Text Link
Text Link

Man må starte et sted…

Vil du skape en organisasjon der du både leverer og trives? La oss ta en prat.

Oliver

obr@capraconsulting.no
+47 971 20 556

Bli kontaktet av oss

Takk!
Vi følger deg opp innen kort tid!
Oops! Something went wrong while submitting the form.