Hvordan bygge en MCP-server i Claude Desktop – en praktisk guide

CometAPI
AnnaNov 16, 2025
Hvordan bygge en MCP-server i Claude Desktop – en praktisk guide

Siden Anthropics offentlige introduksjon av Model Context Protocol (MCP) on November 25, 2024MCP har gått raskt fra konsept til praktisk økosystem: en åpen spesifikasjon og flere referanseservere er tilgjengelige, fellesskapsimplementeringer (minneservere, filsystemtilgang, netthentere) er på GitHub og NPM, og MCP støttes allerede i klienter som Claude for skrivebord og tredjepartsverktøy. Protokollen har utviklet seg (spesifikasjonen og servereksemplene har blitt oppdatert frem til 2025), og leverandører og ingeniører publiserer mønstre for tryggere og tokeneffektive integrasjoner.

Denne artikkelen veileder deg gjennom byggingen av en MCP-server, tilkoblingen av den til Claude Desktop, og praktiske / sikkerhets- / minnetips du trenger i produksjonen.

Hva er modellkontekstprotokollen (MCP)?

En enkel engelsk definisjon

Modellkontekstprotokollen (MCP) er en åpen, standardisert protokoll det gjør det enkelt for LLM-verter (appene som kjører modellen, f.eks. Claude Desktop) å ringe til eksterne tjenester som eksponerer ressurser (filer, DB-rader), verktøy (funksjoner modellen kan påkalle), og ledetekster (maler modellen kan bruke). I stedet for å implementere N×M-integrasjoner (hver modell til hvert verktøy), tilbyr MCP et konsistent klient-server-skjema og en kjøretidskontrakt, slik at enhver MCP-bevisst modellvert kan bruke hvilken som helst MCP-kompatibel server – slik at utviklere kan bygge tjenester én gang og la enhver MCP-bevisst modell eller brukergrensesnitt (f.eks. Claude Desktop) bruke dem.

Hvorfor MCP er viktig nå

Siden Anthropic introduserte MCP med åpen kildekode sent i 2024, har protokollen raskt blitt et de facto interoperabilitetslag for verktøyintegrasjoner (Claude, VS Code-utvidelser og andre agentmiljøer). MCP reduserer dupliseringsarbeid, fremskynder utviklingen av koblinger (Google Drive, GitHub, Slack osv.) og gjør det enklere å knytte permanente minnelagre til en assistent.

Hva er MCP-arkitekturen, og hvordan fungerer den?

På et overordnet nivå definerer MCP tre rollegrupper og flere interaksjonsmønstre.

Kjernekomponenter: klienter, servere og registeret

  • MCP-klient (vert): LLM-verten eller -applikasjonen som ønsker kontekstuelle data – Claude Desktop, en VS Code-agent eller en webapp. Klienten oppdager og kobler seg til én eller flere MCP-servere.
  • MCP-server (ressursleverandør): En nettverkstjeneste som eksponerer ressurser (filer, minner, databaser, handlinger) via MCP-skjemaet. Servere deklarerer sine funksjoner og tilbyr endepunkter som klienten kan kalle.
  • Register / Oppdagelse: Valgfrie komponenter eller konfigurasjonsfiler som hjelper klienten med å oppdage tilgjengelige MCP-servere, liste opp funksjoner og administrere tillatelser eller installasjon (skrivebords"utvidelser" er ett UX-lag for dette).

Meldingsflyter og forhandling av kapasitet

MCP-interaksjoner følger vanligvis dette mønsteret:

  1. Oppdagelse / registrering: Klienten lærer om tilgjengelige servere (lokale, nettverksbaserte eller kuraterte registre).
  2. Kunngjøring om kapasitet: Serveren deler et manifest som beskriver ressurser, metoder og autorisasjonskrav.
  3. Forespørsel / svar: Klienten sender strukturerte forespørsler (f.eks. «les fil X», «søk i minner etter Y» eller «opprett PR med disse filene»), og serveren svarer med innskrevne kontekstuelle data.
  4. Handlingsresultater og strømming: Servere kan strømme resultater eller tilby endepunkter for langvarig drift. Spesifikasjonen definerer skjemaer for typede ressursbeskrivelser og svar.

Sikkerhetsmodell og tillitsgrenser

