ms-ai-architect/skills/ms-ai-advisor/references/copilot-extensibility/mcp-protocol-copilot-studio.md
Kjell Tore Guttormsen 3a73eeafdc refactor(ms-ai-architect): R13 del 1 — nøytraliser Cosmo-personaen i ref-korpusets headinger, etter å ha rettet en gate som var målt usann to ganger
Ordre 20260912T193441Z-7358817909. Steg 1 var ikke transformen, men å rette
roadmapens R13-gate og få den ratifisert. Gaten `grep -rl "Cosmo"
skills/*/references -> 0` var usann på to uavhengige måter:

1. Ordren fanget den første: 451 av forekomstene er Azure Cosmos DB, ekte
   produktinnhold. Diskriminatoren er ikke bokstaven «s» — `Cosmos <norsk
   substantiv>` er genitiv av personaen (`### Cosmos tonalitet`), mens
   `Cosmos DB`/`CosmosClient`/`cosmos_ru` er produkt.
2. Denne økten fant den andre: 132 persona-forekomster ligger i prosa,
   tabeller, dialog-replikker og proveniens-linjer. Heading-nøytralisering
   kan ikke nå dem, så «0 persona» er uoppnåelig også under den ratifiserte
   formen. Operatøren ratifiserte alternativ A: gaten speiler formen, og de
   132 bokføres til R13b/R14.

Tre korreksjoner av premisser som sto i ordren og STATE:
  «ca 320 produkt»   -> 451 (case-sensitivt nett manglet 327 lowercase
                        TOC-ankre + 99 identifikatorer; sann nevner 1 638)
  «169 headinger»    -> 401. 169 var `^## For Cosmo`-prefikset (168) og var
                        internt inkonsistent med sin egen topp-variant (204)
  «417 matcher ingen
   populasjon»       -> 417 er cosmo-headinger utenfor kodefences; briefens
                        nevner var reell hele tiden

Fence-bevissthet er målt skadelig, ikke nødvendig: begge toggle-regler er
gale på dette korpuset (naiv toggle skjuler en ekte heading i
chain-of-thought-prompting.md, CommonMark-regelen ubalanserer
service-level-documentation-dr.md). Fence-agnostisk deteksjon finner 401
heading-linjer i nøyaktig de samme 40 variantene som fence-bevisst finner
400 i — ingen kodeblokk-linje er byte-identisk til en persona-heading. Derfor
nøkles transformen på 40 enumererte heading-tekster og ignorerer fences. En
ukjent variant kaster; en slug-kollisjon kaster. Ingenting auto-fikses.

TOC-en regenereres ikke, den rettes kirurgisk: alle 327 persona-lenker hadde
lenketekst lik én av de 40 heading-tekstene og anker lik slugify av den
(327/327, 0 avvik), så heading og TOC-entry skrives i samme operasjon og
ingen mellomtilstand etterlater en død lenke.

Ratifisert målform: `For Cosmo`, `For Cosmo Skyberg` og `For arkitekten
(Cosmo)` konvergerer på `For arkitekten`. To filer kolliderte og er adjudisert
ved å lese dem, ikke ved regel.

Verifisering (alle 7 kriterier fra ordren):
  G1 persona på heading-linjer   401 -> 0
  G2 døde fragmentlenker         1 -> 1 (pre-eksisterende, unntatt)
  G3 produkt-forekomster         451 -> 451; `Cosmos DB|Azure Cosmos` 308 = 308
  de 3 kun-produkt-filene        byte-identiske
  nettet validert begge veier    injisert persona feller G1; genitiv feller G1;
                                 produkt-heading og de 3 filene passerer
  hele diffen                    802 heading-linjer + 654 TOC-linjer, ANNET = 0
  linjeantall                    728 lagt til = 728 slettet
  suite                          1120/1120 (1097 + 23 nye)
  validate-plugin                250 PASS / 0 FAIL
  stikkprøve                     10 filer, alle 5 skills, inkl. de 3 mest
                                 produkt-tunge (26/20/19) — kun heading+TOC

Utenfor scope, urørt: de 4 SKILL.md, de 23 commands, CLAUDE.md, README.md,
NOTICE.md, docs/ (alt R14).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 22:12:28 +02:00

20 KiB

Model Context Protocol (MCP) in Copilot Studio

Last updated: 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):

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:

{
  "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

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 — hovedartikkel om MCP i Copilot Studio
  2. Connect your agent to an existing MCP server — onboarding wizard og autentisering
  3. Add tools and resources from MCP server — tool-konfigurasjon og selektiv tool-aktivering via "Allow all"-toggle
  4. Connect to Dataverse with MCP — Dataverse MCP Server
  5. Build plugins from MCP server for M365 Copilot — M365-integrasjon
  6. App Service as MCP servers — Azure hosting
  7. Use agent tools to extend agents — når bruke MCP vs. connectors

Offisiell MCP-spesifikasjon (Baseline for protokolldetaljer):

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)