11-03-03 — OneLake MCP Server GA
TL;DR
O OneLake MCP Server entrou em GA no Microsoft Build 2025. Ele expoe os dados do OneLake como um servidor MCP (Model Context Protocol), permitindo que qualquer agente compativel com MCP (Claude, Copilot Studio, Semantic Kernel, LangChain) leia e query dados do Fabric sem configuracao adicional. E a forma mais simples de conectar um LLM externo ao seu data lake corporativo.
O que e o OneLake MCP Server
MCP (Model Context Protocol) e o padrao aberto da Anthropic para conectar LLMs a ferramentas e fontes de dados. O OneLake MCP Server e a implementacao da Microsoft que expoe o OneLake como um servidor MCP, com as seguintes ferramentas:
- list_workspaces - lista workspaces acessiveis
- list_items - lista lakehouses, warehouses, etc. em um workspace
- list_tables - lista tabelas Delta de um Lakehouse/Warehouse
- read_table - le amostras de dados de uma tabela
- execute_query - executa SQL no Warehouse
- list_files - lista arquivos na secao Files do Lakehouse
- read_file - le conteudo de arquivo (CSV, JSON, Parquet)
GA Build 2025: O OneLake MCP Server foi anunciado em GA no Microsoft Build 2025, com autenticacao via Azure AD (sem API keys expostas) e suporte a Row Level Security do Fabric.
Conectando um agente .NET ao OneLake via MCP
// Program.cs - agente .NET com Semantic Kernel + OneLake MCP
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.MCP;
var kernel = Kernel.CreateBuilder()
.AddAzureOpenAIChatCompletion("gpt-4o", endpoint, apiKey)
.Build();
// Conecta ao OneLake MCP Server
var mcpClient = await MCPClient.ConnectAsync(new MCPClientOptions
{
ServerUrl = "https://onelake.dfs.fabric.microsoft.com/mcp/v1",
Authentication = new AzureIdentityAuthentication() // Usa credencial Azure AD
});
// Importa as ferramentas do MCP como plugins do SK
var mcpPlugin = await kernel.ImportMCPPluginAsync(mcpClient, "OneLake");
// Agora o LLM pode usar os dados do Fabric automaticamente
var result = await kernel.InvokePromptAsync(
"Quais tabelas estao disponiveis no workspace de vendas? " +
"Mostre um resumo dos dados de receita mensal."
);
Console.WriteLine(result);
Conectando Claude Desktop ao OneLake
# claude_desktop_config.json - conecta Claude ao OneLake
{
"mcpServers": {
"onelake": {
"command": "npx",
"args": ["-y", "@microsoft/onelake-mcp-server"],
"env": {
"FABRIC_WORKSPACE_ID": "seu-workspace-id",
"AZURE_TENANT_ID": "seu-tenant-id",
"AZURE_CLIENT_ID": "seu-app-id",
"AZURE_CLIENT_SECRET": "seu-secret"
}
}
}
}
MCP vs Data Agents vs REST API
| Criterio | MCP Server | Data Agents | REST API direta |
|---|---|---|---|
| Integracao com LLMs externos | Nativa (protocolo padrao) | Via HTTP action | Manual |
| Contexto semantico | Basico (schema) | Rico (Fabric IQ) | Nenhum |
| Segurança | Azure AD + RLS | Azure AD + RLS | Depende da implementacao |
| Suporte a escrita | Limitado (GA: so leitura) | Nao (so leitura) | Total |
| Melhor para | Agentes externos (Claude, OSS) | Usuarios de negocio | Integracao programatica |
Quando usar MCP vs Data Agents: Use MCP quando seu agente ja e um cliente MCP (Claude, Copilot com SK, LangChain com MCP adapter). Use Data Agents quando voce quer uma experiencia gerenciada com Fabric IQ e interface no Copilot Studio. Use ambos em complemento: MCP para desenvolvedores, Data Agents para usuarios de negocio.
Impacto para equipes .NET: Com o OneLake MCP Server, um agente Semantic Kernel em .NET pode acessar TODOS os dados corporativos do Fabric com 5 linhas de codigo. Sem ETL, sem API customizada, sem schema hardcoded. O agente descobre o schema dinamicamente via MCP.
Como isso se conecta
- 11-03-04 - Azure AI Foundry tambem pode se conectar ao OneLake via MCP
- 10-01-03 - MCP pode ser usado como knowledge source no Copilot Studio
- Modulo 9 (SK) - Semantic Kernel e cliente MCP nativo desde a versao 1.x