Início Rápido: Crie um servidor MCP hospedado no Espaço de Nomes do Conector (prévia)

Importante

Este recurso de visualização está sujeito aos Termos de Uso Complementares para Visualizações do Microsoft Azure.

Durante a prévia, servidores MCP hospedados estão disponíveis nas seguintes regiões: Centro Ocidental dos EUA, Leste Asiático, Centro dos EUA e Norte da Europa.

Neste guia de início rápido, você criará um servidor hospedado do Model Context Protocol (MCP) no Connector Namespace e o conectará a clientes MCP. Use o seletor de servidor na parte superior desta página para escolher o servidor que você deseja implantar.

Servidores MCP são um recurso de primeira classe no Espaço de Nomes do Conector. O Namespace do Conector é um serviço totalmente gerenciado que hospeda conectores, conexões, gatilhos e servidores MCP.

Quando você cria um servidor MCP hospedado em um namespace, a plataforma executa uma imagem predefinida do servidor na computação dedicada que ele provisiona. Você controla a configuração do servidor, as variáveis de ambiente e os parâmetros. O namespace lida com hospedagem, dimensionamento e gerenciamento de credenciais. Agentes de IA como Copilot, agentes personalizados ou qualquer cliente com reconhecimento de MCP descobrem e chamam as ferramentas do servidor usando o modelo de conexão do namespace.

Os servidores MCP hospedados diferem dos servidores MCP gerenciados, que são implementações gerenciadas pela plataforma criadas em conectores. O namespace lida com definições de ferramenta e configuração para servidores gerenciados.

Implantar usando Azure Developer CLI

A maneira mais fácil de implantar um servidor SQL MCP é acessar o exemplo azure-sql-mcp e seguir instruções do README para implantar usando a CLI do Azure Developer ou azd. O exemplo contém arquivos Bicep que permitem provisionar um namespace do conector, um servidor SQL MCP, um banco de dados SQL e outros recursos necessários do Azure com apenas um comando.

Se você preferir implementar um servidor SQL MCP e os recursos necessários do início ao fim, siga as instruções abaixo.

Pré-requisitos

Propagar o banco de dados SQL

  1. No portal Azure, acesse o banco de dados SQL (não o servidor).

  2. No menu à esquerda, selecione o editor de Consultas e entre como administrador do banco de dados.

  3. Selecione Nova consulta e execute o seguinte comando para propagar o banco de dados:

    CREATE TABLE dbo.Books
    (
       Id int IDENTITY(1,1) PRIMARY KEY,
       Title nvarchar(200) NOT NULL
    );
    
    INSERT INTO dbo.Books (Title) VALUES (N'The little prince');
    INSERT INTO dbo.Books (Title) VALUES (N'Pride and prejudice');
    

Gerar o arquivo de configuração do DAB