MCP standardiserer bevisst kontrollflater slik at LLM-er kan handle på brukerdata og utføre handlinger. Denne kraften krever nøye sikkerhetskontroller:

  • Eksplisitt brukersamtykke / forespørsler anbefales når servere kan få tilgang til private data eller utføre privilegerte handlinger (f.eks. skrive til repositorier).
  • Minst mulig privilegium manifesterer seg: Servere bør deklarere minimumsomfang, og klienter bør kun be om nødvendige funksjoner.
  • Transport og autorisasjon: Bruk TLS, tokenisert legitimasjon og lokale endepunkter for sensitive integrasjoner. Fellesskapet og plattformleverandørene (f.eks. Microsoft i Windows) eksperimenterer med registre og brukergrensesnittmuligheter for å redusere risikoer.

Hvorfor integrere Claude med MCP-servere?

Integrering av Claude med MCP-servere åpner for tre praktiske klasser av funksjoner:

Sanntids, handlingsrettet kontekst

I stedet for å kopiere og legge inn utdaterte øyeblikksbilder i ledetekster, kan Claude be om oppdatert kontekst (filer, samtalehistorikk, databaserader) under spørringen. Dette betyr færre omtrentlige hentinger og nyere resultater. Anthropics demonstrasjoner viser Claude som gjør ting som å opprette GitHub PR-er eller lese lokale filer via MCP.

Små, sammensettbare verktøy i stedet for én gigantisk adapter

Du kan skrive fokuserte MCP-servere – én for kalender, én for filsystem, én for et vektorminnelager – og gjenbruke dem på tvers av forskjellige Claude-instanser eller klienter (desktop, IDE, web). Denne modulariteten skalerer bedre enn skreddersydde integrasjoner.

Vedvarende og standardisert hukommelse

MCP muliggjør minnetjenester: vedvarende lagre som koder samtalehistorikk, personlige preferanser og strukturert brukerstatus. Fordi MCP standardiserer ressursmodellen, kan flere klienter gjenbruke den samme minneserveren og opprettholde en konsistent brukerkontekst på tvers av apper. Flere fellesskapsminnetjenester og utvidelsesmønstre finnes allerede.

Bedre brukeropplevelse og lokal kontroll (Claude Desktop)

På skrivebordsklienter gir MCP lokale servere direkte tilgang til en brukers filsystem (med samtykke), noe som gjør personvernsensitive integrasjoner mulige uten skybaserte API-er. Anthropics skrivebordsutvidelser er et eksempel på forenkling av installasjon og oppdagelse av MCP-servere på lokale maskiner.

Slik oppretter du en MCP-server

Det du trenger før du starter

  1. Claude DesktopInstaller den nyeste versjonen av Claude Desktop for operativsystemet ditt, og sørg for at støtte for MCP/Extensions er aktivert i innstillingene. Enkelte funksjoner kan kreve et betalt abonnement (Claude Pro eller tilsvarende).
  2. FremkallermaskinNode.js (>=16/18 anbefales), eller Python 3.10+, pluss ngrok eller en lokal tunnelløsning hvis du vil eksponere en lokal server for internett for testing. Bruk TLS i produksjon.
  3. MCP-prosjektet tilbyr SDK-er og maler i hoveddokumentasjonen og GitHub-repoet. Installer Python- eller Node SDK-en via de offisielle instruksjonene i docs/repoet.

Alternativ A – Installer en eksisterende (eksempel) MCP-server

Anthropic tilbyr eksempelservere, inkludert minne, filsystem og verktøy.

Klon referanseserverne:

git clone https://github.com/modelcontextprotocol/servers.git
cd servers

Inni finner du mapper som:

filesystem/
fetch/
memory/
weather/

Slik installerer du en eksempelserver:

cd memory
npm install
npm run dev

Dette starter MCP-serveren, vanligvis på:

http://localhost:3000

Bekreft at manifestsluttpunktet fungerer, og at kalling av et verktøy returnerer riktig skrevet JSON.

Alternativ B – Lag din egen MCP-server (anbefales for læring)

1) Opprett en prosjektmappe

mkdir my-mcp-server
cd my-mcp-server
npm init -y

2) Installer MCP-serverens SDK

npm install @modelcontextprotocol/server

3) Opprett en grunnleggende serverfil

Opprett server.js:

touch server.js

Lim inn den minimale MCP-serverimplementeringen:

import { createServer } from "@modelcontextprotocol/server";

const server = createServer({
  name: "my-custom-server",
  version: "0.1.0",

  tools: [
    {
      name: "hello_world",
      description: "Returns a simple greeting",
      input_schema: {
        type: "object",
        properties: {
          name: { type: "string" }
        },
        required: 
      },
      output_schema: {
        type: "object",
        properties: {
          message: { type: "string" }
        }
      },
      handler: async ({ name }) => {
        return { message: `Hello, ${name}!` };
      }
    }
  ]
});

