11-03-03 — OneLake MCP Server GA
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.