Quickstart: Criar um servidor MCP alojado no Espaço de Nomes do Conector (pré-visualização)

Importante

Esta funcionalidade de pré-visualização está sujeita aos Termos Suplementares de Utilização para Prévisualizações do Microsoft Azure.

Durante a pré-visualização, servidores MCP alojados 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 iniciação rápida, cria um servidor alojado do Model Context Protocol (MCP) no Connector Namespace e liga-o a clientes MCP. Use o seletor de servidores no topo desta página para escolher o servidor que quer implementar.

Os servidores MCP são um recurso de primeira classe no Espaço de Nomes do Conector. O Espaço de nomes do Conector é um serviço totalmente gerido que aloja conectores, ligações, accionadores e servidores MCP.

Quando cria um servidor MCP hospedado num namespace, a plataforma executa uma imagem pré-criada do servidor em recursos de computação dedicados que a própria plataforma aprovisiona. Controlas a configuração do servidor, variáveis de ambiente e parâmetros. O namespace trata do alojamento, escalabilidade e gestão de credenciais. Agentes de IA como Copilot, agentes personalizados ou qualquer cliente consciente do MCP descobrem e chamam as ferramentas do servidor usando o modelo de ligação do namespace.

Os servidores MCP alojados diferem dos servidores MCP geridos, que são implementações geridas por plataforma construídas sobre conectores. O namespace gere definições de ferramentas e configuração para servidores geridos.

Implantar usando a CLI do Azure Developer

A forma mais fácil de implementar um servidor SQL MCP é ir ao exemplo azure-sql-mcp e seguir instruções README para implementar usando a CLI do Azure Developer ou azd. O exemplo contém ficheiros Bicep que lhe permitem aprovisionar um espaço de nomes do Connector, um servidor SQL MCP, uma base de dados SQL e outros recursos do Azure necessários com um único comando.

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

Pré-requisitos

Seed da base de dados SQL

  1. No portal do Azure, vai à tua base de dados SQL (não ao servidor).

  2. No menu esquerdo, selecione Editor de Consultas e inicie sessão como administrador da base de dados.

  3. Selecione Nova consulta e execute o seguinte comando para semear a base 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 ficheiro de configuração DAB

O servidor MCP alojado em SQL é construído sobre o Data API Builder (DAB), que fornece uma API de dados segura sobre a sua base de dados e expõe as suas entidades (tabelas) como ferramentas MCP. O servidor requer um ficheiro de configuração DAB que defina a ligação à base de dados e as entidades a expor.

  1. Gera um ficheiro de configuração DAB para a tua base de dados e ativa 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 acede à base de dados subjacente usando uma identidade gerida atribuída pelo sistema (SAMI), a cadeia de ligação deve assemelhar-se ao seguinte exemplo:

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

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

    Para detalhes sobre a configuração de entidades e permissões, consulte Autorização do construtor de APIs de dados.

    Aqui está 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 alojado

  1. Inicie sessão no portal Azure.

  2. Procure o seu recurso Connector Namespace.

  3. Selecione Ligar ao Namespace para abrir o portal do namespace num novo separador do navegador.

  4. Quando for redirecionado, inicie sessão usando a sua conta conta Microsoft associada ao namespace.

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

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

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

  3. Carrega o ficheiro de configuração DAB gerado anteriormente.

  4. Selecione Criar.

Espere que a ligação e o servidor necessários sejam provisionados e implementados. Não feche o diálogo Criar após a implementação. Vai configurar um recurso Application Insights para recolher telemetria do seu servidor.

Ativar a monitorização no servidor

  1. Abra outro separador para obter a cadeia de ligação do seu recurso do Application Insights no portal do Azure.

  2. Volte ao portal do namespace e selecione Ativar monitorização.

  3. Cole a cadeia de ligação na caixa e selecione Ativar.

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

És automaticamente direcionado para a página de Visão Geral do servidor implementado, onde podes encontrar o endpoint. Se não, selecione o separador MCP Connectors no menu esquerdo e encontre o servidor que implementou.

Conceda à identidade do namespace acesso à sua base de dados

O servidor SQL alojado usa o SAMI do namespace para aceder à sua base de dados. Podes ativar um SAMI durante a criação do namespace.

Se não ativaste um SAMI durante a criação, tens de o ativar indo à instância do teu namespace no portal web. No menu à esquerda, localize o separador Identidade. Mude o alternador Atribuído pelo sistema para Ativado e guarde as alterações.

Vá à sua base de dados SQL no portal Azure, abra o editor de consultas e execute o seguinte comando para conceder acesso à identidade gerida:

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 de namespace do conector.

Liga-te pelo GitHub Copilot no Visual Studio Code

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

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

    Substitua <your-mcp-endpoint-url> pelo URL do endpoint que copiou da página de Visão Geral do servidor.

  2. Selecione Iniciar acima do nome do servidor. Pedem-lhe para autenticar com a Microsoft. Inicie sessão com o endereço de email que usou para iniciar sessão no portal do Azure.

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

  1. Abre o modo agente do Copilot e pergunta "Qual é a pizzaria mais próxima do 11 Times Square?"
  1. Abre o modo agente do Copilot e pergunta "Que tabelas estão disponíveis?"

Liga-se com o MCP Inspector

  1. Do terminal, corre:

    az login
    
  2. Obtenha um token de acesso da sua az login sessão para se ligar 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 seguinte comando 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 seguinte comando chama a describe_entities ferramenta para listar as 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. Utilize a ferramenta read_records para recuperar registos 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

A passagem manual de tokens de acesso é adequada apenas para desenvolvimento e testes locais. Para cenários de produção, utilize identidades geridas ou fluxos OAuth para adquirir tokens automaticamente.

Ver os logs do servidor

  1. Vai ao portal do Azure e encontra o recurso Application Insights que configuraste com o servidor MCP.

  2. No menu da esquerda, encontre Investigar>Pesquisa.

  3. Defina o filtro de Hora Local no topo para os últimos 30 minutos. Veja os registos como vestígios ou itens individuais.

Resolver o problema do SQL Server

Se o seu servidor SQL MCP alojado não se ligar ou não devolver dados como esperado, verifique os seguintes itens:

  • ficheiro de configuração DAB. Confirme que o ficheiro de configuração DAB carregado é válido, usa a cadeia de ligação correta e define as entidades e permissões que espera expor.
  • Identidade gerida atribuída ao sistema. Certifique-se de que um SAMI está ativado no namespace. Aceda à sua instância de espaço de nomes no portal da Web, selecione o separador Identidade e confirme que Atribuído pelo sistema está definido como Ativado.
  • Acesso à base de dados. Certifique-se de que à identidade do namespace é concedido acesso à base de dados. Veja Conceder à identidade do namespace acesso à sua base de dados.