Verifisert mot offisiell MS-doc (juni 2026): «Microsoft Foundry» er det gjeldende produkt-/portalnavnet; «Foundry (classic)» = gamle «Azure AI Foundry» (/azure/foundry/ vs /azure/foundry-classic/). Premiss bekreftet før sveip. Multi-regel, IKKE naiv s/Azure AI Foundry/Microsoft Foundry/ — MS dropper «Azure AI» (legger IKKE til «Microsoft») for to produktvarianter: - «Azure AI Foundry Agent[ Service|s]» → «Foundry Agent Service/Agents» (MS-form) - «Azure AI Foundry Models» → «Foundry Models» (i «Azure OpenAI in Foundry Models») - «Azure AI Foundry SDK» → «Microsoft Foundry SDK» (operatør-valg) - «Azure AI Foundry portal/project» + generisk → «Microsoft Foundry» - Pre-eksisterende «Microsoft Foundry Models» (4) normalisert → «Foundry Models» Bevart: «Azure OpenAI», «Azure AI Inference SDK», «Azure AI Search», «Azure AI Services», kode-IDer. Historisk ref «(tidligere Azure AI Foundry)» i model-catalog-2026.md beskyttet via lookbehind. URL /azure/ai-foundry/→ /azure/foundry/ kun i owasp-llm-top10 (KB-ref); docs/-filer deferred. Scope: skills (inkl. 3 SKILL.md) + commands + agents + README + CLAUDE. Ekskludert: docs/ (interne), playground/+tests/ fixtures (testdata), CHANGELOG.md (historisk logg), STATE.md (gitignored). 3 SKILL.md endret (advisor/engineering/security) → judge-cache teknisk invalidert for disse, men scorer uendret: advisor 91, eng/gov/infra/sec 96 (alle ≥90). validate 239/0. 0 «Azure AI Foundry» igjen (utenom bevart ref). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
20 KiB
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):
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 (Cosmo)
Spørsmål å stille i rådgivningen
- Omfang: "Hvor mange agenter skal bruke denne MCP-serveren? Hvis svaret er 'én', vurder Power Platform Connector i stedet."
- API-stabilitet: "Endres API-et ofte (ukentlig/månedlig)? Hvis ja, er MCP riktig valg for sentralisert vedlikehold."
- Sikkerhet: "Hvilke data eksponeres via MCP-serveren? Kreves datasuverenitet eller GDPR-overholdelse?"
- Autentisering: "Trenger brukeren å samtykke til tilgang (OAuth 2.0), eller holder det med API key?"
- Infrastruktur: "Hvem skal drifte MCP-serveren? Har dere kapasitet til å hoste på Azure, eller trenger dere managed løsning?"
- Multi-agent: "Skal samme tools brukes i Copilot Studio, M365 Copilot, og GitHub Copilot? Da er MCP den beste integrasjonsmetoden."
- Tool-kompleksitet: "Hvor mange tools trenger agenten? Hvis > 10, vurder om MCP-serveren skal splittes opp."
- 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):
- Extend your agent with Model Context Protocol — hovedartikkel om MCP i Copilot Studio
- Connect your agent to an existing MCP server — onboarding wizard og autentisering
- Add tools and resources from MCP server — tool-konfigurasjon og selektiv tool-aktivering via "Allow all"-toggle
- Connect to Dataverse with MCP — Dataverse MCP Server
- Build plugins from MCP server for M365 Copilot — M365-integrasjon
- App Service as MCP servers — Azure hosting
- Use agent tools to extend agents — når bruke MCP vs. connectors
Offisiell MCP-spesifikasjon (Baseline for protokolldetaljer):
- Model Context Protocol 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)