Vad är en MCP-server? Förklaring på vanlig svenska med exempel

En MCP-server är ett litet program som ger en AI-modell tillgång till verktyg och data genom Model Context Protocol. Här går vi igenom vad den gör, hur den ser ut, hur ni kopplar en, och när det är värt att skriva en egen.

Walma Engineering·Uppdaterad 21 september 2026·8 min läsning

En MCP-server är ett litet program som ger en AI-assistent en uppsättning saker den kan göra. Den kan låta assistenten söka i era GitHub-repon, läsa ärenden i Jira, fråga en databas eller styra en webbläsare. Assistenten upptäcker vad servern erbjuder, anropar den när det är användbart och visar er resultatet.

"MCP" står för Model Context Protocol, den öppna standarden som beskriver hur samtalet mellan assistent och server går till. Vill ni ha hela bilden, börja med vår kompletta guide till MCP. Den här sidan svarar på den smalare frågan: vad är en server, konkret?

Vad en MCP-server gör

Varje MCP-server gör tre saker.

  1. Annonserar sina förmågor. När en assistent kopplar upp sig listar servern sina verktyg (åtgärder), resurser (data) och promptmallar. Varje verktyg har ett namn, en beskrivning skriven för modellen, och ett schema för sina indata.
  2. Utför anrop. När modellen bestämmer sig för att använda ett verktyg skickar assistenten en förfrågan till servern. Servern gör jobbet, oftast genom att anropa ett underliggande API, och skickar tillbaka resultatet.
  3. Håller sig utanför samtalet. Servern ser aldrig hela konversationen. Den ser bara de anrop som skickas till den. Det håller servrar enkla och begränsar skadan en illa uppförd server kan göra.

Ett konkret exempel

Säg att ni använder Claude Code och vill att den ska arbeta med teamets ärenden i Linear. Linear tillhandahåller en MCP-server. När Claude Code kopplar upp sig rapporterar servern verktyg som:

VerktygVad det gör
list_issuesSöker och filtrerar ärenden på team, status, tilldelad
get_issueHämtar ett ärende med dess kommentarer
create_issueSkapar ett ärende med titel, beskrivning, etiketter
update_issueÄndrar status, tilldelad eller prioritet

Sedan skriver ni: "Hitta de öppna buggarna som är tilldelade mig och föreslå ett branch-namn för den äldsta." Modellen anropar list_issues med rätt filter, läser resultatet, plockar den äldsta och svarar. Den behövde aldrig känna till Linears REST-API. Det skötte servern.

Anropet som gick över tråden är vanlig JSON-RPC:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "list_issues",
    "arguments": { "assignee": "me", "state": "open", "label": "bug" }
  }
}

Lokala kontra fjärrservrar

Det finns två sätt en server kan köras på.

Lokalt (stdio). Assistenten startar servern som en barnprocess och pratar med den via standardin- och utdata. Ingenting lämnar maskinen utöver det servern själv väljer att anropa. Det är det typiska upplägget för filsystemsåtkomst, lokala databaser och utvecklarverktyg. Det innebär också att servern körs med ditt användarkontos rättigheter.

På distans (Streamable HTTP). Servern körs någon annanstans, hos leverantören eller i företagets egen miljö, och assistenten pratar med den över HTTPS. Autentiseringen är OAuth 2.1. Det är vad GitHub, Atlassian, Linear, Notion, Sentry och de flesta SaaS-leverantörer erbjuder idag, eftersom det innebär noll installation och central kontroll över vem som får koppla upp sig.

För ett företag är fjärrservrar lättare att styra och lokala servrar lättare att missbruka. En vanlig policy är: fjärrservrar från en godkänd lista, lokala servrar bara från en kort intern katalog.

Så kopplar ni en

Mekaniken skiljer sig något mellan klienter, men formen är densamma överallt.

Claude Code. Från terminalen:

# Fjärrserver över HTTP
claude mcp add --transport http linear https://mcp.linear.app/mcp

# Lokal server som startas som en process
claude mcp add --transport stdio filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/projekt

Inne i en session visar /mcp de uppkopplade servrarna och startar OAuth-inloggningen för fjärrservrar. Servrar kan gälla bara er, ett projekt (en incheckad .mcp.json-fil), eller ert användarkonto i alla projekt.