O servidor MCP hospedado pelo SQL é criado no DAB (Construtor de API de Dados), que fornece uma API de dados segura em seu banco de dados e expõe suas entidades (tabelas) como ferramentas MCP. O servidor requer um arquivo de configuração do DAB que define a conexão de banco de dados e as entidades a serem expostas.

  1. Gere um arquivo de configuração do DAB para seu banco de dados e habilite apenas o MCP:

    dab init --database-type "mssql" --host-mode "Development" --graphql.enabled false --rest.enabled false --connection-string "<your-sql-connection-string>"
    

    Como o servidor acessa o banco de dados subjacente usando uma identidade gerenciada atribuída pelo sistema (SAMI), a cadeia de conexão deve se parecer com o seguinte exemplo:

    Server=<your-sql-server>.database.windows.net;Database=<your-database>;Authentication=Active Directory Default;Encrypt=True;TrustServerCertificate=False;
    
  2. Adicione a entidade Books e a permissão relacionada:

    dab add Books --source "dbo.Books" --permissions "anonymous:*"
    

    Para obter detalhes sobre como configurar entidades e permissões, consulte a autorização do construtor de API de Dados.

    Veja um exemplo de arquivo de configuração:

    {
       "$schema": "https://github.com/Azure/data-api-builder/releases/download/v1.7.93/dab.draft.schema.json",
       "data-source": {
          "database-type": "mssql",
          "connection-string": "Server=<your-sql-server>.database.windows.net;Database=<your-database>;Authentication=Active Directory Default;Encrypt=True;TrustServerCertificate=False;",
          "options": {
             "set-session-context": false
          }
       },
       "runtime": {
          "rest": {
             "enabled": false,
             "path": "/api",
             "request-body-strict": true
          },
          "graphql": {
             "enabled": false,
             "path": "/graphql",
             "allow-introspection": true
          },
          "mcp": {
             "enabled": true,
             "path": "/mcp"
          },
          "host": {
             "cors": {
                "origins": [],
                "allow-credentials": false
             },
             "authentication": {
                "provider": "AppService"
             },
             "mode": "development"
          }
       },
       "entities": {
          "Books": {
             "source": {
                "object": "dbo.Books",
                "type": "table"
             },
             "graphql": {
                "enabled": true,
                "type": {
                   "singular": "Books",
                   "plural": "Books"
                }
             },
             "rest": {
                "enabled": true
             },
             "permissions": [
                {
                   "role": "anonymous",
                   "actions": [
                      {
                      "action": "*"
                      }
                   ]
                }
             ]
          }
       }
    }
    

Criar um servidor MCP hospedado

  1. Entre no portal do Azure.

  2. Procure o recurso Namespace do Conector.

  3. Selecione Conectar ao Namespace para abrir o portal do namespace em uma nova guia do navegador.

  4. Quando você for redirecionado, entre com a conta Microsoft associada ao namespace.

  5. Dentro da instância do namespace, procure a seção Conector MCP e selecione o botão + Criar.

  1. Pesquise o Dramaturgo e selecione-o para criar o servidor.
  1. Procure por SQL MCP Server e selecione para criar o servidor.

  2. Na janela de criação, selecione Gerenciar Identidade para o método de autenticação de saída.

  3. Carregue o arquivo de configuração do DAB gerado anteriormente.

  4. Selecione Criar.

Aguarde até que a conexão e o servidor necessários sejam provisionados e implantados. Não feche a caixa de diálogo Criar após a implantação. Você configurará um recurso do Application Insights para coletar telemetria do servidor.

Habilitar o monitoramento no servidor

  1. Abra outra guia para obter a cadeia de conexão do seu recurso do Application Insights no portal do Azure.

  2. Volte para o portal do namespace e selecione Habilitar monitoramento.

  3. Cole o cadeia de conexão na caixa e selecione Habilitar.

  4. Selecione Concluído quando o Application Insights estiver configurado.

Você é automaticamente direcionado para a página de Visão Geral do servidor implantado, onde pode encontrar o endpoint. Caso contrário, selecione a guia Conectores MCP no menu à esquerda e localize o servidor que você implantou.

Conceder acesso à identidade do namespace ao banco de dados

O SQL Server hospedado usa o SAMI do namespace para acessar seu banco de dados. Você pode habilitar um SAMI durante a criação do namespace.

Se você não habilitou um SAMI durante a criação, deverá habilitá-lo acessando sua instância de namespace no portal da Web. No menu à esquerda, localize a guia Identidade. Altere a opção Atribuído pelo sistema para Ativado e salve a alteração.

Acesse o banco de dados SQL no portal do Azure, abra o editor de Consultas e execute o seguinte comando para conceder acesso à identidade gerenciada:

CREATE USER [<your-connector-namespace-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<your-connector-namespace-name>];
ALTER ROLE db_datawriter ADD MEMBER [<your-connector-namespace-name>];
GRANT VIEW DEFINITION TO [<your-connector-namespace-name>];

Substitua <your-connector-namespace-name> pelo nome do recurso Namespace do conector.

