# Model Context Protocol (MCP) in Copilot Studio **Last updated:** 2026-06-19 | Verified: MCP 2026-06-19 **Status:** Generally Available (GA) **Category:** Copilot Extensibility & Integration --- ## Introduksjon Model Context Protocol (MCP) er en åpen standard som lar AI-agenter kommunisere med eksterne verktøy og datakilder på en konsistent måte. I Microsoft Copilot Studio fungerer MCP som en universell bro mellom agenten din og eksterne tjenester, uten at du trenger å bygge egne integrasjoner for hver enkelt datakilde. MCP ble opprinnelig utviklet av Anthropic og har blitt raskt adoptert som industristandardprotokoll for agent-til-verktøy-kommunikasjon. Microsoft har integrert MCP i hele AI-stakken sin, fra Copilot Studio til Microsoft Foundry, Power Platform, og M365 Copilot. **Kjerneverdien med MCP i Copilot Studio:** - En enkelt MCP-server kan eksponere flere tools og resources som blir automatisk tilgjengelig for agenten - Tools og resources oppdateres dynamisk — endringer på serveren reflekteres automatisk i Copilot Studio uten republisering - Standardisert kontekstlevering sikrer at AI-modellen får konsistent informasjon uavhengig av datakilde **Forskjell fra Power Platform Connectors:** | Aspekt | MCP | Power Platform Connectors | |--------|-----|---------------------------| | **Konfigurasjon** | Sentral definisjon på server-siden | Må beskrives per agent | | **Oppdatering** | Automatisk ved endring på server | Krever manuell oppdatering | | **Bruksområde** | API-er som endres ofte, multi-agent-løsninger | Stabile API-er, enkle integrasjoner | | **Vedlikehold** | Ett sted (MCP-server) | Per agent/connector | --- ## Kjernekomponenter ### MCP-arkitektur i Copilot Studio ``` ┌─────────────────────────────────────────┐ │ Copilot Studio Agent │ │ (Generative Orchestration påkrevd) │ └──────────────┬──────────────────────────┘ │ │ MCP Protocol (Streamable HTTP) ▼ ┌─────────────────────────────────────────┐ │ MCP Server │ │ ┌───────────────────────────────────┐ │ │ │ Tools (functions) │ │ │ │ - create_task, get_accounts, etc. │ │ │ └───────────────────────────────────┘ │ │ ┌───────────────────────────────────┐ │ │ │ Resources (data sources) │ │ │ │ - file contents, API responses │ │ │ └───────────────────────────────────┘ │ │ ┌───────────────────────────────────┐ │ │ │ Prompts (templates) [kommende] │ │ │ └───────────────────────────────────┘ │ └─────────────────────────────────────────┘ ``` **Konfidensmarkering:** Verified (MCP-dokumentasjon fra Microsoft Learn, re-verified MCP 2026-06-19) ### Tre MCP-komponenter | Komponent | Beskrivelse | Support i Copilot Studio | |-----------|-------------|--------------------------| | **Tools** | Funksjoner som language model kan kalle for å utføre handlinger (f.eks. "create_task", "get_accounts") | ✅ GA | | **Resources** | Filliknende data som agenten kan lese for kontekst (f.eks. API-responser, filinnhold) | ✅ GA | | **Prompts** | Predefinerte prompt-templates for spesifikke oppgaver | ⏳ Planlagt støtte | ### Støttede transporter Copilot Studio støtter **Streamable HTTP transport** for MCP-kommunikasjon. > **Viktig:** SSE (Server-Sent Events) transport ble deprecated i MCP-spesifikasjonen og er ikke lenger støttet i Copilot Studio etter august 2025. **Transport-eksempel (OpenAPI YAML):** ```yaml swagger: '2.0' info: title: Contoso Lead Management description: MCP Server for lead management version: 1.0.0 host: contoso.com basePath: / schemes: - https paths: /mcp: post: summary: Contoso Lead Management Server x-ms-agentic-protocol: mcp-streamable-1.0 operationId: InvokeMCP responses: '200': description: Success ``` **Konfidensmarkering:** Verified (Microsoft Learn code sample, feb 2026) ### Autentisering Copilot Studio MCP onboarding wizard støtter tre autentiseringstyper: | Type | Bruksområde | Kompleksitet | |------|-------------|--------------| | **None** | Åpne API-er, interne tjenester uten sikkerhetskrav | Lav | | **API Key** | Enkle API-er med key-basert autentisering (header eller query param) | Middels | | **OAuth 2.0** | Tjenester som krever brukersamtykke og token-basert tilgang | Høy | **OAuth 2.0-varianter:** - **Dynamic discovery** — automatisk registrering med identity provider (enklest) - **Dynamic** — dynamisk registrering, men manuelle endpoint-konfigurasjoner - **Manual** — full manuell konfigurasjon (client ID, secret, auth URL, token URL, refresh URL) --- ## Arkitekturmønstre ### Mønster 1: Microsoft-managed MCP Servers (anbefalt for standard-tjenester) **Bruk:** Når du trenger integrasjon med Microsoft-tjenester som Dataverse, Dynamics 365, Outlook, GitHub. **Fordeler:** - Ferdigkonfigurerte servere fra Microsoft (Dataverse MCP Server, Dynamics 365 Sales MCP Server, Mail MCP Server, etc.) - Automatisk oppdatering og vedlikehold - Bygget inn i Power Platform-økosystemet - Ingen infrastruktur å administrere **Ulemper:** - Begrenset til Microsoft-tjenester og utvalgte partnere - Mindre fleksibilitet i tilpasning **Eksempel:** ``` Agent: "Hvor mange accounts har jeg i Dataverse?" ↓ MCP Client (Copilot Studio) ↓ Dataverse MCP Server → list_tables, describe_table, query_records ↓ Svar: "Du har 247 accounts." ``` **Konfidensmarkering:** Verified (Microsoft Dataverse MCP-dokumentasjon) --- ### Mønster 2: Custom MCP Server (anbefalt for egne tjenester) **Bruk:** Når du trenger å eksponere interne API-er, line-of-business-systemer, eller tredjepartstjenester som ikke har en ferdig MCP-server. **Fordeler:** - Full kontroll over tools og resources - Kan eksponere eksisterende REST API-er uten omskriving - Sentral styring av verktøy-beskrivelser - Kan gjenbrukes på tvers av flere agenter **Ulemper:** - Krever utvikling og hosting av MCP-server - Må vedlikeholde OpenAPI-spesifikasjon (YAML) - Infrastrukturansvar (hosting, sikkerhet, skalering) **Implementasjonsalternativer:** | Plattform | Språk | Bruksområde | |-----------|-------|-------------| | **Azure App Service** | Node.js, Python, Java, .NET | Enterprise-skala hosting; eksponerer eksisterende REST API-er som MCP tools | | **Azure Container Apps** | Docker | Managed identity-integrasjon | | **MCP SDK** | TypeScript, Python | Rask prototyping | **Azure App Service som MCP-server:** App Service har innebygd støtte for Microsoft Entra ID og managed identities for produksjonsklare MCP-servere. Det finnes to vertsmønstre: (1) **Bring your own MCP server** — legg til en MCP SDK i koden og eksponer et MCP-endepunkt (tutorials for .NET, Java, Node.js og Python); (2) **App Service built-in MCP (Preview)** — for eksisterende REST API-er med en OpenAPI 3.x-spesifikasjon kan plattformen være MCP-server uten kodeendringer (hver operasjon blir et MCP-tool over Streamable HTTP, med autentisering, protokollforhandling og hot-reload av spec håndtert av plattformen). **Konfidensmarkering:** Verified (Azure App Service MCP-dokumentasjon) --- ### Mønster 3: Multi-Agent MCP-økosystem **Bruk:** Når flere agenter (på tvers av Copilot Studio, M365 Copilot, GitHub Copilot) skal dele samme MCP-server. **Fordeler:** - "Write once, run anywhere" — én MCP-server, mange klienter - Konsistent oppførsel på tvers av agenter - Redusert duplisering av integrasjonskode **Ulemper:** - Høyere kompleksitet i orkestreringslogikk - Må håndtere ulike agent-kontekster **Eksempel:** ``` ┌─────────────────┐ ┌─────────────────┐ │ Copilot Studio │ │ M365 Copilot │ │ (Sales Agent) │ │ (Support Agent) │ └────────┬────────┘ └────────┬────────┘ │ │ │ MCP Protocol │ ├─────────────┬───────────┤ │ ┌──────▼──────┐ │ Custom MCP │ │ Server │ │ (CRM API) │ └─────────────┘ ``` **Konfidensmarkering:** Baseline (arkitekturmønster basert på MCP-spesifikasjonen) --- ## Beslutningsveiledning ### Velg riktig integrasjonsmetode ``` Trenger du integrasjon med Microsoft-tjenester (Dataverse, Dynamics, Outlook)? ↓ JA → Bruk Microsoft-managed MCP Server (f.eks. Dataverse MCP Server) ↓ NEI Har du en eksisterende REST API som endres ofte? ↓ JA → Bygg Custom MCP Server ↓ NEI Er API-en stabil, og brukes kun i én agent? ↓ JA → Vurder Power Platform Connector (enklere for enkle scenarioer) ↓ NEI Trenger du "write once, run anywhere" for flere agenter? ↓ JA → Bygg Custom MCP Server ``` ### Vanlige feil | Feil | Konsekvens | Løsning | |------|-----------|---------| | **Generative Orchestration ikke aktivert** | MCP-tools blir ikke tilgjengelig | Aktiver Generative Orchestration i agent-settings | | **SSE transport brukt etter aug 2025** | Serveren fungerer ikke | Oppgrader til Streamable HTTP transport | | **Dårlig tool-beskrivelse** | Agenten kaller aldri tool'et | Skriv tydelig, kontekstuell beskrivelse som orchestrator kan forstå | | **Manglende OAuth callback URL** | Autentisering feiler | Registrer callback URL fra Copilot Studio i identity provider | ### Røde flagg ⚠️ **Ikke bruk MCP hvis:** - Du bare trenger én enkel API-kobling i én agent → bruk Power Platform Connector - Du trenger klassisk conversation flow control (topics) → MCP fungerer ikke i topics, kun i generative agenter - Du prototyper raskt uten infrastruktur → bruk direkte API-kall først, bygg MCP-server senere --- ## Integrasjon med Microsoft-stakken ### Copilot Studio **MCP-integrasjon:** - Tools og resources legges til via "Add a tool" → "Model Context Protocol" - MCP onboarding wizard hjelper med server-konfigurasjon og autentisering - Tools kan aktiveres/deaktiveres per agent **Krav:** - Generative Orchestration må være aktivert - Power Platform-miljø med Copilot Studio-tilgang ### Power Platform **Dataverse MCP Server:** - Forhåndsbygd MCP-server for Dataverse - Gir agenter read/write-tilgang til Dataverse-tabeller - Kan konfigureres for å tillate CRUD-operasjoner **Power Automate:** - Kan kalle MCP-servere indirekte via Copilot Studio-agenter - Planlagt støtte for direkte MCP-integrasjon (roadmap 2026) ### M365 Copilot **Declarative Agents med MCP:** - Kan koble MCP-servere til declarative agents i M365 - Krever Microsoft 365 Agents Toolkit (v6.3+) - MCP-server eksponeres som plugin for M365 Copilot **Eksempel:** ```json { "servers": { "contoso-crm": { "url": "https://contoso.com/mcp", "type": "http" } } } ``` **Konfidensmarkering:** Verified (M365 Copilot extensibility-dokumentasjon) ### Microsoft Foundry **Azure MCP Server:** - Kan deploye MCP-servere til Azure Container Apps med managed identity - Støtte for Azure Developer CLI (azd) for deployment - Integrasjon med Azure OpenAI via IChatClient og MCP SDK **Konfidensmarkering:** Verified (Azure Developer MCP-dokumentasjon) --- ## Offentlig sektor (Norge) ### GDPR og datasuverenitet **MCP og personopplysninger:** - MCP-servere kan potensielt eksponere personopplysninger via tools og resources - Databehandleravtale må inngås hvis MCP-server driftes av tredjepart - **Risikoområde:** MCP-servere som hoster utenfor EØS må følge Schrems II-krav **Anbefalinger:** - Host kritiske MCP-servere i Azure Norway East/West for datasuverenitet - Bruk managed identity for autentisering (unngå API keys i konfigurasjon) - Loggfør alle MCP tool calls for revisjonsformål ### AI Act-relevans **MCP som "AI-komponent":** - MCP-servere kan klassifiseres som "AI-komponent" hvis de bruker ML-modeller for tool-seleksjon - Transparenskrav gjelder: dokumenter hvilke tools som er tilgjengelig og hva de gjør **Anbefalinger:** - Oppretthold oversikt over hvilke MCP-servere som brukes i produksjonsagenter - Dokumenter tool-beskrivelser på norsk for brukertransparens ### Forvaltningsloven og automatiserte beslutninger **MCP i saksbehandling:** - Hvis MCP tools brukes til å hente data for automatiserte beslutninger, må forvaltningslovens krav følges - **Eksempel:** MCP tool "approve_application" må logges som beslutningsgrunnlag **Anbefalinger:** - Implementer audit logging for MCP tool calls - Sikre at menneske-i-løkken er involvert for kritiske beslutninger **Konfidensmarkering:** Baseline (juridisk tolkning basert på standard GDPR/AI Act-krav) --- ## Kostnad og lisensiering ### Lisenser | Komponent | Lisenskrav | |-----------|-----------| | **Copilot Studio** | Inkludert i M365 Copilot-abonnement eller standalone Copilot Studio-lisens | | **MCP-integrasjon** | Ingen ekstra kostnad for MCP-funksjonalitet | | **Power Platform Connectors (premium)** | Krever premium connector-lisens hvis MCP kaller premium connectors | ### Kostnadsmodell **MCP-server hosting:** | Plattform | Estimert kostnad (NOK/måned) | Bruksområde | |-----------|-------------------------------|-------------| | **Azure App Service (Basic B1)** | ~500 NOK | Lav trafikk, dev/test | | **Azure Container Apps (consumption)** | ~1000-5000 NOK | Variabel trafikk, produksjon | | **On-premises hosting** | Infrastrukturkostnad | Datasuverenitetskrav | **MCP tool calls:** - Ingen direkte kostnad per tool call - Indirekte kostnader: AI-modellbruk (GPT-4 tokens) for orchestration - **Estimat:** ~0.02-0.05 NOK per agent-interaksjon med MCP tool (avhengig av token-forbruk) ### Optimaliseringstips ✅ **Reduser kostnader:** - Bruk caching i MCP-server for ofte-forespurte data - Avgrens tool-beskrivelser for å redusere orchestration-kompleksitet - Deaktiver ubrukte tools for å redusere token-forbruk i orchestration **Konfidensmarkering:** Baseline (priser hentet fra Azure-kalkulatoren, feb 2026) --- ## For arkitekten (Cosmo) ### Spørsmål å stille i rådgivningen 1. **Omfang:** "Hvor mange agenter skal bruke denne MCP-serveren? Hvis svaret er 'én', vurder Power Platform Connector i stedet." 2. **API-stabilitet:** "Endres API-et ofte (ukentlig/månedlig)? Hvis ja, er MCP riktig valg for sentralisert vedlikehold." 3. **Sikkerhet:** "Hvilke data eksponeres via MCP-serveren? Kreves datasuverenitet eller GDPR-overholdelse?" 4. **Autentisering:** "Trenger brukeren å samtykke til tilgang (OAuth 2.0), eller holder det med API key?" 5. **Infrastruktur:** "Hvem skal drifte MCP-serveren? Har dere kapasitet til å hoste på Azure, eller trenger dere managed løsning?" 6. **Multi-agent:** "Skal samme tools brukes i Copilot Studio, M365 Copilot, og GitHub Copilot? Da er MCP den beste integrasjonsmetoden." 7. **Tool-kompleksitet:** "Hvor mange tools trenger agenten? Hvis > 10, vurder om MCP-serveren skal splittes opp." 8. **Compliance:** "Håndterer MCP-serveren personopplysninger? Må det logges for revisjonsformål?" ### Fallgruver å unngå | Fallgruve | Hvorfor det er problematisk | Løsning | |-----------|----------------------------|---------| | **MCP uten Generative Orchestration** | Tools blir ikke tilgjengelig | Sjekk at Generative Orchestration er aktivert før MCP-integrasjon | | **Vage tool-beskrivelser** | Orchestrator kaller aldri tool'et | Skriv kontekstuelle beskrivelser: "Use this tool when user asks about customer accounts" | | **MCP for enkle, statiske API-er** | Unødvendig kompleksitet | Bruk Power Platform Connector for enkle scenarioer | | **Manglende audit logging** | Compliance-brudd i offentlig sektor | Implementer logging av alle tool calls med bruker-ID og timestamp | | **Hardkodede secrets i OpenAPI** | Sikkerhetssårbarhet | Bruk Azure Key Vault eller managed identity | ### Anbefalinger per modenhetsnivå #### Nivå 1: Grunnleggende (kunde har aldri brukt MCP) - **Start med:** Microsoft-managed MCP Server (Dataverse eller Dynamics 365) - **Lær:** Bygg forståelse for tool discovery og orchestration - **Unngå:** Custom MCP-server før kunde forstår grunnprinsippene #### Nivå 2: Middels (kunde har brukt Power Platform Connectors) - **Start med:** Prototype custom MCP-server med Azure App Service - **Lær:** OpenAPI-spesifikasjon og tool-beskrivelser - **Unngå:** Kompleks OAuth 2.0 før API key-autentisering er testet #### Nivå 3: Avansert (kunde har flere agenter på tvers av plattformer) - **Start med:** Multi-agent MCP-arkitektur med Azure Container Apps - **Lær:** Managed identity, audit logging, og versjonering av tools - **Unngå:** Én stor MCP-server for alle tools — splitt i domener (CRM, ERP, HR) --- ## Kilder og verifisering **Microsoft Learn-dokumentasjon (Verified):** 1. [Extend your agent with Model Context Protocol](https://learn.microsoft.com/en-us/microsoft-copilot-studio/agent-extend-action-mcp) — hovedartikkel om MCP i Copilot Studio 2. [Connect your agent to an existing MCP server](https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent) — onboarding wizard og autentisering 3. [Add tools and resources from MCP server](https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-components-to-agent) — tool-konfigurasjon og selektiv tool-aktivering via "Allow all"-toggle 4. [Connect to Dataverse with MCP](https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp-copilot-studio) — Dataverse MCP Server 5. [Build plugins from MCP server for M365 Copilot](https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/build-mcp-plugins) — M365-integrasjon 6. [App Service as MCP servers](https://learn.microsoft.com/en-us/azure/app-service/scenario-ai-model-context-protocol-server) — Azure hosting 7. [Use agent tools to extend agents](https://learn.microsoft.com/en-us/microsoft-copilot-studio/guidance/agent-tools) — når bruke MCP vs. connectors **Offisiell MCP-spesifikasjon (Baseline for protokolldetaljer):** - [Model Context Protocol Introduction](https://modelcontextprotocol.io/introduction) — Anthropic-spesifikasjon **Konfidensnivå per seksjon:** | Seksjon | Nivå | Kilde | |---------|------|-------| | Kjernekomponenter | Verified | Microsoft Learn MCP-artikler (1-3) | | Støttede transporter | Verified | Microsoft Learn MCP-artikkel (2) | | Autentisering | Verified | Microsoft Learn MCP-artikkel (2) | | Arkitekturmønstre | Verified (mønster 1-2), Baseline (mønster 3) | Microsoft Learn (1, 4, 6) + arkitekturprinsipp | | Integrasjon med Microsoft-stakken | Verified | Microsoft Learn (4, 5, 6) | | Offentlig sektor | Baseline | Juridisk tolkning (GDPR/AI Act) | | Kostnad | Baseline | Azure-priskalkulator (feb 2026) | --- **Sist oppdatert:** 2026-06-19 **Neste review:** 2026-09-19 (ved nye MCP-features i Copilot Studio)