server.listen(3000);
console.log("MCP server running on http://localhost:3000");

Dette er en full MCP-server eksponere et enkelt verktøy: hello_world.

Hvordan kobler jeg Claude Desktop til en MCP-server?

Nedenfor finner du en praktisk gjennomgang av hvordan du oppretter en enkel MCP-server og registrerer den med Claude Desktop. Denne delen er praktisk: den dekker miljøoppsett, oppretting av servermanifestet, eksponering av endepunkter klienten forventer og konfigurering av Claude Desktop til å bruke serveren.

1) Åpne tilkoblingsområdet for Claude Desktop-utvikleren

I Claude Desktop: Innstillinger → Utvikler (eller Innstillinger → Koblinger avhengig av klientversjon). Det finnes et alternativ for å legge til en ekstern/lokal MCP-server eller «Legg til kobling». Det nøyaktige brukergrensesnittet kan endres mellom utgivelser – hvis du ikke ser det, kan du sjekke «Utvikler»-menyen på skrivebordet eller de nyeste utgivelsesnotatene.

MCP-server i Claude Desktop

2) Hvis du konfigurerer en lokal server: Opprett eller finn konfigurasjonsfilen

Etter at Claude-skrivebordsapplikasjonen er startet, konfigurerer den automatisk alle MCP-servere som er funnet i en fil med navnet ClaudeDesktopConfig.json. Det første trinnet er å finne og åpne denne filen, eller opprette den hvis den ikke allerede finnes:

For Windows-brukere ligger filen under «%APPDATA%\Claude\claude_desktop_config.json».

For Mac-brukere ligger filen under «~/Library/Application Support/Claude/claude_desktop_config.json».

3) Legg til serveren i Claude Desktop

Det finnes to UX-mønstre for å gi Claude Desktop beskjed om MCP-serveren din:

Skrivebordsutvidelser / Installasjonsprogrammer med ett klikkAnthropic har dokumentert «Desktop Extensions» som pakker manifester og installasjonsprogrammer slik at brukere kan legge til servere med ett klikk (anbefales for bredere distribusjon). Du kan pakke manifestet og servermetadataene dine for enkel installasjon.

**Registrering av lokal server (utviklermodus)**For lokal testing:

  • Plasser manifestet i en kjent lokal rute eller server det på https://localhost:PORT/.well-known/mcp-manifest.json.
  • I Claude Desktop-innstillingene åpner du MCP/Extensions-panelet og velger «Legg til lokal server» eller «Legg til server via URL», og limer inn manifest-URL-en eller tokenet.
  • Gi nødvendige tillatelser når klienten ber om det. Claude vil liste opp serverressurser og presentere dem som tilgjengelige verktøy/minner.

Nå velger vi å installere den lokale MCP-en:Legg til en mcpServers seksjon som viser servernavnet ditt og en absolutt sti/kommando for å starte den. Lagre og start Claude Desktop på nytt.

Etter omstart vil Claudes brukergrensesnitt presentere MCP-verktøyene (Søk og verktøy-ikonet) og la deg teste de eksponerte operasjonene (f.eks. «Hvordan er været i Sacramento?»). Hvis verten ikke oppdager serveren din, kan du kontakte mcp.log filer og mcp-server-<name>.log for STDERR-utgang.

4) Test integrasjonen

I Claude-chatten skriver du:

Call the hello_world tool with name="Alice"

Claude vil starte MCP-serveren din og svare ved hjelp av verktøyets utdata.

Hvordan implementerer jeg en minnetjeneste over MCP (avanserte tips)?

Minnetjenester er blant de kraftigste MCP-serverne fordi de vedvarer og viser brukerkontekst på tvers av økter. Følgende beste praksis og implementeringstips gjenspeiler spesifikasjonen, Claude-dokumentasjonen og fellesskapsmønstrene.

Minnedatamodell og design

  • Strukturert vs. ustrukturert: Lagre både strukturerte fakta (f.eks. navn, preferanseflagg) og ustrukturerte samtalebiter. Bruk typede metadata for rask filtrering.
  • Chunking og innebygging: Del opp lange dokumenter eller samtaler i semantisk sammenhengende deler og lagre vektorinnebygginger for å støtte likhetssøk. Dette forbedrer gjenfinning og reduserer tokenbruk under henting.
  • Nyhets- og fremtredende signaler: Registrer tidsstempler og fremtredende poengsummer; tillat spørringer som favoriserer nylige eller viktige minner.
  • Personvernkoder: Merk elementer med sensitivitetsetiketter (privat, delt, kortvarig) slik at klienten kan be om samtykke.

