Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Το Model Context Protocol (MCP) είναι ένα αναδυόμενο πρότυπο στο τοπίο της τεχνητής νοημοσύνης που επιτρέπει στα συστήματα AI να συνδέονται με εργαλεία και δεδομένα έξω από τον εαυτό τους. Καθορίζει πώς ένα μοντέλο AI μπορεί να ανακαλύψει τι είναι διαθέσιμο και να αλληλεπιδράσει μαζί του με συνεπή τρόπο. Αντί να δημιουργεί εφάπαξ ενσωματώσεις, το MCP προσφέρει έναν τυπικό τρόπο σύνδεσης πραγμάτων που λειτουργεί σε διαφορετικές εφαρμογές και υπηρεσίες. Αυτή η προσέγγιση διευκολύνει πολύ τα συστήματα τεχνητής νοημοσύνης να υπερβούν τις ενσωματωμένες γνώσεις τους, διατηρώντας παράλληλα τα πράγματα συνεπή. Βοηθά επίσης τις ομάδες να κινούνται πιο γρήγορα, καθώς δεν χρειάζεται να επανεφευρίσκουν τις ίδιες συνδέσεις κάθε φορά.
Το MCP έχει δύο κύρια μέρη: τον πελάτη και τον διακομιστή.
Ένας πελάτης MCP είναι η εφαρμογή ή η εμπειρία με την οποία αλληλεπιδρά ο χρήστης. Είναι το σημείο όπου κάνετε ερωτήσεις ή ενεργοποιείτε ενέργειες. Ο πελάτης απευθύνεται σε διακομιστές MCP για να βρει εργαλεία και να τα χρησιμοποιήσει. Για παράδειγμα, το Visual Studio Code μπορεί να λειτουργήσει ως πελάτης MCP όταν συνδέεται με εξωτερικά εργαλεία για την ανάκτηση δεδομένων ή να σας βοηθήσει να γράψετε και να εκτελέσετε κώδικα.
Ένας διακομιστής MCP εκθέτει εργαλεία, δεδομένα ή υπηρεσίες, ώστε οι πελάτες να μπορούν να τα χρησιμοποιούν. Λέει στον πελάτη τι είναι διαθέσιμο και πώς να το χρησιμοποιήσει. Για παράδειγμα, ένας παράγοντας δεδομένων Fabric μπορεί να λειτουργήσει ως διακομιστής MCP εκθέτοντας εταιρικά δεδομένα και ερωτήματα που μπορεί να χρησιμοποιήσει ένα σύστημα AI.
Μαζί, ο πελάτης και ο διακομιστής διευκολύνουν τη σύνδεση συστημάτων AI με πραγματικά δεδομένα και ενέργειες, χωρίς να δημιουργούν προσαρμοσμένες ενσωματώσεις κάθε φορά.
Σημαντικό
Όταν καταναλώνετε έναν παράγοντα δεδομένων Fabric ως διακομιστή MCP, οι αποκρίσεις που επιστρέφονται από τον παράγοντα δεδομένων ενδέχεται να αποστέλλονται εκτός του ορίου συμμόρφωσης ή της γεωγραφικής περιοχής του Fabric και να υποβάλλονται σε επεξεργασία ή να αποθηκεύονται σύμφωνα με τους όρους και τις πολιτικές χειρισμού δεδομένων του προγράμματος-πελάτη MCP που χρησιμοποιείτε.
Prerequisites
- A επί πληρωμή F2 ή υψηλότεροι Fabric εκχωρημένοι πόροι ή εκχωρημένοι πόροι Power BI Premium ανά εκχωρημένους πόρους (P1 ή υψηλότεροι) με ενεργοποιημένο το Microsoft Fabric.
- Η επεξεργασία μεταξύ γεωγραφικών περιοχών και η αποθήκευση μεταξύ γεωγραφικών περιοχών για AI είναι ενεργοποιημένη, με βάση τις απαιτήσεις στις ρυθμίσεις μισθωτή παράγοντα δεδομένων Fabric.
- Τουλάχιστον μία προέλευση δεδομένων που έχει δεδομένα: μια αποθήκη, μια λίμνη, ένα σημασιολογικό μοντέλο Power BI, μια βάση δεδομένων KQL, μια βάση δεδομένων κατοπτρισμού ή μια οντολογία. Πρέπει να έχετε πρόσβαση ανάγνωσης στην προέλευση δεδομένων.
- Ένας δημοσιευμένος πράκτορας δεδομένων. Ο διακομιστής MCP λειτουργεί μόνο μετά τη δημοσίευση του παράγοντα δεδομένων. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Δημιουργία παράγοντα δεδομένων Fabric.
Πώς λειτουργεί
Όταν δημοσιεύετε έναν παράγοντα δεδομένων Fabric, μετατρέπεται σε διακομιστή MCP που εκθέτει ένα μεμονωμένο εργαλείο MCP. Αυτό το εργαλείο αντιπροσωπεύει τον ίδιο τον παράγοντα δεδομένων, επομένως ένας υπολογιστής-πελάτης MCP στέλνει μια ερώτηση στο εργαλείο και λαμβάνει πίσω μια απάντηση που βασίζεται στα δεδομένα στα οποία έχει πρόσβαση ο παράγοντας δεδομένων στο Fabric OneLake.
Επειδή ο πελάτης αποφασίζει πότε θα καλέσει το εργαλείο, η περιγραφή του πράκτορα δεδομένων έχει σημασία. Όταν δημοσιεύετε έναν παράγοντα δεδομένων, η περιγραφή του γίνεται η περιγραφή του εργαλείου που διαφημίζει ο διακομιστής MCP. Οι πελάτες και οι ενορχηστρωτές διαβάζουν αυτήν την περιγραφή για να αποφασίσουν πότε και πώς θα καλέσουν τον πράκτορα δεδομένων, επομένως γράψτε μια σαφή, λεπτομερή και συγκεκριμένη περιγραφή που εξηγεί τι γνωρίζει ο εκπρόσωπος και τα είδη των ερωτήσεων που μπορεί να απαντήσει.
Μπορείτε να καταναλώσετε τον διακομιστή MCP πράκτορα δεδομένων από οποιονδήποτε πελάτη MCP, όχι μόνο από ένα συγκεκριμένο εργαλείο ή πρόγραμμα επεξεργασίας. Εφόσον ο πελάτης σας υποστηρίζει MCP μέσω HTTP με δυνατότητα ροής και μπορεί να πραγματοποιήσει έλεγχο ταυτότητας με το Fabric και να επισυνάψει ένα έγκυρο διακριτικό φορέα Fabric στα αιτήματά του, μπορεί να συνδεθεί στον διακομιστή. Οι ενότητες που ακολουθούν εμφανίζουν δύο πελάτες: ένα σενάριο Python και έναν κώδικα Visual Studio Code. Μπορείτε να χρησιμοποιήσετε την ίδια προσέγγιση τελικού σημείου και ελέγχου ταυτότητας με οποιοδήποτε άλλο πρόγραμμα-πελάτη MCP που δημιουργείτε ή υιοθετείτε.
Οτιδήποτε μιλάει με τον διακομιστή MCP πρέπει να μιλάει MCP, επομένως εξ ορισμού λειτουργεί ως πελάτης MCP. Ο όρος "πελάτης MCP" δεν σημαίνει ένα συγκεκριμένο προϊόν ή SDK. Σημαίνει οποιονδήποτε κωδικό που ακολουθεί το πρωτόκολλο. Το τελικό σημείο δεν είναι ένα απλό API REST στο οποίο μπορείτε να στείλετε μια αυθαίρετη αίτηση. Μια σύνδεση ακολουθεί τη ροή μηνυμάτων MCP: μια initialize χειραψία, μια tools/list κλήση για να ανακαλύψετε το εργαλείο και ένα tools/call αίτημα για να κάνετε μια ερώτηση. Ένα SDK όπως το MCP Python SDK χειρίζεται αυτή τη ροή για εσάς, αλλά μπορείτε επίσης να το εφαρμόσετε μόνοι σας μέσω απλού HTTP, εφόσον τα αιτήματά σας ακολουθούν το πρωτόκολλο. Ένας γενικός πελάτης HTTP που παραλείπει τη μορφή χειραψίας και μηνύματος δεν θα λειτουργήσει.
Note
Ο διακομιστής MCP παράγοντα δεδομένων δεν υποστηρίζει δυναμική εγγραφή πελάτη ή μεταδεδομένα ταυτότητας πελάτη. Αυτός ο περιορισμός σημαίνει ότι οι πελάτες MCP που βασίζονται σε αυτές τις δυνατότητες για αυτόματη εγγραφή και έλεγχο ταυτότητας σε διακομιστή MCP δεν μπορούν να συνδεθούν. Αντί για αυτό, ο πελάτης σας πρέπει να χρησιμοποιήσει τη δική του ροή ελέγχου ταυτότητας για να αποκτήσει ένα διακριτικό Fabric και να το επισυνάψει σε κάθε αίτηση, όπως φαίνεται στα παραδείγματα σε αυτό το άρθρο.
Λήψη των λεπτομερειών του διακομιστή MCP
Αφού δημοσιεύσετε τον παράγοντα δεδομένων, ανοίξτε τις Ρυθμίσεις του και μεταβείτε στην καρτέλα Πρωτόκολλο περιβάλλοντος μοντέλου . Αυτή η καρτέλα δείχνει:
- Όνομα διακομιστή MCP παράγοντα δεδομένων
- Διεύθυνση URL διακομιστή MCP (αντιγράψτε αυτήν την τιμή, τη χρησιμοποιείτε σε κάθε πελάτη)
- Όνομα εργαλείου MCP παράγοντα δεδομένων
- Περιγραφή εργαλείου διακομιστή MCP
Μπορείτε επίσης να κάνετε λήψη του αρχείου mcp.json από αυτήν την καρτέλα για να ρυθμίσετε τις παραμέτρους των υπολογιστών-πελατών που διαβάζουν αυτήν τη μορφή, όπως Visual Studio Code.
Μπορείτε επίσης να δημιουργήσετε τη διεύθυνση URL μόνοι σας από το αναγνωριστικό χώρου εργασίας και το αναγνωριστικό παράγοντα δεδομένων:
https://api.fabric.microsoft.com/v1/mcp/workspaces/{WorkspaceId}/dataagents/{DataAgentId}/agent
| Σύμβολο κράτησης θέσης | Περιγραφή |
|---|---|
{WorkspaceId} |
Το αναγνωριστικό του χώρου εργασίας Fabric που περιέχει τον παράγοντα δεδομένων. |
{DataAgentId} |
Το αναγνωριστικό του δημοσιευμένου παράγοντα δεδομένων. |
Μια μη αυτόματα δημιουργημένη διεύθυνση URL λειτουργεί μόνο μετά τη δημοσίευση του παράγοντα δεδομένων. Εάν ο εκπρόσωπος δεν έχει δημοσιευτεί, το τελικό σημείο επιστρέφει ένα σφάλμα ακόμα και όταν η διεύθυνση URL είναι σωστή.
Έλεγχος ταυτότητας
Κάθε αίτηση στο τελικό σημείο MCP πρέπει να ελέγχεται σε σχέση με το Fabric. Ο πελάτης σας επισυνάπτει ένα διακριτικό κομιστή στην Authorization κεφαλίδα και το διακριτικό πρέπει να έχει δικαίωμα πρόσβασης στον χώρο εργασίας προορισμού και στον παράγοντα δεδομένων. Το διακριτικό μπορεί να αντιπροσωπεύει είτε μια ταυτότητα χρήστη είτε μια κύρια υπηρεσία.
Ο τρόπος απόκτησης του διακριτικού εξαρτάται από τον πελάτη σας. Το Visual Studio Code σάς ζητά να συνδεθείτε αλληλεπιδραστικά. Σε ένα σενάριο Python, αποκτάτε το διακριτικό μέσω μιας βιβλιοθήκης όπως azure-identity και το προσθέτετε μόνοι σας στις κεφαλίδες αιτήματος. Όποιος κι αν είναι ο πελάτης, ζητήστε το διακριτικό για το https://api.fabric.microsoft.com/.default εύρος.
Μακροχρόνιες αιτήσεις και εργασίες MCP
Ορισμένες ερωτήσεις χρειάζονται περισσότερο χρόνο για να απαντηθούν από άλλες. Μια ερώτηση που σαρώνει έναν μεγάλο πίνακα ή εκτελεί πολλά ερωτήματα μπορεί να διαρκέσει περισσότερο από ό,τι ένας υπολογιστής-πελάτης ή ένας διαμεσολαβητής δικτύου διατηρεί μια σύνδεση ανοιχτή. Για αυτές τις περιπτώσεις, ο διακομιστής MCP του παράγοντα δεδομένων υποστηρίζει εργασίες.
Μια εργασία επιτρέπει στον διακομιστή να απαντήσει χωρίς να κρατήσει τη σύνδεση ανοιχτή. Όταν ο πράκτορας δεδομένων ξεκινά να εργάζεται σε μια ερώτηση, επιστρέφει ένα αναγνωριστικό για αυτήν την εργασία αντί για την απάντηση. Ο πελάτης σας χρησιμοποιεί το αναγνωριστικό για να ζητήσει το αποτέλεσμα όταν είναι έτοιμο. Εάν η σύνδεση διακοπεί ή ο πελάτης επανεκκινηθεί, ο πελάτης διατηρεί το αναγνωριστικό και συνεχίζει από εκεί που σταμάτησε.
Οι εργασίες ακολουθούν την io.modelcontextprotocol/tasks επέκταση στην προδιαγραφή MCP. Ο πελάτης σας ζητά το αποτέλεσμα και tasks/get συνεχίζει να ρωτά μέχρι η εργασία να αναφέρει ότι η εργασία ολοκληρώθηκε. Για να σταματήσετε την εργασία που δεν χρειάζεται πλέον, ο πελάτης σας στέλνει tasks/cancel. Η ακύρωση δεν είναι άμεση, επομένως μια εργασία μπορεί να αναφέρει ότι εξακολουθεί να λειτουργεί για μικρό χρονικό διάστημα μετά την ακύρωσή της και η εργασία που έχει σχεδόν ολοκληρωθεί μπορεί να ολοκληρωθεί.
Οι υπολογιστές-πελάτες που υποστηρίζουν την επέκταση εργασιών λαμβάνουν μια εργασία. Για κάθε άλλο πελάτη, τίποτα δεν αλλάζει. Ο πράκτορας δεδομένων απαντά στην ίδια σύνδεση, όπως φαίνεται αλλού σε αυτό το άρθρο.
Για τη μορφή του μηνύματος και τον πλήρη κύκλο ζωής της εργασίας, ανατρέξτε στην επέκταση εργασιών MCP.
Σύνδεση από Python
Αυτό το παράδειγμα συνδέεται με το τελικό σημείο MCP του πράκτορα δεδομένων από ένα αυτόνομο σενάριο Python, ανακαλύπτει το εργαλείο, στέλνει μια ερώτηση και εκτυπώνει την απάντηση. Χρησιμοποιεί το MCP Python SDK και τη azure-identity βιβλιοθήκη.
Προϋποθέσεις για τον πελάτη Python
- Python 3.10 ή νεότερη έκδοση.
- Το
mcpκαιazure-identityπακέτα. - Ένας τρόπος για να συνδεθείτε στο Fabric. Αυτό το παράδειγμα χρησιμοποιεί το Azure CLI. Εγκαταστήστε το Azure CLI και, στη συνέχεια, εκτελέστε
az loginκαι εισέλθετε με έναν λογαριασμό που έχει πρόσβαση στον χώρο εργασίας και τον παράγοντα δεδομένων.
Εγκαταστήστε τα πακέτα:
pip install mcp azure-identity
Δημιουργήστε τον πελάτη βήμα προς βήμα
Οι ακόλουθες ενότητες δημιουργούν το σενάριο ένα κομμάτι τη φορά. Κάθε μπλοκ συνεχίζει το ίδιο αρχείο, ώστε να μπορείτε να τα επικολλήσετε με τη σειρά σε ένα μόνο .py αρχείο και να το εκτελέσετε.
Εισαγάγετε τις βιβλιοθήκες και ορίστε τις τιμές σας. Αντικαταστήστε το αναγνωριστικό χώρου εργασίας, το αναγνωριστικό παράγοντα δεδομένων και την ερώτηση με τις δικές σας τιμές. Ακολουθεί mcp_url η μορφή τελικού σημείου που περιγράφηκε προηγουμένως.
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"
)
Αποκτήστε ένα διακριτικό και δημιουργήστε την κεφαλίδα ελέγχου ταυτότητας.
AzureCliCredential επαναχρησιμοποιεί τη σύνδεση από az loginτο . Ο βοηθός ζητά ένα διακριτικό για το πεδίο Fabric και το επιστρέφει ως Authorization κεφαλίδα που φέρει κάθε αίτημα.
credential = AzureCliCredential()
def get_auth_headers():
token = credential.get_token("https://api.fabric.microsoft.com/.default")
return {"Authorization": f"Bearer {token.token}"}
Ανοίξτε τη σύνδεση, ανακαλύψτε το εργαλείο και κάντε την ερώτηση. Αυτή η συνάρτηση ανοίγει μια σύνδεση HTTP με δυνατότητα ροής με την κεφαλίδα ελέγχου ταυτότητας, εκτελεί τη χειραψία MCP με initializeτο , παραθέτει τα εργαλεία και διαβάζει το μεμονωμένο εργαλείο που εκθέτει ο πράκτορας δεδομένων. Βρίσκει το όνομα του ορίσματος ερώτησης από το σχήμα εισόδου του εργαλείου, ώστε να μην το κωδικοποιήσετε σκληρά, στη συνέχεια καλεί το εργαλείο και συλλέγει το κείμενο από την απάντηση.
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)
Εκτελέστε το και εκτυπώστε την απάντηση.
query_data_agent είναι μια συνρουτίνα, οπότε asyncio.run την οδηγεί στην ολοκλήρωση και επιστρέφει το αποτέλεσμα.
answer = asyncio.run(query_data_agent(question))
print(answer)
Επειδή η δέσμη ενεργειών διαβάζει το πρώτο εργαλείο που διαφημίζει ο διακομιστής και βρίσκει το όρισμα ερώτησης από το σχήμα εισόδου του εργαλείου, συνεχίζει να λειτουργεί ακόμα και αν αλλάξει το όνομα του εργαλείου ή το όνομα του ορίσματος. Δεν χρειάζεται να κωδικοποιήσετε καμία από τις δύο τιμές.
Συμβουλή
AzureCliCredential διαβάζει τη σύνδεση που δημιουργήσατε με az loginτο . Για να εκτελείται χωρίς επίβλεψη, όπως σε μια υπηρεσία ή μια εργασία, χρησιμοποιήστε ένα διαπιστευτήριο κύριας υπηρεσίας, για παράδειγμα ClientSecretCredential ή DefaultAzureCredential. Ο υπόλοιπος κώδικας παραμένει ο ίδιος.
Σύνδεση από το Visual Studio Code
Το Visual Studio Code μπορεί να λειτουργήσει ως πελάτης MCP. Τα παρακάτω βήματα προσθέτουν τον διακομιστή MCP παράγοντα δεδομένων και κάνουν ερωτήσεις από το πρόγραμμα επεξεργασίας. Αυτά τα βήματα είναι ένα παράδειγμα. το τελικό σημείο και το διακριτικό είναι τα ίδια που χρησιμοποιεί οποιοσδήποτε άλλος πελάτης MCP.
Προσθήκη του διακομιστή MCP
Ανοίξτε το Visual Studio Code και επιλέξτε έναν φάκελο στον οποίο θα εργαστείτε.
Δημιουργήστε έναν φάκελο .vscode στον επιλεγμένο φάκελο.
Μέσα στο .vscode, δημιουργήστε ένα αρχείο με το όνομα
mcp.json.Το Visual Studio Code εμφανίζει ένα μπλε κουμπί Προσθήκη διακομιστή κάτω δεξιά στο παράθυρο.
Επιλέξτε Προσθήκη διακομιστή και, στη συνέχεια, επιλέξτε HTTP. Όταν σας ζητηθεί μια διεύθυνση URL, επικολλήστε τη διεύθυνση URL του διακομιστή MCP που αντιγράψατε νωρίτερα.
Πατήστε Enter και δώστε ένα όνομα για τον διακομιστή. Το Visual Studio Code χρησιμοποιεί αυτό το όνομα για την εμφάνιση του διακομιστή.
Ο κώδικας του Visual Studio Code επιχειρεί έλεγχο ταυτότητας. Επιλέξτε Να επιτρέπεται και συνδεθείτε με τα διαπιστευτήριά σας.
Ο διακομιστής δημιουργείται.
Ενεργοποίηση λειτουργίας παράγοντα
Αφού προσθέσετε το διακομιστή, ενεργοποιήστε τη λειτουργία παράγοντα, ώστε το Visual Studio Code να μπορεί να δρομολογήσει τις ερωτήσεις σας στον παράγοντα δεδομένων:
Ανοίξτε την παλέτα εντολών (Ctrl+Shift+P ή Cmd+Shift+P).
Αναζητήστε την επιλογή Ενεργοποίηση λειτουργίας παράγοντα και επιλέξτε την.
Επιβεβαιώστε τυχόν προτροπές για ενεργοποίηση της λειτουργίας.
Όταν η λειτουργία εκπροσώπου είναι ενεργή, επιλέξτε έναν ενορχηστρωτή για να χειριστεί τις ερωτήσεις σας. Ο ενορχηστρωτής διαχειρίζεται τη ροή μεταξύ των ερωτήσεών σας στο πρόγραμμα επεξεργασίας και του διακομιστή MCP παράγοντα δεδομένων. Οι διαθέσιμοι ενορχηστρωτές περιλαμβάνουν GPT-5, GPT-4.1, Claude Sonnet 4.5, Gemini 2.5 Pro και άλλους.
Κάντε ερωτήσεις
Με ενεργοποιημένη τη λειτουργία εκπροσώπου και επιλεγμένο έναν ενορχηστρωτή, υποβάλετε ερωτήσεις απευθείας από τον επεξεργαστή. Το Orchestrator δρομολογεί κάθε ερώτηση στον διακομιστή MCP του παράγοντα δεδομένων και ο πράκτορας επιστρέφει μια απάντηση που βασίζεται στα δεδομένα στα οποία έχει πρόσβαση στο OneLake. Παραμένετε στο πρόγραμμα επεξεργασίας ενώ φέρνετε οργανωτικές γνώσεις στις ροές εργασίας AI.