Claude Desktop och claude.ai. Fjärrservrar läggs till som connectors i inställningarna. Lokala servrar på desktop deklareras i en JSON-konfigfil.

Cursor och VS Code. Båda läser en mcp.json-fil i projektet eller i användarinställningarna, med samma struktur av kommando eller URL.

När uppkopplingen är klar listar assistenten verktygen och frågar om lov första gången den vill använda ett. Läsande verktyg godkänns oftast en gång; skrivande verktyg är värda att godkänna per anrop tills ni litar på servern.

När det är värt att skriva en egen

De flesta team behöver aldrig skriva en server, eftersom systemen de använder redan har en. Ni skriver en egen när:

  • systemet är internt och saknar publik server (ett affärssystem, ett datalager, en kundportal);
  • den publika servern exponerar för mycket och ni vill ha en smalare, säkrare yta, till exempel läsrättighet mot tre specifika tabeller;
  • ni vill kombinera flera system bakom en uppsättning verktyg som matchar hur teamet faktiskt arbetar.

De officiella SDK:erna (TypeScript och Python används mest) gör en minimal server till ungefär hundra rader. En verktygsdefinition i TypeScript-SDK:n ser ut så här:

server.registerTool(
  "get_customer",
  {
    description: "Hämta en kundpost via kundnummer.",
    inputSchema: { customerNo: z.string() },
  },
  async ({ customerNo }) => {
    const c = await crm.customers.get(customerNo)
    return { content: [{ type: "text", text: JSON.stringify(c) }] }
  },
)

Det svåra är inte koden. Det är att bestämma vad som ska exponeras, hur autentiseringen ska fungera, och hur ni hindrar modellen från att luras via den data den läser. Vår guide om MCP-säkerhet går igenom det.

Vad ett företag behöver veta

Tre saker förändras när MCP-servrar går från en laptop till en hel organisation.

För det första: listan av servrar blir en attackyta. Vem som helst kan publicera en server, och modellen litar på verktygsbeskrivningar. En central godkännandelista är minimum.

För det andra: dataväg spelar roll. En fjärrserver som driftas utanför EU tar emot allt modellen skickar till den. För företag under GDPR kräver det en rättslig grund, inte bara en säkerhetsgranskning.

För det tredje: ni behöver loggen. Vilken användare, vilken assistent, vilken server, vilket verktyg, vilka argument, när. Utan den blir incidenthantering gissningar.

Det vanliga svaret är en MCP-gateway i er egen region som alla assistenter går igenom. Walma AI Hub är det lagret, i kundens egen Azure-tenant, och driftar de MCP-servrar företaget godkänt bredvid den. Planerar ni en utrullning? Boka en genomgång.

Vanliga frågor

Vad är en MCP-server, enkelt förklarat?+

En MCP-server är ett program som sitter mellan en AI-assistent och ett system som GitHub, en databas eller en kalender. Den talar om för assistenten vilka åtgärder som finns och utför dem på begäran, via ett standardprotokoll så att vilken MCP-kompatibel assistent som helst kan använda den.

Är en MCP-server samma sak som ett API?+

Nej. Ett API är hur program pratar med ett system. En MCP-server lindar ett API och beskriver det i en form som en AI-modell kan förstå och anropa. De flesta MCP-servrar är tunna lager ovanpå ett API som redan finns.

Körs MCP-servrar på min dator eller i molnet?+

Båda förekommer. Lokala servrar körs som en process på din maskin och pratar över standardin- och utdata. Fjärrservrar körs hos en leverantör eller i företagets egen miljö och pratar över HTTP. Fjärrservrar är det de flesta SaaS-leverantörer erbjuder.

Kan en MCP-server läsa mina filer?+

Bara om det är en server byggd för det, till exempel en filsystemsserver, och bara inom det omfång den startades med. Lokala servrar körs med ditt användarkontos rättigheter, så välj dem med omsorg och begränsa vilka kataloger de når.

Hur lägger jag till en MCP-server i Claude Code?+

Kör claude mcp add följt av ett namn och kommandot eller URL:en. För en fjärrserver används http-transporten, och du loggar in med kommandot /mcp inne i en session. Servrar som ska gälla hela projektet kan checkas in i en .mcp.json-fil.

Walma AI Hub

Samma verktyg, i er EU-region, under er kontroll

En genomgång på 20 minuter med en ingenjör. Vi mappar det mot era verktyg, MCP:er och er budgetmodell.