Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Model Context Protocol (MCP) on nouseva standardi tekoälyn kentässä, joka mahdollistaa tekoälyjärjestelmien yhteyden työkaluihin ja dataan itsensä ulkopuolella. Se määrittelee, miten tekoälymalli voi löytää saatavilla olevat asiat ja olla vuorovaikutuksessa sen kanssa johdonmukaisesti. Sen sijaan, että rakennettaisiin yksittäisiä integraatioita, MCP tarjoaa tavallisen tavan liittää asioita, jotka toimivat eri sovellusten ja palveluiden välillä. Tämä lähestymistapa helpottaa tekoälyjärjestelmien kykyä ylittää sisäänrakennettu tieto samalla kun asiat pysyvät johdonmukaisina. Se auttaa myös tiimejä liikkumaan nopeammin, koska heidän ei tarvitse keksiä samoja yhteyksiä uudelleen joka kerta.
MCP:llä on kaksi pääosaa: asiakas ja palvelin.
MCP-asiakasohjelma on sovellus tai kokemus, jonka kanssa käyttäjä on vuorovaikutuksessa. Se on tilanne, jossa kysytään kysymyksiä tai laukaistaan toimia. Asiakas ottaa yhteyttä MCP-palvelimiin löytääkseen työkaluja ja käyttääkseen niitä. Esimerkiksi Visual Studio Code voi toimia MCP-asiakkaana, kun se yhdistyy ulkoisiin työkaluihin datan noutamiseksi, tai auttaa sinua kirjoittamaan ja ajamaan koodia.
MCP-palvelin paljastaa työkaluja, dataa tai palveluita, jotta asiakkaat voivat käyttää niitä. Se kertoo asiakkaalle, mitä on saatavilla ja miten sitä käytetään. Esimerkiksi Fabric-dataagentti voi toimia MCP-palvelimena paljastamalla yritysdataa ja kyselyitä, joita tekoälyjärjestelmä voi käyttää.
Yhdessä asiakas ja palvelin tekevät tekoälyjärjestelmien yhdistämisestä todellisiin tietoihin ja toimintoihin helppoa ilman, että rakennetaan räätälöityjä integraatioita joka kerta.
Tärkeää
Kun käytät Fabric-dataagenttia MCP-palvelimena, dataagentin palauttamat vastaukset voidaan lähettää Fabric:n vaatimustenmukaisuusrajan tai maantieteellisen alueen ulkopuolelle ja käsitellä tai tallentaa MCP-asiakkaan ehtojen ja datankäsittelykäytäntöjen mukaisesti.
Ennakkovaatimukset
- A maksettu F2 tai suurempi Fabric kapasiteetti tai Power BI Premium per kapasiteetti (P1 tai suurempi) kapasiteetilla, kun Microsoft Fabric on käytössä.
- Ristiin-geo-käsittely ja ristiin-geo-tallennus AI:lle on käytössä, perustuen Fabric-dataagentin vuokralaisasetuksiin.
- Vähintään yksi tietolähde, jossa on dataa: varasto, järvitalo, Power BI:n semanttinen malli, KQL-tietokanta, peilattu tietokanta tai ontologia. Sinulla täytyy olla lukuoikeus tietolähteeseen.
- Julkaistu dataagentti. MCP-palvelin toimii vasta sen jälkeen, kun olet julkaissut dataagentin. Lisätietoja on artikkelissa Fabric-tietoagentin luominen.
Miten se toimii
Kun julkaiset Fabric-dataagentin, siitä tulee MCP-palvelin, joka paljastaa yhden MCP-työkalun. Tuo työkalu edustaa itse dataagenttia, joten MCP-asiakas lähettää työkalulle kysymyksen ja saa vastauksen, joka perustuu data-agentin Fabric OneLake -dataan.
Koska asiakas päättää, milloin työkalu kutsutaan, dataagentin kuvaus on tärkeä. Kun julkaiset dataagentin, sen kuvauksesta tulee työkalun kuvaus, jota MCP-palvelin mainostaa. Asiakkaat ja orkestroijat lukevat kuvauksen päättääkseen, milloin ja miten dataagenttia kutsutaan, joten kirjoita selkeä, yksityiskohtainen ja tarkka kuvaus, joka selittää, mitä agentti tietää ja millaisiin kysymyksiin se voi vastata.
Voit käyttää dataagentin MCP-palvelinta mistä tahansa MCP-asiakkaasta, et vain tietystä työkalusta tai editorista. Kunhan asiakkaasi tukee MCP:tä suoratoistettavan HTTP:n kautta ja pystyy todentamaan Fabric:n avulla sekä liittää kelvollisen Fabric-kantajatokenin pyyntöihinsä, se voi yhdistää palvelimeen. Seuraavissa osioissa esitellään kaksi asiakasta: Python-skripti ja Visual Studio Code. Voit käyttää samaa päätepistettä ja todennusmenetelmää minkä tahansa muun MCP-asiakkaan kanssa, jonka rakennat tai omaksut.
Kaikki, mikä kommunikoi MCP-palvelimen kanssa, täytyy puhua MCP:tä, joten määritelmän mukaan se toimii MCP-asiakasohjelmana. Termi "MCP-asiakas" ei tarkoita tiettyä tuotetta tai SDK:ta. Se tarkoittaa mitä tahansa koodia, joka noudattaa protokollaa. Päätepiste ei ole tavallinen REST-rajapinta, johon voisit lähettää mielivaltaisen pyynnön. Yhteys seuraa MCP:n viestikulkua: initialize kättely, tools/list kutsu työkalun löytämiseksi ja tools/call pyyntö esittää kysymys. SDK, kuten MCP Python SDK, hoitaa tämän prosessin puolestasi, mutta voit myös toteuttaa sen itse pelkän HTTP:n kautta, kunhan pyyntösi noudattavat protokollaa. Yleinen HTTP-asiakasohjelma, joka ohittaa kättelyn ja viestimuodon, ei toimi.
Note
Dataagentin MCP-palvelin ei tue dynaamista asiakasrekisteröintiä tai asiakasidentiteetin metatietoja. Tämä rajoitus tarkoittaa, että MCP-asiakkaat, jotka luottavat näihin ominaisuuksiin rekisteröityäkseen ja tunnistautuakseen automaattisesti MCP-palvelimelle, eivät voi yhdistää. Sen sijaan asiakkaasi täytyy käyttää omaa todennusprosessiaan saadakseen Fabric-tokenin ja liittää se jokaiseen pyyntöön, kuten tämän artikkelin esimerkeissä on esitetty.
Hanki MCP-palvelimen tiedot
Kun olet julkaissut dataagentin, avaa sen asetukset ja siirry Model Context Protocol -välilehdelle. Tämä välilehti näyttää:
- Dataagentin MCP palvelimen nimi
- MCP-palvelimen URL (kopioi tämä arvo; käytät sitä jokaisessa asiakkaassa)
- Dataagentin MCP-työkalun nimi
- MCP-palvelintyökalun kuvaus
Voit myös ladata mcp.json-tiedoston tältä välilehdeltä määrittääksesi asiakkaat, jotka lukevat kyseistä formaattia, kuten Visual Studio Code.
Voit myös rakentaa URL-osoitteen itse työtilan ID:stä ja dataagentin ID:stä:
https://api.fabric.microsoft.com/v1/mcp/workspaces/{WorkspaceId}/dataagents/{DataAgentId}/agent
| Paikkamerkki | Description |
|---|---|
{WorkspaceId} |
Fabric-työtilan ID, joka sisältää dataagentin. |
{DataAgentId} |
Julkaistun dataagentin tunnus. |
Manuaalisesti rakennettu URL-osoite toimii vasta sen jälkeen, kun olet julkaissut dataagentin. Jos agenttia ei julkaista, päätepiste palauttaa virheen, vaikka URL olisi oikea.
Todennus
Jokainen pyyntö MCP:n päätepisteelle on autentikoitu Fabric:tä vastaan. Asiakkaasi liittää kantajatokenin otsikkoon Authorization , ja tokenilla täytyy olla lupa päästä tavoitetyötilaan ja dataagenttiin. Token voi edustaa joko käyttäjäidentiteettiä tai palvelupäähenkilöä.
Tokenin hankkiminen riippuu asiakkaastasi. Visual Studio Code kehottaa kirjautumaan sisään interaktiivisesti. Python-skriptissä saat tokenin esimerkiksi kirjaston azure-identity kautta ja lisäät sen itse pyyntöotsikoihin. Mikä tahansa asiakas, pyydä tokenia scopelle https://api.fabric.microsoft.com/.default .
Pitkäaikaiset pyynnöt ja MCP-tehtävät
Joihinkin kysymyksiin vastaaminen vie kauemmin kuin toisiin. Kysymys, joka skannaa suuren taulun tai suorittaa useita kyselyjä, voi kestää kauemmin kuin asiakas tai verkon välikäsi pitää yhteyttä auki. Näissä tapauksissa dataagentin MCP-palvelin tukee tehtäviä.
Tehtävä antaa palvelimelle mahdollisuuden vastata ilman, että yhteys pitää auki. Kun dataagentti aloittaa työn kysymyksen parissa, se palauttaa kyseisen työn tunnisteen vastauksen sijaan. Asiakkaasi käyttää tunnistetta pyytääkseen tulosta, kun se on valmis. Jos yhteys katkeaa tai asiakas käynnistyy uudelleen, asiakas säilyttää tunnisteen ja jatkaa siitä, mihin jäi.
Tehtävät noudattavat MCP-määrittelyn io.modelcontextprotocol/tasks laajennusta. Asiakkaasi pyytää tulosta tasks/get ja jatkaa kysymistä, kunnes tehtävä raportoi työn valmistuneen. Lopettaaksesi työn, jota ei enää tarvita, asiakkaasi lähettää tasks/cancel. Peruutus ei ole välitön, joten tehtävä voi ilmoittaa, että se toimii vielä lyhyen aikaa peruutuksen jälkeen, ja lähes valmis työ voi silti valmistua.
Asiakkaat, jotka tukevat tehtävien laajennusta, saavat tehtävän. Muiden asiakkaiden kohdalla mikään ei muutu. Dataagentti vastaa samalla yhteydellä, kuten muualla tässä artikkelissa on esitetty.
Viestimuodon ja koko tehtävän elinkaaren osalta katso MCP-tehtävien laajennus.
Yhdistä Python-sovelluksesta
Tämä esimerkki yhdistää dataagentin MCP-päätepisteen itsenäisestä Python-skriptistä, löytää työkalun, lähettää kysymyksen ja tulostaa vastauksen. Se käyttää MCP Python SDK:ta ja kirjastoaazure-identity.
Python-asiakasohjelman edellytykset
- Python 3.10 tai uudempi.
- Ja
mcpazure-identitypaketit. - Tapa kirjautua sisään Fabric-palveluun. Tässä esimerkissä käytetään Azure CLI:tä. Asenna Azure CLI, aja
az loginja kirjaudu sisään tilillä, jolla on pääsy työtilaan ja dataagenttiin.
Asenna paketit:
pip install mcp azure-identity
Rakenna asiakas askel askeleelta
Seuraavat osiot rakentavat käsikirjoitusta pala kerrallaan. Jokainen lohko jatkaa samaa tiedostoa, joten voit liittää ne järjestyksessä yhdeksi .py tiedostoksi ja ajaa sen.
Tuo kirjastot ja aseta arvot. Korvaa työtilan ID, dataagentin ID ja kysymys omilla arvoillasi. Noudattaa mcp_url aiemmin kuvattua päätepistemuotoa.
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"
)
Hanki token ja rakenna tunnistautumisen otsikko.
AzureCliCredentialKäyttää uudelleen sisäänkirjautumista .az login Auttaja pyytää tokenia Fabric-scopelle ja palauttaa sen otsikkonaAuthorization, jonka jokainen pyyntö kantaa.
credential = AzureCliCredential()
def get_auth_headers():
token = credential.get_token("https://api.fabric.microsoft.com/.default")
return {"Authorization": f"Bearer {token.token}"}
Avaa yhteys, löydä työkalu ja kysy kysymys. Tämä funktio avaa suoratoistettavan HTTP-yhteyden autentiusotsikolla, suorittaa MCP-handshaken , initializelistaa työkalut ja lukee yksittäisen työkalun, jonka dataagentti paljastaa. Se löytää kysymyksen argumentin nimen työkalun syötekaaviosta, joten sitä ei kodikoodata, kutsuu työkalun ja kerää vastauksen tekstin.
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)
Aja se ja tulosta vastaus.
query_data_agent on korutiini, joten asyncio.run ajaa sen valmiiksi ja palauttaa tuloksen.
answer = asyncio.run(query_data_agent(question))
print(answer)
Koska skripti lukee palvelimen ensimmäisen mainostaman työkalun ja löytää kysymyksen argumentin työkalun syötekaaviosta, se jatkaa toimintaansa, vaikka työkalun nimi tai argumentin nimi muuttuisi. Kumpaakaan arvoa ei tarvitse kovakoodata.
Vinkki
AzureCliCredentiallukee kirjautumisen, jonka loit .az login Jos haluat ajaa valvomatonta, kuten palvelussa tai työssä, käytä palvelun päähenkilön pätevyystodistusta, esimerkiksi ClientSecretCredential tai DefaultAzureCredential. Muu koodi pysyy samana.
Yhdistä Visual Studio Code
Visual Studio Code voi toimia MCP-asiakkaana. Seuraavat vaiheet lisäävät dataagentin MCP-palvelimen ja kysyvät kysymyksiä editorilta. Nämä vaiheet ovat yksi esimerkki; päätepiste ja token ovat samat, joita muut MCP-asiakkaat käyttävät.
Lisää MCP-palvelin
Avaa Visual Studio Code ja valitse kansio, jossa työskentelet.
Luo .vscode-kansio valittuun kansioon.
.vscode-tiedoston sisällä luo tiedosto nimeltä
mcp.json.Visual Studio Code näyttää ikkunan oikeassa alakulmassa sinisen Add Server -painikkeen.
Valitse Lisää palvelin ja sitten HTTP. Kun kysytään URL-osoite, liitä aiemmin kopioimasi MCP-palvelimen URL .
Paina Enteriä ja anna palvelimelle nimi. Visual Studio Code käyttää tätä nimeä palvelimen näyttämiseen.
Visual Studio Code yrittää tunnistautua. Valitse Salli ja kirjaudu sisään tunnuksillasi.
Palvelin luodaan.
Ota agenttimoodi käyttöön
Kun olet lisännyt palvelimen, ota agenttitila käyttöön, jotta Visual Studio Code voi ohjata kysymyksesi dataagentille:
Avaa komentopaletti (Ctrl+Shift+P tai Cmd+Shift+P).
Etsi Enable Agent Mode ja valitse se.
Vahvista kaikki kehotteet tilan aktivoimiseksi.
Kun agenttitila on aktiivinen, valitse orkestroija käsittelemään kysymyksiäsi. Orkestroija hallinnoi kysymysten välistä virtaa editorissa ja dataagentin MCP-palvelimella. Saatavilla olevia orkestroijia ovat GPT-5, GPT-4.1, Claude Sonnet 4.5, Gemini 2.5 Pro ja muita.
Esitä kysymyksiä
Kun agenttitila on päällä ja orkestroija valittuna, kysy kysymyksiä suoraan editorilta. Orkestroija ohjaa jokaisen kysymyksen dataagentin MCP-palvelimelle, ja agentti palauttaa vastauksen, joka perustuu dataan, johon sillä on pääsy OneLakessa. Pysyt editorissa samalla kun tuot organisaatiotietämystä tekoälytyönkulkuihisi.