Inicio rápido: Crea un servidor MCP alojado en Connector Namespace (vista previa)

Importante

Esta característica de versión preliminar está sujeta a los Términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Durante la vista previa, los servidores MCP alojados están disponibles en las siguientes regiones: centro-oeste de EE. UU., Asia Oriental, EE. Norte y Europa del Norte.

En este inicio rápido, creas un servidor alojado de Model Context Protocol (MCP) en el Espacio de Nombres del Conector y lo conectas a los clientes MCP. Use el selector de servidores en la parte superior de esta página para elegir el servidor que desea implementar.

Los servidores MCP son un recurso de primera clase en el Espacio de Nombres de Conectores. Connector Namespace es un servicio totalmente gestionado que aloja conectores, conexiones, desencadenadores y servidores MCP.

Cuando creas un servidor MCP alojado en un espacio de nombres, la plataforma ejecuta una imagen precompilada del servidor en recursos de computación dedicados que ella misma aprovisiona. Puede controlar la configuración del servidor, las variables de entorno y los parámetros. El espacio de nombres controla el hospedaje, el escalado y la administración de credenciales. Agentes de inteligencia artificial como Copilot, agentes personalizados o cualquier cliente compatible con MCP detectan y llaman a las herramientas del servidor mediante el modelo de conexión del espacio de nombres.

Los servidores MCP hospedados difieren de los servidores MCP administrados, que son implementaciones administradas por la plataforma basadas en conectores. El espacio de nombres controla las definiciones de herramientas y la configuración de los servidores administrados.

Implementación mediante la CLI para desarrolladores de Azure

La forma más sencilla de desplegar un servidor SQL MCP es ir al ejemplo azure-sql-mcp y seguir las instrucciones README para desplegar usando la CLI de desarrollo de Azure o azd. La muestra contiene archivos de Bicep que le permiten aprovisionar un espacio de nombres de conector, un servidor SQL MCP, una base de datos SQL y otros recursos de Azure necesarios con un solo comando.

Si prefieres desplegar un servidor SQL MCP y los recursos necesarios de principio a fin, sigue las instrucciones a continuación.

Prerequisites

Inicialización de la base de datos SQL

  1. En el portal de Azure, vaya a la base de datos SQL (no al servidor).

  2. En el menú de la izquierda, seleccione Editor de consultas e inicie sesión como administrador de la base de datos.

  3. Seleccione Nueva consulta y ejecute el siguiente comando para inicializar la base de datos:

    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');
    

Generación del archivo de configuración DAB

El servidor MCP hospedado en SQL se basa en data API Builder (DAB), que proporciona una API de datos segura a través de la base de datos y expone sus entidades (tablas) como herramientas de MCP. El servidor requiere un archivo de configuración DAB que defina la conexión de base de datos y las entidades que se van a exponer.

  1. Genere un archivo de configuración DAB para la base de datos y habilite solo MCP:

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

    Como el servidor accede a la base de datos subyacente utilizando una identidad gestionada asignada por el sistema (SAMI), la cadena de conexión debería parecerse al siguiente ejemplo:

    Server=<your-sql-server>.database.windows.net;Database=<your-database>;Authentication=Active Directory Default;Encrypt=True;TrustServerCertificate=False;
    
  2. Agregue la entidad Books y el permiso relacionado:

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

    Para más información sobre cómo configurar entidades y permisos, consulte Autorización del generador de API de datos.

    Este es un archivo de configuración de ejemplo:

    {
       "$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": "*"
                      }
                   ]
                }
             ]
          }
       }
    }
    

Creación de un servidor MCP hospedado

  1. Inicie sesión en Azure Portal.

  2. Busque su recurso de Espacio de nombres del conector.

  3. Seleccione Conectar al espacio de nombres para abrir el portal del espacio de nombres en una nueva pestaña del navegador.

  4. Cuando se le redirija, inicie sesión con la cuenta de Microsoft que esté asociada al espacio de nombres.

  5. Dentro de la instancia del espacio de nombres, busque la sección Conector MCP y seleccione el botón + Crear .

  1. Busque Playwright y selecciónelo para crear el servidor.
  1. Busca SQL MCP Server y seleccionarlo para crear el servidor.

  2. En la ventana de creación, seleccione Administrar identidad para el método de autenticación saliente.

  3. Cargue el archivo de configuración DAB generado anteriormente.

  4. Selecciona Crear.

Espere a que se aprovisione e implemente la conexión y el servidor necesarios. No cierre el cuadro de diálogo Crear después de la implementación. Configurará un recurso de Application Insights para recopilar telemetría del servidor.

