Indicaciones de confirmación de complementos de MCP y API para Microsoft 365 Copilot

Importante

Los complementos MCP y API se admiten como acciones dentro de los agentes declarativos. No están habilitadas como experiencias independientes en Microsoft 365 Copilot.

La primera vez que Microsoft 365 Copilot usa un protocolo de contexto de modelo (MCP) o un complemento de API, notifica al usuario y le pide que permita o cancele la operación. Si el usuario permite que Copilot se conecte al complemento, todas las operaciones futuras que recuperen datos (operaciones HTTP GET) no requerirán ninguna confirmación. Otras operaciones HTTP avisan al usuario, mostrando los datos que se van a enviar y dándole la opción de permitir o rechazar.

Cuadro de diálogo de confirmación de Copilot para conectarse a un complemento por primera vez

Los desarrolladores de complementos pueden cambiar este comportamiento para operaciones individuales en su servidor MCP o API. Los desarrolladores también pueden personalizar el texto que Copilot muestra al usuario como parte del mensaje de confirmación.

Reemplazar el comportamiento de las indicaciones

Los desarrolladores pueden controlar si Microsoft 365 Copilot pide al usuario confirmación (después de la solicitud inicial por primera vez) para una herramienta específica estableciendo la readOnlyHint propiedad en true para la herramienta en la respuesta del tools/list servidor MCP. Para obtener más información, consulte la referencia de esquema de MCP.

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "get_weather",
        "title": "Weather Information Provider",
        "description": "Get current weather information for a location",
        "annotations": {
          "readOnlyHint": true,
        },
        "inputSchema": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "City name or zip code"
            }
          },
          "required": ["location"]
        }
      }
    ]
  }
}

Personalizar el texto de confirmación

Los desarrolladores pueden especificar el texto de confirmación estableciendo la body propiedad en el objeto Confirmation en el objeto Functions capabilities de la función en el manifiesto del complemento. El valor de body debe ser indicativo de lo que hace la función. Si esta propiedad no está presente en el manifiesto, se usa en description su lugar la propiedad del objeto Function .

Nota:

La personalización del texto de confirmación solo se aplica a las herramientas que se declaran functions en la matriz del manifiesto del complemento (herramientas ancladas). Para los complementos de MCP que usan la detección dinámica de herramientas, las herramientas se resuelven desde el servidor de MCP en tiempo de ejecución y no se declaran en el manifiesto, por lo que no puede personalizar su texto de confirmación. En su lugar, description Copilot usa la herramienta de la respuesta del servidor tools/list MCP.

{
  "name": "GetBudgets",
  "description": "Returns details including name and available funds of budgets, optionally filtered by budget name",
  "capabilities": {
    "confirmation": {
      "type": "AdaptiveCard",
      "title": "Search budgets",
      "body": "Do you want to allow searching for budgets?"
    }
  }
}

Localizar el texto de confirmación

Puede configurar cadenas localizables para que se usen como avisos de confirmación. En los pasos siguientes se describe el proceso.

Paso 1: Usa las claves de localización en el manifiesto del plugin

En el manifiesto del complemento (por ejemplo, plugin.json), reemplaza las cadenas literales por claves de localización con el formato:

    {
      "schema_version": "v2.3",
      "name_for_human": "[[plugin_name]]",
      "description_for_human": "[[plugin_description]]"
    }

Estas claves (por ejemplo, plugin_name y plugin_description) deben coincidir con las entradas del archivo de localización y ajustarse a la expresión ^[a-zA-Z_][a-zA-Z0-9_]*regular.

Paso 2: Crear archivos de localización

Cree los archivos de localización en formato JSON e incluya una propiedad que asigne cada localizationKeys clave a su cadena traducida, como se muestra en el ejemplo siguiente.

    {
  "localizationKeys": {
    "plugin_name": "Weather Assistant",
    "plugin_description": "Provides weather updates and forecasts."
      }
    }

Puedes crear varios archivos de localización para diferentes idiomas (por ejemplo, en.json, fr.json, de.json) y hacer referencia a ellos en la configuración de tu plugin.

Paso 3: Agregar localizationInfo al manifiesto de la aplicación

Incluya una sección localizationInfo en el manifiesto de la aplicación que haga referencia a los archivos de localización. Por ejemplo,

    "localizationInfo": {
      "defaultLanguageTag": "en",
      "defaultLanguageFile": "en.json",
      "additionalLanguages": [
        {
          "languageTag": "fr",
          "file": "fr.json"
        }
      ]
    }

Complementos para Microsoft 365 Copilot