API-mønstre for minneoperasjoner

Gjennomfør minst tre operasjoner:

  • write: Godtar et minneelement med metadata, returnerer bekreftelse og lagrings-ID.
  • query: Godtar en spørring på naturlig språk eller et strukturert filter og returnerer topp-k samsvarende minner (valgfritt med metadata for forklaringsevne).
  • delete/updateStøtter livssyklusoperasjoner og eksplisitte brukerforespørsler om å glemme.

Design svar som inkluderer proveniens (hvor minnet kom fra) og en konfidens-/likhetsscore, slik at klienten og modellen kan bestemme hvor aggressivt minnet skal brukes.

Strategier for henting av Claude

  • Korte kontekstvinduer: Returner konsise minnebiter i stedet for fullstendige dokumenter; la Claude be om full kontekst om nødvendig.
  • Oppsummeringslag: Lagre eventuelt et kort sammendrag av hvert minne for å redusere tokens. Bruk trinnvis oppsummering ved skriving.
  • Kontrollert injeksjon: Tilby minne som en tilknyttet «kontekstpakke» som klienten kan injisere selektivt i ledetekster i stedet for å oversvømme modellen med alt.

Sikkerhet og styring for minne-MCP-er

  • Samtykke og revisjonsspor: Registrer når et minne ble opprettet og om brukeren samtykket til å dele det med modellen. Presenter tydelige brukergrensesnittmuligheter i Claude Desktop for gjennomgang og tilbakekalling av minner.
  • Hastighetsbegrensning og validering: Beskytt deg mot umiddelbar injeksjon eller eksfiltrering ved å validere typer og forhindre uventede kodeutførelsesforespørsler fra servere.
  • Kryptering i ro og under overføring: Bruk sterk kryptering for lagrede elementer og TLS for alle MCP-endepunkter. For skybaserte lagre, bruk konvoluttkryptering eller kundeadministrerte nøkler hvis tilgjengelig.

Konklusjon: Hvordan bygge en MCP-server i Claude Desktop

Artikkelen er en kompakt, pragmatisk oppskrift for å gå fra null → fungerende Claude + minneserver på den bærbare datamaskinen din:

  • Test en arbeidsflyt: be Claude om å «huske» et kort faktum og bekrefte at serveren lagret det; be deretter Claude om å huske dette faktumet i en senere oppgave. Observer logger og rangering av melodihenting.
  • Forutsetninger for installasjon: Node.js >= 18, Git, Claude Desktop (nyeste).
  • Klone en referanseserver: gaffelen modelcontextprotocol/servers eksempler eller en fellesskapsminneserver på GitHub.
  • Installer og kjør: npm installnpm run dev (eller følg README-filen for repositoriet). Bekreft manifestsluttpunktet (f.eks. http://localhost:3000/manifest) returnerer JSON. ()
  • Registrer koblingen i Claude Desktop: Innstillinger → Utvikler / Koblinger → Legg til kobling → pek på http://localhost:3000 og godkjenne omfang.

Ved å integrere Claude (eller en hvilken som helst vert) med MCP-servere kan du bygge en kobling én gang og ha den tilgjengelig på tvers av MCP-klienter – Claude Desktop, IDE-er eller andre agentrammeverk – noe som reduserer vedlikehold dramatisk og øker funksjonspariteten på tvers av verktøy.

Utviklere kan få tilgang til Claude AIs nyeste API (per datoen for publisering av denne artikkelen), for eksempel Claude Sonnet 4.5 API og Claude Opus 4.1 API gjennom Comet API, den nyeste modellversjonen er alltid oppdatert med den offisielle nettsiden. For å begynne, utforsk modellens muligheter i lekeplass og konsulter API-veiledning for detaljerte instruksjoner. Før du får tilgang, må du sørge for at du har logget inn på CometAPI og fått API-nøkkelen. CometAPI tilby en pris som er langt lavere enn den offisielle prisen for å hjelpe deg med å integrere.

Klar til å dra? → Registrer deg for CometAPI i dag !

Hvis du vil vite flere tips, guider og nyheter om AI, følg oss på VKX og Discord!

Les mer

500+ modeller i ett API

Opptil 20 % rabatt