Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Model Bağlam Protokolü (MCP), yapay zeka sistemlerinin kendi dışındaki araçlar ve verilerle bağlantı kurmasını sağlayan yapay zeka alanında ortaya çıkan bir standarttır. Yapay zeka modelinin nelerin kullanılabilir olduğunu nasıl keşfedebileceğini ve tutarlı bir şekilde etkileşim kurabileceğini tanımlar. MCP, tek seferlik tümleştirmeler oluşturmak yerine farklı uygulama ve hizmetlerde çalışan öğeleri takmak için standart bir yol sunar. Bu yaklaşım, yapay zeka sistemlerinin yerleşik bilgilerini aşarak tutarlı olmasını kolaylaştırır. Ayrıca ekiplerin her seferinde aynı bağlantıları yeniden keşfetmeleri gerekmediğinden daha hızlı hareket etmelerine de yardımcı olur.
MCP'nin iki ana bölümü vardır: istemci ve sunucu.
MCP istemcisi, kullanıcının etkileşimde bulunduğu uygulama veya deneyimdir. Soru sorduğunuz veya eylemleri tetiklediğiniz yerdir. İstemci, araçları bulmak ve kullanmak için MCP sunucularına ulaşır. Örneğin, Visual Studio Code verileri almak için dış araçlara bağlandığında veya kod yazıp çalıştırmanıza yardımcı olduğunda MCP istemcisi olarak görev yapabilir.
MCP sunucusu istemcilerin kullanabilmesi için araçları, verileri veya hizmetleri kullanıma sunar. İstemciye nelerin kullanılabilir olduğunu ve nasıl kullanılacağını bildirir. Örneğin Fabric veri aracısı, yapay zeka sisteminin kullanabileceği kurumsal verileri ve sorguları kullanıma sunarak MCP sunucusu olarak görev yapabilir.
İstemci ve sunucu birlikte her seferinde özel tümleştirmeler oluşturmadan yapay zeka sistemlerini gerçek veri ve eylemlerle bağlamayı kolaylaştırır.
Önemli
Bu özellik önizleme aşamasındadır.
Önemli
McP sunucusu olarak bir Fabric veri aracısı kullandığınızda, veri aracısı tarafından döndürülen yanıtlar Fabric uyumluluk sınırının veya coğrafi bölgesinin dışına gönderilebilir ve kullandığınız MCP istemcisinin hüküm ve veri işleme ilkelerine göre işlenebilir veya depolanabilir.
Önkoşullar
- F2 veya üstü ücretli bir Fabric kapasitesi veya Microsoft Fabric etkin kapasiteye sahip bir Power BI Premium kapasitesi (P1 veya üzeri).
- Yapay zekâ için coğrafyalar arası işleme ve coğrafyalar arası depolama, Fabric veri aracısı kiracı ayarları gereksinimlerine göre etkinleştirildi.
- Verileri olan en az bir veri kaynağı: ambar, göl evi, Power BI anlam modeli, KQL veritabanı, yansıtılmış veritabanı veya ontoloji. Veri kaynağına okuma erişiminiz olmalıdır.
- Yayımlanmış veri aracısı. MCP sunucusu yalnızca veri aracısını yayımladıktan sonra çalışır. Daha fazla bilgi için bkz. Doku veri aracısı oluşturma.
Nasıl çalışır?
Yayımlanan Fabric veri aracısı tek bir MCP aracını kullanıma sunar. Bu araç veri aracısını temsil eder, bu nedenle bir MCP istemcisi araca bir soru gönderir ve veri aracısının Fabric OneLake'de erişebilecekleri verilerde yer alan bir yanıtı geri alır.
İstemci aracıyı ne zaman çağıracağından veri aracısı açıklaması önemlidir. Bir veri aracısını yayımladığınızda, açıklaması MCP sunucusunun tanıttığı araç açıklaması olur. İstemciler ve düzenleyiciler veri aracısını ne zaman ve nasıl çağıracaklarına karar vermek için bu açıklamayı okur, bu nedenle aracının ne bildiğini ve yanıtlayabileceğiniz soru türlerini açıklayan net ve belirli bir açıklama yazın.
Veri aracısı MCP sunucusunu tek bir araç veya düzenleyiciden değil, herhangi bir MCP istemcisinden kullanabilirsiniz. İstemciniz akışla aktarılabilir HTTP üzerinden MCP konuştuğu ve isteklerine geçerli bir Fabric taşıyıcı belirteci ekleyebildiği sürece bağlanabilir. Aşağıdaki bölümlerde iki istemci gösterilmektedir: bir Python betiği ve Visual Studio Code. Aynı uç nokta ve aynı belirteç, oluşturduğunuz veya benimsediğiniz diğer tüm MCP istemcileri için çalışır.
MCP sunucusuyla konuşan her şeyin MCP'yi konuşması gerekir, dolayısıyla tanım gereği bir MCP istemcisi olarak hareket eder. "MCP istemcisi" terimi belirli bir ürün veya SDK anlamına gelmez. Bu, protokolü izleyen herhangi bir kod anlamına gelir. Uç nokta, rastgele istek gönderebileceğiniz düz bir REST API değildir. MCP ileti akışını izleyen bir initialize bağlantı: el sıkışma, tools/list aracı keşfetme çağrısı ve tools/call soru sorma isteği.
MCP Python SDK gibi bir SDK sizin için akışı işler, ancak istekleriniz protokole uygun olduğu sürece bunu düz HTTP üzerinden kendiniz de uygulayabilirsiniz. El sıkışma ve ileti biçimini atlayan genel bir HTTP istemcisi çalışmaz.
Uyarı
Veri aracısı MCP sunucusu dinamik istemci kaydını desteklemez. İstemciniz, protokol aracılığıyla kendisini kaydedemez ve kimlik bilgilerini otomatik olarak alamaz. Bunun yerine, bu makaledeki örneklerde gösterildiği gibi kendi kimlik doğrulama akışınız aracılığıyla bir Fabric belirteci alır ve her isteğe eklersiniz.
MCP sunucusu ayrıntılarını alma
Veri aracısını yayımladıktan sonra Ayarlar'ı açın ve Model Bağlam Protokolü sekmesine gidin. Bu sekme şunları gösterir:
- Veri aracısı MCP sunucu adı
- MCP sunucusu URL'si (bu değeri kopyalayın; her istemcide kullanırsınız)
- Veri aracısı MCP aracı adı
- MCP sunucu aracı açıklaması
Visual Studio Code gibi bu biçimi okuyan istemcileri yapılandırmak için bu sekmeden mcp.jsondosyasını da indirebilirsiniz.
URL'yi çalışma alanı kimliğinizden ve veri aracısı kimliğinizden kendiniz de oluşturabilirsiniz:
https://api.fabric.microsoft.com/v1/mcp/workspaces/{WorkspaceId}/dataagents/{DataAgentId}/agent
| Placeholder | Açıklama |
|---|---|
{WorkspaceId} |
Veri aracısını içeren Fabric çalışma alanının kimliği. |
{DataAgentId} |
Yayımlanan veri aracısının ID’si. |
El ile oluşturulan URL yalnızca veri aracısını yayımladıktan sonra çalışır. Ajan yayımlanmamışsa, URL doğru olsa bile uç nokta hata döndürür.
Authentication
MCP uç noktasına yapılan her isteğin kimliği Fabric üzerinden doğrulanmalıdır. İstemciniz, Authorization başlığında bir bearer belirteci ekler ve bu belirtecin hedef çalışma alanına ve veri aracısına erişim iznine sahip olması gerekir. Belirteç bir kullanıcı kimliğini veya hizmet sorumlusunu temsil edebilir.
Belirteci nasıl elde ettiğiniz, istemcinize bağlıdır. Visual Studio Code etkileşimli olarak oturum açmanızı ister. Bir Python betiğinde, belirteci azure-identity gibi bir kitaplık aracılığıyla alır ve bunu istek üst bilgilerine kendiniz eklersiniz. İstemci ne olursa olsun, https://api.fabric.microsoft.com/.default kapsamı için belirteci isteyin.
Python'dan bağlanma
Bu örnek, bağımsız bir Python betiğinden veri aracısı MCP uç noktasına bağlanır, aracı keşfeder, bir soru gönderir ve yanıtı yazdırır.
MCP Python SDK'sını ve kitaplığını azure-identity kullanır.
Python istemcisi için önkoşullar
- Python 3.10 veya üzeri.
-
mcpveazure-identitypaketleri. - Fabric'te oturum açmanın bir yolu. Bu örnekte Azure CLI kullanılır.
Azure CLI yükleyin, ardından komutunu çalıştırın
az loginve çalışma alanına ve veri aracısına erişimi olan bir hesapla oturum açın.
Paketleri yükleyin:
pip install mcp azure-identity
İstemciyi adım adım oluşturun
Aşağıdaki bölümler betiği birer birer oluşturur. Her blok aynı dosyaya devam eder, böylece bunları tek .py bir dosyaya yapıştırabilir ve çalıştırabilirsiniz.
Kitaplıkları içeri aktarın ve değerlerinizi ayarlayın. Çalışma alanı kimliğini, veri aracısı kimliğini ve soruyu kendi değerlerinizle değiştirin. , mcp_url daha önce açıklanan uç nokta biçimini izler.
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"
)
Bir belirteç alın ve yetkilendirme üst bilgisini oluşturun.
AzureCliCredential, az login içindeki oturum açma bilgilerini yeniden kullanır. Yardımcı, Fabric kapsamı için bir belirteç ister ve bunu her istekte taşınan bir Authorization üst bilgisi olarak döndürür.
credential = AzureCliCredential()
def get_auth_headers():
token = credential.get_token("https://api.fabric.microsoft.com/.default")
return {"Authorization": f"Bearer {token.token}"}
Bağlantıyı açın, aracı bulun ve soruyu sorun. Bu işlev, kimlik doğrulama üst bilgisiyle akışa uygun bir HTTP bağlantısı açar, initialize ile MCP el sıkışmasını gerçekleştirir, araçları listeler ve veri aracısının sunduğu tek aracı okur. Aracın giriş şemasındaki soru bağımsız değişkeninin adını bulur, böylece bunu sabit kodlamazsınız, ardından aracı çağırır ve yanıttan metni toplar.
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)
Çalıştırın ve yanıtı yazdırın.
query_data_agent bir eşyordamdır, bu nedenle asyncio.run onu tamamlanana kadar çalıştırır ve sonucu döndürür.
answer = asyncio.run(query_data_agent(question))
print(answer)
Betik, sunucunun bildirdiği ilk aracı okuyup aracın girdi şemasından question parametresini bulduğu için, araç adı veya parametre adı değişse bile çalışmaya devam eder. Her iki değeri de sabit kodla oluşturmanız gerekmez.
Tavsiye
AzureCliCredential ile az loginoluşturduğunuz oturum açmayı okur. Bir hizmette veya görevde olduğu gibi gözetimsiz çalıştırmak için, bunun yerine örneğin ClientSecretCredential veya DefaultAzureCredential gibi bir hizmet sorumlusu kimlik bilgileri kullanın. Kodun geri kalanı aynı kalır.
Visual Studio Code'dan bağlanma
Visual Studio Code bir MCP istemcisi olarak hareket edebilir. Aşağıdaki adımlar veri aracısı MCP sunucusunu ekler ve düzenleyiciden sorular sorar. Bu adımlardan biri örnektir; uç nokta ve belirteç, diğer MCP istemcilerinin kullandığıyla aynıdır.
MCP sunucusunu ekleme
Visual Studio Code açın ve çalışmak için bir klasör seçin.
Seçili klasörde bir .vscode klasörü oluşturun.
.vscode içinde adlı
mcp.jsonbir dosya oluşturun.Visual Studio Code pencerenin sağ alt kısmında mavi bir Sunucu Ekle düğmesi gösterilir.
Sunucu Ekle'yi ve ardından HTTP'yi seçin. URL istendiğinde, daha önce kopyaladığınız MCP sunucusu URL'sini yapıştırın.
Enter tuşuna basın ve sunucu için bir ad girin. Visual Studio Code sunucuyu görüntülemek için bu adı kullanır.
Visual Studio Code kimlik doğrulaması yapmaya çalışır. İzin ver'i seçin ve kimlik bilgilerinizle oturum açın.
Sunucu oluşturulur.
Aracı modunu etkinleştirme
Sunucuyu ekledikten sonra, Visual Studio Code sorularınızı veri aracısına yönlendirebilmesi için aracı modunu etkinleştirin:
Komut Paleti'ni açın (Ctrl+Shift+P veya Cmd+Shift+P).
Aracı Modunu Etkinleştir'i arayın ve seçin.
Modu etkinleştirmek için tüm istemleri onaylayın.
Aracı modu etkin olduğunda, sorularınızı işlemek için bir düzenleyici seçin. Düzenleyici, düzenleyici ile veri aracısı MCP sunucusundaki sorularınız arasındaki akışı yönetir. Önizleme aşamasındaki kullanılabilir düzenleyiciler arasında GPT-5, GPT-4.1, Claude Sonnet 4.5, İkizler 2.5 Pro ve diğerleri bulunur.
Soru sorun
Aracı modu açık ve bir düzenleyici seçili durumdayken doğrudan düzenleyiciden sorular sorun. Orkestratör her soruyu veri aracısının MCP sunucusuna yönlendirir ve aracı da OneLake'te erişebildiği verilere dayanan bir yanıt verir. Kurumsal bilginizi yapay zekâ iş akışlarınıza dahil ederken düzenleyicide kalırsınız.