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
Julkaistu Fabric-dataagentti 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 tämän kuvauksen päättääkseen, milloin ja miten dataagenttia kutsutaan, joten kirjoita selkeä 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 yhdestä työkalusta tai editorista. Kunhan asiakkaasi puhuu MCP:tä suoratoistettavan HTTP:n kautta ja voi liittää kelvollisen Fabric bearer -tokenin pyyntöihinsä, se voi yhdistää. Seuraavissa osioissa esitellään kaksi asiakasta: Python-skripti ja Visual Studio Code. Sama päätepiste ja sama token toimivat kaikille muille MCP-asiakkaille, jotka 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ä. Asiakkaasi ei voi rekisteröidä itseään ja saada tunnuksia automaattisesti protokollan kautta. Sen sijaan hankit Fabric-tokenin oman todennusprosessisi kautta ja liität sen jokaiseen pyyntöön, kuten tämän artikkelin esimerkeissä näkyy.
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 .
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 esikatselussa 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.