Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
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"
}
]
}