Compartilhar via


Início Rápido: Usar o SQL MCP Server com aplicativos de contêiner do Azure

Importante

O SQL MCP Server está em versão prévia e esta documentação e a implementação do mecanismo estão sujeitas a alterações durante esse período de avaliação.

Este início rápido mostra como implantar o SQL MCP Server nos Aplicativos de Contêiner do Azure. Depois de implantado, você pode se conectar a ele por meio do Visual Studio Code (VS Code), do Microsoft Foundry ou de qualquer outro cliente MCP (Protocolo de Contexto de Modelo) como endpoint de servidor remoto.

Diagrama que mostra um SQL MCP Server implantado nos Aplicativos de Contêiner do Azure.

Pré-requisitos

Assinatura do Azure

Você precisa de uma assinatura ativa do Azure. Se você não tiver um:

https://azure.microsoft.com/free

CLI do Azure

Instale a CLI do Azure para implantar recursos:

Windows

winget install Microsoft.AzureCLI

macOS

brew install azure-cli

.NET 9+

Talvez você já tenha essa ferramenta instalada. Execute o dotnet --version e confirme que relata a versão 9 ou posterior.

Windows

winget install Microsoft.DotNet.Runtime.9

CLI do construtor de API de Dados

dotnet new tool-manifest
dotnet tool install microsoft.dataapibuilder --prerelease

Observação

O SQL MCP Server está atualmente em pré-lançamento. O uso do --prerelease sinalizador garante que você obtenha a versão mais recente do construtor de API de Dados com todos os recursos usados neste início rápido.

PowerShell

Instale o PowerShell se ele ainda não estiver instalado.

dotnet tool install --global PowerShell

Etapa 1: Criar e implantar o Banco de Dados SQL do Azure

1. Entrar no Azure

az login
az account set --subscription "<your-subscription-id>"

2. Definir variáveis para sua implantação

$RESOURCE_GROUP = "rg-sql-mcp"
$LOCATION = "eastus"
$SQL_SERVER = "sql-mcp-$(Get-Random -Minimum 1000 -Maximum 9999)"
$SQL_DATABASE = "ProductsDB"
$SQL_ADMIN = "sqladmin"
$SQL_PASSWORD = "<YourStrongPassword123!>"

3. Criar um grupo de recursos

az group create \
  --name $RESOURCE_GROUP \
  --location $LOCATION

4. Criar o SQL Server do Azure

az sql server create \
  --name $SQL_SERVER \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --admin-user $SQL_ADMIN \
  --admin-password $SQL_PASSWORD

5. Configurar o firewall para permitir serviços do Azure

az sql server firewall-rule create \
  --resource-group $RESOURCE_GROUP \
  --server $SQL_SERVER \
  --name AllowAzureServices \
  --start-ip-address 0.0.0.0 \
  --end-ip-address 0.0.0.0

6. Criar o banco de dados

az sql db create \
  --resource-group $RESOURCE_GROUP \
  --server $SQL_SERVER \
  --name $SQL_DATABASE \
  --service-objective S0

7. Criar uma tabela Produtos com dados de exemplo

Obtenha sua string de conexão primeiro:

$CONNECTION_STRING = "Server=tcp:$SQL_SERVER.database.windows.net,1433;Database=$SQL_DATABASE;User ID=$SQL_ADMIN;Password=$SQL_PASSWORD;Encrypt=true;TrustServerCertificate=false;Connection Timeout=30;"

Criar um arquivo create-products.sqlde script SQL:

CREATE TABLE dbo.Products
(
    ProductID INT NOT NULL PRIMARY KEY IDENTITY(1,1),
    ProductName NVARCHAR(100) NOT NULL,
    Category NVARCHAR(50) NOT NULL,
    UnitPrice DECIMAL(10,2) NOT NULL,
    UnitsInStock INT NOT NULL,
    Discontinued BIT NOT NULL DEFAULT 0
);

INSERT INTO dbo.Products (ProductName, Category, UnitPrice, UnitsInStock, Discontinued) VALUES
('Laptop Pro 15', 'Electronics', 1299.99, 45, 0),
('Wireless Mouse', 'Electronics', 29.99, 150, 0),
('Office Chair', 'Furniture', 249.99, 30, 0),
('Standing Desk', 'Furniture', 599.99, 15, 0),
('Coffee Maker', 'Appliances', 89.99, 60, 0),
('Notebook Set', 'Office Supplies', 12.99, 200, 0),
('USB-C Hub', 'Electronics', 49.99, 80, 0),
('Desk Lamp', 'Furniture', 39.99, 100, 0),
('Bluetooth Headphones', 'Electronics', 149.99, 50, 0),
('Water Bottle', 'Office Supplies', 19.99, 120, 0);

Execute-o usando o VS Code, o SQL Server Management Studio ou o sqlcmd.

Etapa 2: Configurar o SQL MCP Server

1. Criar seu dab-config.json

Inicialize a configuração:

dab init `
  --database-type mssql `
  --connection-string "@env('MSSQL_CONNECTION_STRING')" `
  --host-mode Production `
  --config dab-config.json

2. Adicionar a entidade Produtos com descrições

