Agregar servidores MCP administrados basados en espacios de nombres de conectores (versión preliminar)

Importante

Los elementos marcados (versión preliminar) de este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas. Para más información, consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Note

Para obtener información sobre cómo optimizar el uso de herramientas, consulte procedimientos recomendados.

El catálogo de herramientas Foundry proporciona más de 1.000 conectores: integraciones predefinidas con sistemas SaaS, de datos y de línea de negocio. Al agregar un conector al agente, Foundry crea un servidor MCP administrado: un servidor MCP que Foundry aprovisiona y administra en el espacio de nombres del conector de la cuenta de Foundry. El agente llama a las herramientas del servidor MCP administrado para realizar acciones durante una conversación, por ejemplo, crear un problema de GitHub, consultar una base de datos o enviar un mensaje.

Note

Solo los conectores validados muestran la nueva experiencia de servidor MCP administrado en el catálogo Agregar herramienta del portal de Foundry. Los conectores no validados siguen estando disponibles a través de la experiencia anterior del conector. Si configura los conectores mediante el enfoque de código primero (API REST, SDK o azd), no hay restricciones: puede usar cualquier conector del catálogo. Póngase en contacto con el equipo de Foundry si tiene problemas con un conector específico.

Importante

Las herramientas que no son de Microsoft, incluidos los servidores MCP de terceros disponibles en el Catálogo de herramientas de Foundry ("Herramientas de terceros") no son productos Microsoft bajo su acuerdo que rige el uso de Azure. Al conectarse a una herramienta de terceros, lo hace en su propio riesgo. Usted es responsable de las condiciones y los costes de las herramientas de terceros. Microsoft no tiene responsabilidad alguna con respecto a su uso de herramientas de terceros. Revise detenidamente y realice un seguimiento de las herramientas de terceros que agregue al cliente MCP.

Parte de la información y los datos (como las claves de autenticación y el contenido del aviso) pueden pasarse a la herramienta de terceros, o el cliente MCP podría recibir datos de la herramienta de terceros. Revise todos los datos compartidos con herramientas de terceros y manténgase al tanto de las prácticas de terceros para la retención y la ubicación de los datos. Usted es responsable de gestionar si sus datos salen de los límites geográficos y de cumplimiento normativo de Azure de su organización.

Las implementaciones de MCP son vulnerables a ataques, errores en cascada y pérdida de supervisión humana. Para mitigar estos riesgos, examine los servidores MCP para la seguridad y la confiabilidad, siga las recomendaciones de Microsoft y los procedimientos recomendados del sector, e implemente mecanismos de aprobación para supervisar los comportamientos en cascada.

Cómo funciona

Cada cuenta de Foundry tiene un Espacio de nombres del conector, un servicio totalmente administrado que hospeda los entornos de ejecución de conectores y los servidores MCP. Cada proyecto se corresponde con un entorno en ese espacio de nombres. Al configurar un conector, Foundry lo publica como un servidor MCP administrado en el entorno del proyecto. El espacio de nombres controla el hospedaje del servidor, las definiciones de herramientas, la autenticación, la administración de credenciales y el ciclo de vida. Tu agente invoca las herramientas del servidor MCP gestionado sin que tengas que escribir código personalizado del servidor ni administrar la infraestructura.

El flujo de configuración tiene cuatro pasos:

  1. Explorar — busque el conector en el catálogo de herramientas.
  2. Conexión : autentíquese en el servicio del conector.
  3. Seleccionar acciones : elija las acciones del conector que se van a exponer como herramientas de MCP.
  4. Agregar herramienta : Foundry crea el servidor MCP administrado y lo agrega al agente.

Niveles de editor y gestión de datos

El catálogo incluye conectores publicados por Microsoft, publicadores de terceros comprobados y publicadores independientes. Compruebe el campo By: en la página de detalles del conector antes de conectarse, o revise la lista completa en Lista de todos los servidores MCP.

