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

Importante

Los complementos solo se admiten como acciones dentro de los agentes declarativos. No se habilitan en Microsoft 365 Copilot.

La primera vez que Microsoft 365 Copilot usa un complemento de API o protocolo de contexto de modelo (MCP), 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 recuperan datos (operaciones HTTP GET) no requieren confirmación alguna. Otras operaciones HTTP solicitan al usuario que muestre los datos que se van a enviar y que le dé 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 las operaciones individuales en su servidor o API mcp. Los desarrolladores también pueden personalizar el texto que Copilot muestra al usuario como parte de la solicitud de confirmación.

Invalidar el comportamiento de la solicitud

Los desarrolladores pueden controlar si Microsoft 365 Copilot solicita al usuario confirmación (después del aviso inicial por primera vez) para una herramienta específica estableciendo la readOnlyHint propiedad true en para la herramienta en la respuesta del tools/list servidor MCP. Para obtener más información, consulte la referencia del esquema 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"]
        }
      }
    ]
  }
}

Personalización del texto de confirmación

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

{
  "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?"
    }
  }
}

Localización del texto de confirmación

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

Paso 1: Usar claves de localización en el manifiesto del complemento

En el manifiesto del complemento (por ejemplo, plugin.json), reemplace las cadenas literales por las 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 cumplir con la expresión regular ^[a-zA-Z_][a-zA-Z0-9_]*.

Paso 2: Crear archivos de localización

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

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

Puede 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 del complemento.

Paso 3: Agregar localizationInfo al manifiesto de 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