dab add Products `
  --source dbo.Products `
  --permissions "anonymous:read" `
  --description "Product catalog with pricing, category, and inventory information"

3. Fornecer contexto do agente de IA com descrições de campo

Adicione descrições de campo para ajudar os agentes de IA a entender seu esquema de banco de dados:

dab update Products `
  --fields.name ProductID `
  --fields.description "Unique product identifier" `
  --fields.primary-key true

dab update Products `
  --fields.name ProductName `
  --fields.description "Name of the product"

dab update Products `
  --fields.name Category `
  --fields.description "Product category (Electronics, Furniture, Office Supplies, Appliances)"

dab update Products `
  --fields.name UnitPrice `
  --fields.description "Retail price per unit in USD"

dab update Products `
  --fields.name UnitsInStock `
  --fields.description "Current inventory count available for purchase"

dab update Products `
  --fields.name Discontinued `
  --fields.description "True if product is no longer available for sale"

Etapa 3: Implantar o SQL MCP Server nos Aplicativos de Contêiner do Azure

1. Criar ambiente de Aplicativos de Contêiner

$CONTAINERAPP_ENV = "sql-mcp-env"
$CONTAINERAPP_NAME = "sql-mcp-server"

az containerapp env create `
  --name $CONTAINERAPP_ENV `
  --resource-group $RESOURCE_GROUP `
  --location $LOCATION

2. Criar configuração codificada em base64

$CONFIG_JSON = Get-Content dab-config.json -Raw
$CONFIG_BYTES = [System.Text.Encoding]::UTF8.GetBytes($CONFIG_JSON)
$CONFIG_BASE64 = [Convert]::ToBase64String($CONFIG_BYTES)

3. Implantar o contêiner do SQL MCP Server

az containerapp create `
  --name $CONTAINERAPP_NAME `
  --resource-group $RESOURCE_GROUP `
  --environment $CONTAINERAPP_ENV `
  --image mcr.microsoft.com/azure-databases/data-api-builder:latest `
  --target-port 5000 `
  --ingress external `
  --min-replicas 1 `
  --max-replicas 3 `
  --secrets "mssql-connection-string=$CONNECTION_STRING" "dab-config-base64=$CONFIG_BASE64" `
  --env-vars "MSSQL_CONNECTION_STRING=secretref:mssql-connection-string" "DAB_CONFIG_BASE64=secretref:dab-config-base64" `
  --cpu 0.5 `
  --memory 1.0Gi

Seu grupo de recursos deve ser semelhante ao seguinte exemplo:

Captura de tela do grupo de recursos do portal do Azure após a implantação.

4. Obter a URL do ponto de extremidade MCP

$MCP_URL = az containerapp show `
  --name $CONTAINERAPP_NAME `
  --resource-group $RESOURCE_GROUP `
  --query "properties.configuration.ingress.fqdn" `
  --output tsv

Write-Host "Your MCP Server URL: https://$MCP_URL/mcp"

Salve essa URL – use-a para se conectar a partir de clientes MCP.

5. Testar sua implantação

curl "https://$MCP_URL/health"

Você deve ver uma resposta saudável.

Conectar-se a partir de clientes MCP

Seu SQL MCP Server agora está implantado e pronto para uso. Veja como se conectar de vários clientes:

Visual Studio Code (VS Code)

Siga o Guia de início rápido com o VS Code e use a URL do seu servidor MCP implantado em vez de executar localmente.

Microsoft Foundry

Para adicionar seu servidor MCP como uma Ferramenta MCP Personalizada, siga o guia de Início Rápido com o Microsoft Foundry .

Outros clientes MCP

Use a URL do servidor MCP da Etapa 3.4 para se conectar de qualquer cliente compatível com MCP.

Monitoramento e solução de problemas

Exibir logs de Aplicações de Contêiner

az containerapp logs show \
  --name $CONTAINERAPP_NAME \
  --resource-group $RESOURCE_GROUP \
  --follow

Verificar a integridade do ponto de extremidade do MCP

curl "https://$MCP_URL/health"

Problemas comuns

Erro de falha na conexão

  • Verifique se a entrada de Aplicativos de Contêiner está definida como external
  • Verificar se a cadeia de conexão SQL está correta
  • Verificar regras de firewall no SQL do Azure

Nenhum dado retornado

  • Verificar se a tabela Produtos foi criada e preenchida
  • Verificar permissões de entidade em dab-config.json
  • Examinar os logs de Aplicativos em Containers em busca de erros

O desempenho é lento

  • Considere aumentar a alocação de CPU/memória
  • Verificar se você precisa aumentar o número de réplicas
  • Examinar as métricas do Application Insights

Práticas recomendadas de segurança para produção

  • Habilitar autenticação – Configurar a autenticação do Microsoft Entra ID em vez de acesso anônimo
  • Usar identidades gerenciadas – Permitir que os Aplicativos de Contêiner se autentiquem no SQL usando a identidade gerenciada
  • Implementar CORS – Restringir quais domínios podem acessar seu servidor MCP
  • Habilitar limitação de taxa – Proteger contra abuso
  • Usar o Azure Key Vault – Armazenar cadeias de conexão com segurança
  • Monitorar com o Application Insights – Acompanhar o uso e o desempenho
  • Restringir permissões – conceder apenas os níveis de acesso necessários

Limpar os recursos

Quando terminar, exclua o grupo de recursos para remover todos os recursos:

az group delete --name $RESOURCE_GROUP --yes --no-wait

Conteúdo externo