Nivel de publicador Ejemplos Responsabilidad de los datos
Microsoft (servicios internos) SharePoint, Teams, Dynamics 365 Los datos permanecen en la infraestructura de Microsoft; las políticas de privacidad de Microsoft se aplican de extremo a extremo
Microsoft (servicios externos) GitHub (en inglés) Los datos transitan por la infraestructura de Microsoft hasta el servicio externo; las políticas de Microsoft se aplican durante el tránsito y las políticas de la empresa externa se aplican en el servicio de destino.
Terceros comprobados Docusign, Databricks, Box Igual que con Microsoft externo; revise la política de privacidad del editor y los términos sobre protección de datos antes de conectarse.
Publicador independiente Conectores aportados por la comunidad Umbral de certificación más bajo que el de los conectores nativos; revise detenidamente los términos y las prácticas de tratamiento de datos del proveedor.

El espacio de nombres del conector actúa como proxy para servicios externos. Mientras los datos están en tránsito por el espacio de nombres (infraestructura de Microsoft), se aplican las directivas de privacidad de Microsoft. Una vez que el espacio de nombres envía la solicitud al servicio externo, las directivas de esa empresa rigen el almacenamiento de datos, la retención y la geografía.

Para más información sobre la validación de los conectores y la protección de datos, consulte Validación con protección de datos en los conectores.

Note

Los servidores MCP administrados se limitan al proyecto Foundry donde se crean. No se admiten desencadenadores del conector; solo están disponibles las acciones que el agente puede invocar.

Regiones soportadas

Los servidores MCP administrados basados en espacios de nombres de conector están disponibles en las siguientes regiones del proyecto Foundry:

  • región este de Australia
  • brazilsouth
  • canadacentral
  • eastus2
  • francecentral
  • germanywestcentral
  • japaneast
  • norwayeast
  • southafricanorth
  • southcentralus
  • spaincentral
  • swedencentral
  • switzerlandnorth
  • westus3

Prerrequisitos

  • Un proyecto activo de Microsoft Foundry.
  • Administrador de proyectos de Foundry en el proyecto Foundry.
  • Credenciales del servicio al que desea conectarse (por ejemplo, una clave de API, una cuenta de OAuth o un token de acceso personal).

Tipos de autenticación

Tipo de autenticación Cuándo se deben usar Señal de catalogación
OAuth2 El conector usa el flujo de código de autorización de OAuth2. Foundry gestiona el intercambio de tokens; usted completa un proceso de consentimiento que se realiza una sola vez. x-ms-connection-parameters contiene un campo con "type": "oauthSetting"

Adición de un servidor MCP administrado

Note

La experiencia de configuración de este artículo se aplica a los servidores MCP administrados que admiten la autenticación de OAuth2 . Para los servidores MCP administrados con otros tipos de autenticación, consulte Agregar acciones del conector como herramientas de agente en Azure Logic Apps.

Paso 1: Explorar conectores

  1. En Microsoft Foundry, abra el proyecto y seleccione Tools en el panel de navegación izquierdo.
  2. Seleccione + Agregar herramienta para abrir el catálogo de herramientas.
  3. Navegue o busque el conector que desea usar. El catálogo enumera todos los conectores admitidos con detalles como el publicador, los tipos de autenticación admitidos y las acciones disponibles.
  4. Seleccione el conector para abrir su página de detalles.

Paso 2: Configurar la conexión

  1. En la página de detalles del conector, seleccione Configurar.
  2. Rellene las credenciales que requiere el conector. Foundry genera el formulario a partir de la definición del conector. En el caso de los conectores de OAuth2 , Foundry muestra un vínculo de autorización: inicia sesión con la cuenta que quieres usar y, a continuación, autoriza la conexión.
  3. Seleccione Conectar para guardar las credenciales y establecer la conexión.