Habilitación de la supervisión en el servidor

  1. Abra otra pestaña para obtener la cadena de conexión de su recurso de Application Insights en el portal de Azure.

  2. Vuelva al portal del espacio de nombres y seleccione Habilitar supervisión.

  3. Pegue el cadena de conexión en el cuadro y seleccione Habilitar.

  4. Seleccione Listo cuando application Insights esté configurado.

Se te dirige automáticamente a la página de Resumen del servidor desplegado, donde puedes encontrar el punto final. Si no es así, seleccione la pestaña Conectores de MCP en el menú izquierdo y busque el servidor que implementó.

Conceda a la identidad del espacio de nombres acceso a su base de datos

El servidor SQL hospedado usa el SAMI del espacio de nombres para acceder a la base de datos. Puede habilitar un SAMI durante la creación del espacio de nombres.

Si no habilitó un SAMI durante la creación, debe habilitarlo accediendo a la instancia de su espacio de nombres en el portal web. En el menú de la izquierda, busque la pestaña Identidad. Active la opción Asignado por el sistema en Activado y guarde los cambios.

Vaya a la base de datos SQL en el portal de Azure, abra el Editor de consultas y ejecute el siguiente comando para conceder acceso a la identidad administrada:

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>];

Sustituya <your-connector-namespace-name> por el nombre de su recurso Connector Namespace.

Conectar desde GitHub Copilot en Visual Studio Code

  1. Para conectar el servidor MCP hospedado a GitHub Copilot en Visual Studio Code, agregue la configuración del servidor a la configuración de MCP:

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

    Reemplace por <your-mcp-endpoint-url> la dirección URL del punto de conexión que copió de la página Información general del servidor.

  2. Seleccione Iniciar encima del nombre del servidor. Se le pide que se autentique con Microsoft. Inicie sesión con la dirección de correo electrónico que usó para iniciar sesión en el portal de Azure.

  3. Confirme que el número de herramientas disponibles aparece encima del nombre del servidor.

  1. Abra el modo de agente de Copilot y pregunte: "¿Cuál es la pizzería más cercana a 11 Times Square?"
  1. Abra el modo agente de Copilot y pregunte "¿Qué tablas están disponibles?"

Conectar desde MCP Inspector

  1. Desde el terminal, ejecute:

    az login
    
  2. Obtenga un token de acceso de la az login sesión para conectarse al servidor:

    MCP_TOKEN=$(az account get-access-token --resource https://apihub.azure.com --query accessToken -o tsv)
    
  3. Realice una llamada al servidor para obtener una lista de herramientas:

    npx @modelcontextprotocol/inspector --cli \
    "<your-mcp-endpoint-url>" \
    --transport http \
    --method tools/list \
    --header "Authorization: Bearer $MCP_TOKEN"
    
  1. Llame a una herramienta específica. Por ejemplo, el siguiente comando llama a la browser_navigate herramienta:

    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. Llame a una herramienta específica. Por ejemplo, el siguiente comando llama a la describe_entities herramienta para enumerar las entidades disponibles:

    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. Llame a la read_records herramienta para recuperar registros de una entidad (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

Proporcionar manualmente los tokens de acceso solo resulta adecuado para el desarrollo y las pruebas locales. En escenarios de producción, use identidades administradas o flujos de OAuth para adquirir tokens automáticamente.

Visualización de registros de servidor

  1. Vaya al portal de Azure y busque el recurso de Application Insights que configuró con el servidor MCP.

  2. En el menú de la izquierda, busque Investigar>búsqueda.

  3. Establezca el filtro Hora local en la parte superior en los últimos 30 minutos. Vea los registros como trazas o elementos individuales.

Solución de problemas del servidor SQL Server

Si el servidor de SQL MCP hospedado no se conecta ni devuelve datos según lo previsto, compruebe los siguientes elementos:

  • Archivo de configuración DAB. Confirme que el archivo de configuración DAB cargado es válido, usa el cadena de conexión correcto y define las entidades y permisos que espera exponer.
  • Identidad administrada asignada por el sistema. Asegúrese de que un SAMI esté habilitado en el espacio de nombres. Accede a la instancia de tu espacio de nombres en el portal web, selecciona la pestaña Identidad y confirma que Asignada por el sistema está configurada en Activada.
  • Acceso a la base de datos. Asegúrate de que la identidad del espacio de nombres tiene acceso a la base de datos. Consulte Conceder acceso a la identidad del espacio de nombres a su base de datos.