Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Model Context Protocol (MCP) er en fremvoksende standard i AI-landskapet som gjør det mulig for AI-systemer å koble seg til verktøy og data utenfor seg selv. Den definerer hvordan en AI-modell kan oppdage hva som er tilgjengelig og samhandle med det på en konsekvent måte. I stedet for å bygge enkeltstående integrasjoner, tilbyr MCP en standard måte å koble inn ting på som fungerer på tvers av ulike apper og tjenester. Denne tilnærmingen gjør det mye enklere for AI-systemer å gå utover sin innebygde kunnskap, samtidig som de holder ting konsistente. Det hjelper også teamene å bevege seg raskere, siden de slipper å finne opp de samme forbindelsene på nytt hver gang.
MCP har to hoveddeler: klienten og serveren.
En MCP-klient er appen eller opplevelsen brukeren interagerer med. Det er der du stiller spørsmål eller utløser handlinger. Klienten kontakter MCP-servere for å finne verktøy og bruke dem. For eksempel kan Visual Studio Code fungere som en MCP-klient når den kobler seg til eksterne verktøy for å hente data, eller hjelpe deg med å skrive og kjøre kode.
En MCP-server eksponerer verktøy, data eller tjenester slik at klienter kan bruke dem. Den forteller kunden hva som er tilgjengelig og hvordan det skal brukes. For eksempel kan en Fabric-dataagent fungere som en MCP-server ved å eksponere bedriftsdata og spørringer som et AI-system kan bruke.
Sammen gjør klient og server det enkelt å koble AI-systemer til ekte data og handlinger, uten å bygge tilpassede integrasjoner hver gang.
Viktig!
Denne funksjonen er i forhåndsversjon.
Viktig!
Når du bruker en Fabric-dataagent som en MCP-server, kan svarene som returneres av dataagenten bli sendt utenfor Fabric' samsvarsgrense eller geografiske område, og behandlet eller lagret i henhold til vilkårene og databehandlingspolicyene til MCP-klienten du bruker.
Forutsetninger
- A betalt F2 eller høyere Fabric kapasitet, eller en Power BI Premium per kapasitet (P1 eller høyere) kapasitet med Microsoft Fabric aktivert.
- Cross-geo prosessering og cross-geo lagring for AI aktivert, basert på kravene i Fabric data agent tenant-innstillinger.
- Minst én datakilde som har data: et lager, et innsjøhus, en Power BI-semantisk modell, en KQL-database, en speilet database eller en ontologi. Du må ha lesetilgang til datakilden.
- En publisert dataagent. MCP-serveren fungerer bare etter at du har publisert dataagenten. Hvis du vil ha mer informasjon, kan du se Opprette en fabric-dataagent.
Slik fungerer det
En publisert Fabric-dataagent eksponerer et enkelt MCP-verktøy. Det verktøyet representerer selve dataagenten, så en MCP-klient sender et spørsmål til verktøyet og får tilbake et svar som er forankret i dataene dataagenten har tilgang til i Fabric OneLake.
Fordi klienten bestemmer når verktøyet skal kalles inn, er beskrivelsen av dataagenten viktig. Når du publiserer en dataagent, blir dens beskrivelse verktøybeskrivelsen som MCP-serveren reklamerer for. Klienter og orkestratorer leser denne beskrivelsen for å avgjøre når og hvordan de skal kontakte dataagenten, så skriv en klar og spesifikk beskrivelse som forklarer hva agenten vet og hvilke typer spørsmål den kan svare på.
Du kan bruke dataagentens MCP-server fra hvilken som helst MCP-klient, ikke bare ett verktøy eller en editor. Så lenge klienten din snakker MCP over strømlinjebar HTTP og kan knytte en gyldig Fabric bearer-token til sine forespørsler, kan den koble til. Seksjonene som følger viser to klienter: et Python-skript og Visual Studio Code. Samme endepunkt og samme token fungerer for alle andre MCP-klienter du bygger eller tar i bruk.
Alt som snakker med MCP-serveren må snakke MCP, så per definisjon fungerer det som en MCP-klient. Begrepet «MCP-klient» betyr ikke et spesifikt produkt eller SDK. Det betyr hvilken som helst kode som følger protokollen. Endepunktet er ikke et vanlig REST-API som du kan sende en vilkårlig forespørsel til. En forbindelse følger MCP-meldingsstrømmen: et initialize håndtrykk, en samtale tools/list for å oppdage verktøyet, og en tools/call forespørsel om å stille et spørsmål. En SDK som MCP Python SDK håndterer denne flyten for deg, men du kan også implementere den selv over vanlig HTTP så lenge forespørslene dine følger protokollen. En generisk HTTP-klient som hopper over håndtrykk og meldingsformat vil ikke fungere.
Note
Dataagentens MCP-server støtter ikke dynamisk klientregistrering. Klienten din kan ikke registrere seg selv og få tilgang til legitimasjoner automatisk gjennom protokollen. I stedet skaffer du deg en Fabric-token gjennom din egen autentiseringsflyt og knytter den til hver forespørsel, som vist i eksemplene i denne artikkelen.
Få detaljer om MCP-serveren
Etter at du har publisert dataagenten, åpne innstillingene dens og gå til fanen Model Context Protocol . Denne fanen viser:
- Dataagent MCP servernavn
- MCP-server-URL (kopier denne verdien; du bruker den i alle klienter)
- Dataagent MCP-verktøynavn
- MCP-serververktøybeskrivelse
Du kan også laste ned mcp.json-filen fra denne fanen for å konfigurere klienter som leser det formatet, for eksempel Visual Studio Code.
Du kan også bygge URL-en selv fra arbeidsområdets ID og dataagent-ID:
https://api.fabric.microsoft.com/v1/mcp/workspaces/{WorkspaceId}/dataagents/{DataAgentId}/agent
| Plassholder | Beskrivelse |
|---|---|
{WorkspaceId} |
ID-en til Fabric-arbeidsområdet som inneholder dataagenten. |
{DataAgentId} |
ID-en til den publiserte dataagenten. |
En manuelt bygget URL fungerer bare etter at du har publisert dataagenten. Hvis agenten ikke er publisert, returnerer endepunktet en feil selv om URL-en er korrekt.
Godkjenning
Hver forespørsel til MCP-endepunktet må autentiseres mot Fabric. Klienten din legger ved en bærertoken i Authorization headeren, og tokenet må ha tillatelse til å få tilgang til målarbeidsområdet og dataagenten. Tokenet kan representere enten en brukeridentitet eller en tjenesteprincipal.
Hvordan du får tak i tokenet avhenger av klienten din. Visual Studio Code ber deg logge inn interaktivt. I et Python-skript henter du tokenet gjennom et bibliotek som for eksempel azure-identity og legger det til i forespørselsheaderne selv. Uansett klient, be om tokenet for scopet https://api.fabric.microsoft.com/.default .
Koble til fra Python
Dette eksempelet kobles til dataagentens MCP-endepunkt fra et frittstående Python-skript, oppdager verktøyet, sender et spørsmål og skriver ut svaret. Den bruker MCP Python SDK og biblioteketazure-identity.
Forutsetninger for Python-klienten
- Python 3.10 eller nyere.
- Og
mcpazure-identitypakkene. - En måte å logge inn på Fabric. Dette eksempelet bruker Azure CLI. Installer Azure CLI, kjør
az loginog logg inn med en konto som har tilgang til arbeidsområdet og dataagenten.
Installer pakkene:
pip install mcp azure-identity
Bygg klienten steg for steg
De følgende seksjonene bygger manuset én bit av gangen. Hver blokk fortsetter med samme fil, så du kan lime dem inn i rekkefølge til én fil .py og kjøre den.
Importer bibliotekene og sett verdiene dine. Erstatt arbeidsområdets ID, dataagent-ID og spørsmål med dine egne verdier. Dette mcp_url følger endepunktsformatet beskrevet tidligere.
import asyncio
from azure.identity import AzureCliCredential
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
workspace_id = "<your-workspace-id>"
data_agent_id = "<your-data-agent-id>"
question = "<your question>"
mcp_url = (
f"https://api.fabric.microsoft.com/v1/mcp/workspaces/{workspace_id}"
f"/dataagents/{data_agent_id}/agent"
)
Få tak i en token og bygg autentiseringsheaderen.
AzureCliCredential Gjenbruker påloggingen fra az login. Hjelperen ber om en token for Fabric-scope og returnerer den som en Authorization header som alle forespørsler bærer.
credential = AzureCliCredential()
def get_auth_headers():
token = credential.get_token("https://api.fabric.microsoft.com/.default")
return {"Authorization": f"Bearer {token.token}"}
Åpne forbindelsen, oppdag verktøyet, og still spørsmålet. Denne funksjonen åpner en strømlinjebar HTTP-tilkobling med autentiseringsheaderen, kjører MCP-håndtrykket med initialize, lister verktøyene, og leser det ene verktøyet dataagenten eksponerer. Den finner navnet på spørsmålsargumentet fra verktøyets inndataskjema, så du hardkoder det ikke, så kaller den verktøyet og samler teksten fra svaret.
async def query_data_agent(question):
headers = get_auth_headers()
async with streamablehttp_client(mcp_url, headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
# The data agent exposes a single tool. Discover it, then call it.
tools = await session.list_tools()
tool = tools.tools[0]
question_arg = next(iter(tool.inputSchema["properties"]))
result = await session.call_tool(tool.name, {question_arg: question})
answers = [block.text for block in result.content if block.type == "text"]
return "\n".join(answers)
Kjør det og skriv ut svaret.
query_data_agent er en korutine, så asyncio.run den drives til fullføring og returnerer resultatet.
answer = asyncio.run(query_data_agent(question))
print(answer)
Fordi skriptet leser det første verktøyet serveren annonserer og finner spørsmålsargumentet fra verktøyets inndataskjema, fortsetter det å fungere selv om verktøynavnet eller argumentnavnet endres. Du trenger ikke å hardkode noen av verdiene.
Tips
AzureCliCredential Leser påloggingen du opprettet med az login. For å kjøre uten tilsyn, for eksempel i en tjeneste eller en jobb, bruk i stedet en tjenesteprincipal-legitimasjon, for eksempel ClientSecretCredential eller DefaultAzureCredential. Resten av koden forblir den samme.
Koble til fra Visual Studio Code
Visual Studio Code kan fungere som en MCP-klient. Følgende steg legger til dataagentens MCP-server og stiller spørsmål fra editoren. Disse trinnene er ett eksempel; endepunktet og tokenet er de samme som alle andre MCP-klienter bruker.
Legg til MCP-serveren
Åpne Visual Studio Code og velg en mappe å jobbe i.
Lag en .vscode-mappe i den valgte mappen.
Inne i .vscode, lag en fil kalt
mcp.json.Visual Studio Code viser en blå Legg til server-knapp nederst til høyre i vinduet.
Velg Legg til server, og velg deretter HTTP. Når du blir bedt om en URL, lim inn MCP-serverens URL du kopierte tidligere.
Trykk Enter og oppgi et navn på serveren. Visual Studio Code bruker dette navnet for å vise serveren.
Visual Studio Code forsøker å autentisere. Velg Tillat og logg inn med dine legitimasjoner.
Serveren er opprettet.
Aktiver agentmodus
Etter at du har lagt til serveren, aktiver agentmodus slik at Visual Studio Code kan sende spørsmålene dine til dataagenten:
Åpne kommandopaletten (Ctrl+Shift+P eller cmd+shift+P).
Søk etter Aktiver agentmodus og velg det.
Bekreft eventuelle forespørsler for å aktivere modusen.
Når agentmodus er aktiv, velg en orkestrator til å håndtere spørsmålene dine. Orkestratoren styrer flyten mellom spørsmålene dine i editoren og dataagentens MCP-server. Tilgjengelige orkestratorer i forhåndsvisning inkluderer GPT-5, GPT-4.1, Claude Sonnet 4.5, Gemini 2.5 Pro og andre.
Still spørsmål
Med agentmodus på og en orkestrator valgt, still spørsmål direkte fra editoren. Orkestratoren ruter hvert spørsmål til dataagentens MCP-server, og agenten returnerer et svar basert på dataene den har tilgang til i OneLake. Du blir i editoren mens du bringer organisatorisk kunnskap inn i AI-arbeidsflytene dine.