Paso 3: Selección de acciones del conector

  1. Una vez establecida la conexión, revise la lista de acciones disponibles (por ejemplo, Create issue for GitHub o Send message for Slack).
  2. Seleccione las acciones que quiere que su agente pueda ejecutar.
  3. Puede cambiar la selección de acción más adelante editando el servidor MCP en la vista Herramientas .

Tip

Seleccione solo las acciones que realmente necesita el agente. Limitar el conjunto de acciones reduce el riesgo de operaciones no deseadas y ayuda al modelo a razonar de forma más eficaz sobre las herramientas disponibles.

Paso 4: Agregar la herramienta

  1. Revise la configuración: el nombre del conector, la conexión y las acciones seleccionadas.
  2. Seleccione Agregar herramienta.

Foundry crea un servidor MCP administrado y lo agrega al agente. Puede verlo y editarlo en cualquier momento desde Herramientas del proyecto.

Tip

Si usa GitHub Copilot para Azure u otro agente de codificación que admita capacidades, apunte a la capacidad de catálogo de herramientas Foundry. La capacidad empaqueta los mismos flujos REST que se muestran a continuación para que el agente pueda generar por usted código de conexión para el conector.

Paso 1: Adquisición de tokens

Necesita dos tokens independientes: uno para el Catálogo de herramientas de Foundry (un punto de conexión de Azure Machine Learning) y otro para la API de Azure Resource Manager que administra las conexiones del proyecto.

# Token for the Foundry Tools Catalog (AzureML endpoint)
CATALOG_TOKEN=$(az account get-access-token \
  --resource https://ai.azure.com \
  --query accessToken -o tsv)

# Token for Azure Resource Manager (connection and agent management)
ARM_TOKEN=$(az account get-access-token \
  --resource https://management.azure.com \
  --query accessToken -o tsv)

Paso 2: Detección del conector

El catálogo siempre se sirve desde la eastus región, independientemente de la región del proyecto. Elija uno de los escenarios siguientes.

Escenario 1: Enumeración de todos los conectores admitidos

Úselo para examinar el catálogo completo. El catálogo tiene más de 1000 conectores; use skip para paginar. La respuesta incluye totalCount para que pueda determinar cuántas páginas se van a capturar.

RESPONSE=$(curl -sS -X POST \
  "https://eastus.api.azureml.ms/asset-gallery/v1.0/tools" \
  -H "Authorization: Bearer $CATALOG_TOKEN" \
  -H "Content-Type: application/json" \
  -H "x-ms-user-agent: AzureMachineLearningWorkspacePortal/12.0" \
  -d '{
    "freeTextSearch": "*",
    "filters": [
      { "field": "entityContainerId", "operator": "eq", "values": ["connectors-registry-prod-bl"] },
      { "field": "type",              "operator": "eq", "values": ["tools"] },
      { "field": "kind",              "operator": "eq", "values": ["Versioned"] },
      { "field": "labels",            "operator": "eq", "values": ["latest"] }
    ],
    "includeTotalResultCount": true,
    "pageSize": 100,
    "skip": 0
  }')

# Print name, title, and detected auth type for each connector
echo "$RESPONSE" | jq -r '
  .totalCount as $total |
  "Total connectors: \($total)",
  (.value[] | "\(.annotations.name)\t\(.properties.title)\t\(
    .properties["x-ms-connection-parameters"] |
    if . == null then "None"
    elif ([.[].type] | any(. == "oauthSetting")) then "OAuth2"
    elif ([.[].type] | any(. == "securestring")) then "CustomKeys"
    else "None" end
  )")
'

Escenario 2: Recuperación de detalles de un conector específico

Use un filtro exacto eq en annotations/name para capturar un único conector y sus metadatos completos, incluido x-ms-connection-parameters.

CONNECTOR_NAME="github"   # replace with the connector's annotations.name value