Conectar usando o GitHub Copilot no Visual Studio Code

  1. Para conectar o servidor MCP hospedado ao GitHub Copilot no Visual Studio Code, adicione a configuração do servidor às configurações do MCP:

    {
      "servers": {
        "my-hosted-server": {
          "url": "<your-mcp-endpoint-url>",
          "type": "http"
        }
      }
    }
    

    Substitua <your-mcp-endpoint-url> pela URL do endpoint que você copiou da página Overview do servidor.

  2. Selecione Iniciar acima do nome do servidor. É solicitado que você se autentique com Microsoft. Entre com o endereço de email que você usou para entrar no portal do Azure.

  3. Confirme se o número de ferramentas disponíveis aparece acima do nome do servidor.

  1. Abra o modo de agente do Copilot e pergunte "Qual é a pizzaria mais próxima de 11 Times Square?"
  1. Abra o modo agente do Copilot e pergunte "Quais tabelas estão disponíveis?"

Conectar-se do Inspetor do MCP

  1. No terminal, execute:

    az login
    
  2. Obtenha um token de acesso da sessão az login para se conectar ao servidor:

    MCP_TOKEN=$(az account get-access-token --resource https://apihub.azure.com --query accessToken -o tsv)
    
  3. Faça uma chamada para o servidor para obter uma lista de ferramentas:

    npx @modelcontextprotocol/inspector --cli \
    "<your-mcp-endpoint-url>" \
    --transport http \
    --method tools/list \
    --header "Authorization: Bearer $MCP_TOKEN"
    
  1. Chame uma ferramenta específica. Por exemplo, o comando a seguir chama a browser_navigate ferramenta:

    npx @modelcontextprotocol/inspector --cli \
    "<your-mcp-endpoint-url>" \
    --transport http \
    --method tools/call \
    --tool-name browser_navigate \
    --tool-arg url="https://www.google.com/search?q=pizza+near+11+Times+Square+New+York" \
    --header "Authorization: Bearer $MCP_TOKEN"
    
  1. Chame uma ferramenta específica. Por exemplo, o comando a seguir chama a describe_entities ferramenta para listar entidades disponíveis:

    npx @modelcontextprotocol/inspector --cli \
    "<your-mcp-endpoint-url>" \
    --transport http \
    --method tools/call \
    --header "Authorization: Bearer $MCP_TOKEN" \
    --tool-name describe_entities \
    --tool-arg 'nameOnly=true'
    
  2. Chame a read_records ferramenta para recuperar registros de uma entidade (Books):

    npx @modelcontextprotocol/inspector --cli \
    "<your-mcp-endpoint-url>" \
    --transport http \
    --method tools/call \
    --header "Authorization: Bearer $MCP_TOKEN" \
    --tool-name read_records \
    --tool-arg 'entity=Books' \
    --tool-arg 'first=2'
    

Importante

Passar tokens de acesso manualmente é adequado apenas para desenvolvimento e teste locais. Para cenários de produção, use identidades gerenciadas ou fluxos OAuth para adquirir tokens automaticamente.

Exibir logs do servidor

  1. Acesse o portal do Azure e localize o recurso application insights que você configurou com o servidor MCP.

  2. No menu à esquerda, localize Investigar>Pesquisa.

  3. Defina o filtro hora local na parte superior para os últimos 30 minutos. Visualize os logs como rastros ou itens individuais.

Solucionar problemas do SQL Server

Se o servidor MCP do SQL hospedado não conectar ou retornar dados conforme o esperado, verifique os seguintes itens:

  • Arquivo de configuração do DAB. Confirme se o arquivo de configuração do DAB carregado é válido, usa o cadeia de conexão correto e define as entidades e permissões que você espera expor.
  • Identidade gerenciada atribuída pelo sistema. Verifique se um SAMI está habilitado no namespace. Vá para a instância do namespace no portal da Web, selecione a guia Identidade e confirme se o Sistema Atribuído está definido como Ativado.
  • Acesso ao banco de dados. Verifique se a identidade do namespace tem acesso ao banco de dados. Confira Conceder acesso à identidade do namespace ao banco de dados.