RESPONSE=$(curl -sS -X POST \
  "https://eastus.api.azureml.ms/asset-gallery/v1.0/tools" \
  -H "Authorization: Bearer $CATALOG_TOKEN" \
  -H "Content-Type: application/json" \
  -H "x-ms-user-agent: AzureMachineLearningWorkspacePortal/12.0" \
  -d "{
    \"freeTextSearch\": \"*\",
    \"filters\": [
      { \"field\": \"entityContainerId\", \"operator\": \"eq\",  \"values\": [\"connectors-registry-prod-bl\"] },
      { \"field\": \"type\",              \"operator\": \"eq\",  \"values\": [\"tools\"] },
      { \"field\": \"kind\",              \"operator\": \"eq\",  \"values\": [\"Versioned\"] },
      { \"field\": \"labels\",            \"operator\": \"eq\",  \"values\": [\"latest\"] },
      { \"field\": \"annotations/name\",  \"operator\": \"eq\",  \"values\": [\"$CONNECTOR_NAME\"] }
    ],
    \"includeTotalResultCount\": true,
    \"pageSize\": 1
  }")

Después de ejecutar cualquiera de los escenarios, extraiga las variables que necesita para los pasos siguientes:

# Replace .value[0] with the correct index if the search returns multiple results
ENTITY_ID=$(echo "$RESPONSE" | jq -r '.value[0].entityId')
CONNECTOR_NAME=$(echo "$RESPONSE" | jq -r '.value[0].annotations.name')

echo "entityId:       $ENTITY_ID"
echo "connectorName:  $CONNECTOR_NAME"

Note

Foundry admite actualmente conectores OAuth2 para el flujo de servidor MCP gestionado. Inspeccione properties["x-ms-connection-parameters"] en la fila del catálogo para confirmar: el conjunto de parámetros contiene un campo con "type": "oauthSetting" para un conector de OAuth2.

Paso 3: Crear la conexión del proyecto

Establezca las variables restantes (ENTITY_ID y CONNECTOR_NAME se establecieron en el paso 2):

SUBSCRIPTION_ID=<your-subscription-id>
RESOURCE_GROUP=<your-resource-group>
ACCOUNT_NAME=<your-foundry-account-name>
PROJECT_NAME=<your-project-name>
CONNECTION_NAME=<name-for-this-connection>

CONNECTION_URL="https://management.azure.com/subscriptions/$SUBSCRIPTION_ID\
/resourceGroups/$RESOURCE_GROUP\
/providers/Microsoft.CognitiveServices/accounts/$ACCOUNT_NAME\
/projects/$PROJECT_NAME\
/connections/$CONNECTION_NAME?api-version=2025-04-01-preview"

Realice la solicitud PUT de creación. Los campos obligatorios son connectorName, el toolEntityId del paso 2 y metadata.connectionproperties con el nombre del conector como un objeto JSON serializado en una cadena.

Importante

Establezca target en la cadena "https://placeholder" literal de este PUT. La plataforma lo vuelve a escribir en la dirección URL real del servidor MCP administrado al registrar acciones en el paso 6. No intente calcular ni adivinar una dirección URL de destino aquí.

curl -sS -X PUT "$CONNECTION_URL" \
  -H "Authorization: Bearer $ARM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "properties": {
      "authType": "OAuth2",
      "category": "RemoteTool",
      "connectorName": "'"$CONNECTOR_NAME"'",
      "target": "https://placeholder",
      "credentials": {},
      "peRequirement": "NotRequired",
      "metadata": {
        "type": "gateway_connector",
        "toolEntityId": "'"$ENTITY_ID"'",
        "connectionproperties": "{\"connectorName\":\"'"$CONNECTOR_NAME"'\"}"
      }
    }
  }'

Una respuesta correcta devuelve HTTP 200 con overallStatus: "Unauthenticated". El estado permanece Unauthenticated hasta que se completen tanto el paso 4 (consentimiento de OAuth) como el paso 6 (registrar acciones).

Cada usuario final que llama al agente debe completar un consentimiento de OAuth único. Llame a listConsentLinks para generar una URL de autorización por usuario.

CALLER_OID=$(az ad signed-in-user show --query id -o tsv)
CALLER_TID=$(az account show --query tenantId -o tsv)

CONSENT_RESPONSE=$(curl -sS -X POST \
  "$CONNECTION_URL&action=listConsentLinks" \
  -H "Authorization: Bearer $ARM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": [{
      "objectId":      "'"$CALLER_OID"'",
      "parameterName": "token",
      "redirectUrl":   "https://ai.azure.com/nextgen/authConsentPopup",
      "tenantId":      "'"$CALLER_TID"'"
    }]
  }')

CONSENT_URL=$(echo "$CONSENT_RESPONSE" | jq -r '.value[0].link')
echo "Open this URL in a browser to authorize the connector:"
echo "$CONSENT_URL"

Abra la dirección URL en un explorador, inicie sesión en el servicio del conector y apruebe el mensaje de consentimiento. El navegador redirige a una página en blanco de Foundry cuando el consentimiento se completa correctamente; la pasarela ha almacenado el token.

Note

El vínculo de consentimiento es de corta duración (aproximadamente una hora). Si un clic devuelve un error 500, vuelva a ejecutar listConsentLinks para generar un enlace nuevo. Para quienes llaman con una entidad de servicio, proporcione el objectId del principal y el tenantId de origen en lugar de los del usuario que ha iniciado sesión.

Paso 5: Enumerar las operaciones disponibles

Obtenga el catálogo de operaciones para el conector desde Logic Apps. La región eastus se comparte con la galería de recursos.

OPERATIONS_URL="https://management.azure.com/subscriptions/$SUBSCRIPTION_ID\
/providers/Microsoft.Web/locations/eastus/managedApis/$CONNECTOR_NAME\
/apiOperations?api-version=2016-06-01"

curl -sS "$OPERATIONS_URL" -H "Authorization: Bearer $ARM_TOKEN" \
  | jq -r '.value[] | select(.properties.isWebhook != true and .properties.isNotification != true)
                    | "\(.name)\t\(.properties.summary)"'

Cada fila muestra un nombre de operación (el valor que se pasa a mcpserverConfigProperties.operations[].name en el siguiente paso) y su descripción legible. Omitir las operaciones de webhook y notificación: son desencadenadores, no acciones invocables por agente.

Para inspeccionar el esquema de entrada de una operación específica, expanda inputsDefinition:

OPERATION_NAME=<operation-name>   # for example, GetFileMetadata

curl -sS "https://management.azure.com/subscriptions/$SUBSCRIPTION_ID\
/providers/Microsoft.Web/locations/eastus/managedApis/$CONNECTOR_NAME\
/apiOperations/$OPERATION_NAME?api-version=2016-06-01&\$expand=properties/inputsDefinition" \
  -H "Authorization: Bearer $ARM_TOKEN" \
  | jq '.properties.inputsDefinition'

Utiliza properties y required de inputsDefinition para crear el agentParameters[].schema de cada operación en el siguiente paso. ¿Asignar inputsDefinition.properties[name].title ? x-ms-summary, y copie type y description tal cual.

Paso 6: Registrar las acciones del conector

Emita un segundo PUT con el mismo nombre de conexión. El cuerpo es idéntico al paso 3 más un campo adicional metadata.mcpserverConfigProperties : un objeto JSON con cadena que enumera las operaciones que el agente puede invocar y el esquema de parámetros de cada operación.

Tip

Registre solo las operaciones que realmente necesita el agente. Limitar el conjunto de acciones reduce el riesgo de operaciones no deseadas y ayuda al modelo a razonar de forma más eficaz sobre las herramientas disponibles.

# Build mcpserverConfigProperties as a JSON string.
# Replace the operations[] array with the ops you chose in Step 5.
MCP_CONFIG=$(jq -c -n \
  --arg conn "$CONNECTION_NAME" \
  --arg name "$CONNECTOR_NAME" '
  {
    description: "",
    state:       "Enabled",
    connectors: [{
      name:           $name,
      connectionName: $conn,
      displayName:    $name,
      description:    "",
      operations: [
        {
          name:        "GetFileMetadata",
          displayName: "Get file metadata using id",
          description: "",
          userParameters:  [],
          agentParameters: [{
            name: "id",
            schema: {
              type:           "string",
              description:    "The unique identifier of the file.",
              "x-ms-summary": "File Id"
            }
          }]
        }
      ]
    }]
  }')

curl -sS -X PUT "$CONNECTION_URL" \
  -H "Authorization: Bearer $ARM_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "properties": {
      "authType": "OAuth2",
      "category": "RemoteTool",
      "connectorName": "'"$CONNECTOR_NAME"'",
      "target": "https://placeholder",
      "credentials": {},
      "peRequirement": "NotRequired",
      "metadata": {
        "type": "gateway_connector",
        "toolEntityId": "'"$ENTITY_ID"'",
        "connectionproperties": "{\"connectorName\":\"'"$CONNECTOR_NAME"'\"}",
        "mcpserverConfigProperties": '"$(jq -Rs . <<< "$MCP_CONFIG")"'
      }
    }
  }'

La respuesta reescribe target como la URL real del servidor MCP gestionado; por ejemplo, https://app-XX.<region>.logic.azure.com/api/connectorGateways/<envId>/mcpServerConfigs/<connectionName>/mcp. Una vez que se hayan completado tanto este PUT como el consentimiento del paso 4, overallStatus cambia a Connected.

Note

El portal reemplaza mcpserverConfigProperties al por mayor cuando el usuario vuelve a editar la lista de acciones. Para cambiar las operaciones más adelante, vuelva a ejecutar este PUT con la nueva matriz de operaciones completa, no una diferencia parcial.

Paso 7: Usa la conexión de tu agente

Obtenga la dirección URL del servidor MCP gestionado desde la conexión. Después del paso 6, target es la URL real de la puerta de enlace (ya no https://placeholder).

SERVER_URL=$(curl -sS "$CONNECTION_URL" \
  -H "Authorization: Bearer $ARM_TOKEN" | jq -r '.properties.target')

echo "serverURL: $SERVER_URL"

agente Prompt (SDK de Python):

from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import MCPTool
from azure.identity import DefaultAzureCredential

PROJECT_ENDPOINT = "https://<account>.services.ai.azure.com/api/projects/<project>"

client = AIProjectClient(
    endpoint=PROJECT_ENDPOINT,
    credential=DefaultAzureCredential()
)

agent = client.agents.create_agent(
    model="gpt-4o",
    name="my-connector-agent",
    instructions="You are a helpful assistant.",
    tools=MCPTool(
        server_label=CONNECTION_NAME,
        server_url=SERVER_URL,
        project_connection_id=CONNECTION_NAME
    ).definitions
)
print(f"Created agent: {agent.id}")

Para ver otros lenguajes y opciones en tiempo de ejecución, consulte Conexión de agentes a servidores MCP.

Toolbox (SDK de Python):

toolbox_version = client.beta.toolboxes.create_toolbox_version(
    toolbox_name="my-toolbox",
    description="Toolbox with connector MCP server",
    tools=[
        MCPTool(
            server_label=CONNECTION_NAME,
            server_url=SERVER_URL,
            project_connection_id=CONNECTION_NAME,
            require_approval="never",
        )
    ],
)
print(f"Created toolbox: {toolbox_version.name}, version: {toolbox_version.version}")

Para obtener la configuración y la implementación completas del cuadro de herramientas, consulte Creación y uso de un cuadro de herramientas de Foundry.

La CLI para desarrolladores de Azure (azd) proporciona comandos para crear y administrar conexiones de conector a través de la extensión microsoft.foundry. La azd ruta de acceso admite conectores de OAuth2 , que son los conectores admitidos en Foundry en la actualidad.

Tip

Si usa GitHub Copilot para Azure u otro agente de codificación que admita capacidades, apunte a la capacidad de catálogo de herramientas Foundry. La capacidad empaqueta los mismos flujos azd que se muestran a continuación para que el agente pueda generar por usted comandos de conexión para el conector.

Paso 1: Instalación de requisitos previos

azd auth login

# Install the Foundry extensions for azd
azd extension install microsoft.foundry

azd ai project set "https://<account>.services.ai.azure.com/api/projects/<project>"

Note

La microsoft.foundry extensión está en versión preliminar. Agrupa la experiencia de nivel superior azd ai en agent, connection, inspector, project, routine, skill y toolbox. Use azd la versión 1.25.2 o posterior.

Paso 2: Creación de la conexión de OAuth2

azd ai connection create registra el conector como una conexión de proyecto con authType=OAuth2 y los metadatos de puerta de enlace necesarios. Pase el nombre del catálogo del conector con --connector-name (por ejemplo, box, linkedinv2, outlook, github).

El nombre del conector es el valor annotations.name que devuelve la API de Foundry Tools Catalog. Cambie al pivote de la API REST y siga paso 2: Detectar el conector para enumerar cada conector o buscar uno específico.

azd ai connection create <connection-name> `
  --connector-name <connector-name>

Por ejemplo, para crear una conexión con el conector Box:

azd ai connection create my-box-conn `
  --connector-name box

La conexión se crea en estado Unauthenticated, y la URL de consentimiento se proporciona en los detalles de la conexión en el momento de su creación. Inspeccione la conexión para recuperarla:

azd ai connection show my-box-conn

Abra la dirección URL de consentimiento devuelta en un explorador e inicie sesión una vez. Después de registrar el consentimiento, las llamadas MCP posteriores se realizan correctamente y overallStatus se realiza la transición a Connected.

Paso 4: Registrar las acciones del conector

Utiliza --metadata mcpserverConfigProperties=<json> para declarar qué operaciones del conector puede invocar el agente y qué parámetros controla el modelo.

Los valores de connectorName, operationNamey los nombres de parámetro de cada operación proceden de foundry Tools Catalog API. Cambie al pivote de la API REST y use el paso 2: Detección del conector para recuperar los metadatos completos de un conector: las operaciones se enumeran en properties.actions[]y los parámetros de cada operación se enumeran en parameters[].

En el ejemplo siguiente se registra una sola operación de GetEmailsV2 en una conexión de Outlook:

$mcp = @{
  connectors = @(@{
    connectorName = "outlook"
    operations = @(@{
      operationName = "GetEmailsV2"
      agentParameters = @(
        @{ name = "folderPath";      required = $true  },
        @{ name = "top";             required = $false },
        @{ name = "fetchOnlyUnread"; required = $false }
      )
    })
  })
} | ConvertTo-Json -Depth 10 -Compress

azd ai connection update my-outlook-conn `
  --metadata "mcpserverConfigProperties=$mcp"

Tip

Registre solo las operaciones que realmente necesita el agente. Limitar el conjunto de acciones reduce el riesgo de operaciones no deseadas y ayuda al modelo a razonar de forma más eficaz sobre las herramientas disponibles.

Paso 5: Utilice la conexión desde un agente

Una vez creada la conexión y registrado el consentimiento, haga referencia a ella desde el agente de la misma manera que cualquier otro servidor MCP administrado. La forma más sencilla es añadir la conexión a una Foundry Toolbox y vincular la toolbox a tu agente:

# my-toolbox.yaml
description: Toolbox with connector MCP servers
connections:
  - name: my-box-conn
  - name: my-outlook-conn
azd ai toolbox create my-toolbox `
  --from-file .\my-toolbox.yaml

Para la estructura y el despliegue de agentes de extremo a extremo con azd, consulte Crear y usar una caja de herramientas de Foundry.

Administración de la conexión

# List connections in the project
azd ai connection list

# Show details for one connection
azd ai connection show <connection-name>

# Delete a connection
azd ai connection delete <connection-name> --force