Outils de site
Les outils de site sont l’implémentation par ChatGPT du projet de standard WebMCP. Avec WebMCP, un site web peut proposer des actions utiles directement à un agent d’IA, en complément de l’interface déjà utilisée par les internautes. Vous et l’agent pouvez interagir avec la même page active et la même session connectée.
Dans le navigateur intégré de l’application de bureau ChatGPT, ChatGPT Work et Codex peuvent détecter et utiliser ces outils lorsqu’ils sont disponibles.
WebMCP et MCP
Le Model Context Protocol (MCP) connecte une application d’IA à un serveur local ou distant. Ses outils peuvent fonctionner indépendamment d’une page web ouverte, par exemple pour effectuer des recherches dans un service ou gérer des enregistrements par l’intermédiaire d’une API.
WebMCP permet à un site web de mettre ses fonctionnalités à la disposition d’un agent sous la forme d’un ensemble d’outils prédéfinis. L’agent peut les détecter lorsqu’il consulte le site : il n’est donc pas nécessaire d’installer un serveur MCP distinct ni de configurer une autre connexion pour utiliser ces fonctionnalités.
Cette approche est utile lorsque vous et l’agent devez voir la même chose, par exemple lors de la modification d’un canevas ou de l’exploration d’un tableau de bord. Un plugin doté d’un serveur MCP peut fournir une intégration qui fonctionne indépendamment d’une page ouverte. Un site web peut prendre en charge les deux.
Fonctionnement dans le navigateur
Ouvrez un site web dans le navigateur intégré et demandez à ChatGPT Work ou à Codex de vous aider à accomplir une tâche. Si la page propose des outils de site, l’agent peut détecter et utiliser les actions pertinentes du site web que vous consultez. Par exemple, un éditeur de documents pourrait permettre à l’agent de rechercher une section ou de laisser un commentaire à votre attention.
Sélectionnez Outils de site dans la barre d’adresse du navigateur pour afficher ce que le site web propose. Choisissez Outils de site disponibles pour examiner les différents outils. Le navigateur vérifie chaque requête avant que le site web ne l’exécute, et l’agent peut inspecter la page pour voir ce qui a changé. Lorsqu’une activité récente est disponible, choisissez Utilisés récemment pour ouvrir Sources et examiner ces appels.
Dans cet exemple, développez Outils de site disponibles pour examiner les outils fournis par Margin.
Les outils appartiennent à la page qui les fournit. Fermer une page ou en quitter une peut rendre ses outils indisponibles. Si aucun outil adapté n’est disponible, l’agent peut néanmoins utiliser ses fonctionnalités habituelles de navigation.
Exemple : explorer la documentation OpenAI
ChatGPT Learn et OpenAI Developers proposent des outils de site pour rechercher et lire la documentation. Sélectionnez Ouvrir dans ChatGPT dans la zone de rédaction pour ouvrir Learn dans le navigateur de l’application de bureau, à côté d’une nouvelle conversation où cette invite sera prête à être envoyée.
Prompt :
Find the documentation for building reusable skills, open the relevant page, and explain when I should turn a skill into a plugin.L’agent peut utiliser ces outils pour rechercher, lire et ouvrir la page pertinente :
| Outil | Fonction |
|---|---|
search_openai_docs |
Recherche dans la documentation OpenAI. |
lookup_page |
Lit une page de documentation à partir de son chemin ou de son URL. |
lookup_context |
Lit la route actuelle de la documentation et le texte sélectionné. |
navigate_to_page |
Ouvre une page correspondante sur le site de documentation actuel. |
generate_custom_guide |
Lance la création d’un guide personnalisé de développement ou d’apprentissage et renvoie son état et son lien. |
Docs Agent génère un guide personnalisé de façon asynchrone. La réception de son lien ne signifie pas que la génération est terminée.
Sécurité et contrôles utilisateur
Les définitions et résultats des outils fournis par les sites web constituent du contenu non fiable. Le nom d’un outil ou l’affirmation selon laquelle il se contente de lire des données ne prouve pas son fonctionnement réel. Les instructions d’un site web n’autorisent pas l’agent à partager des informations sans rapport avec la tâche ni à effectuer des actions sensibles.
Dans le navigateur intégré, chaque invocation d’outil fait l’objet d’un contrôle de sécurité avant son exécution. Les règles habituelles d’accès aux sites web et de confirmation continuent de s’appliquer, y compris pour les actions importantes telles que l’envoi de messages, la réalisation d’achats, la suppression de données ou la modification d’autorisations. Le navigateur associe chaque invocation à sa page d’origine et à l’enregistrement de l’outil. Ces contrôles réduisent les risques ; ils ne garantissent pas la fiabilité d’un site web ni de ses résultats.
Vous pouvez désactiver Activer les outils de site dans Paramètres > Navigateur > Autorisations. Examinez le site, l’action demandée et le résultat avant de partager des informations sensibles ou de vous fier à une modification.
Signalez les vulnérabilités de sécurité par l’intermédiaire du programme Security Bug Bounty d’OpenAI. Pour les risques liés à la sécurité de l’IA, consultez le programme Safety Bug Bounty. Respectez le périmètre et les instructions de soumission de chaque programme.
Ajouter WebMCP à votre site web
Vous pouvez demander à Codex d’ajouter la prise en charge de WebMCP à l’application web ou au Site sur lequel vous travaillez. Décrivez les actions que l’agent devrait pouvoir effectuer et demandez à Codex de réutiliser la logique et les autorisations existantes de l’application.
Commencez par une opération déjà prise en charge par votre application. Par exemple :
- Un tableau de bord qui permet à l’agent de définir une plage de dates et d’examiner les données sous-jacentes d’un graphique.
- Un éditeur de documents qui permet à l’agent de rechercher une section, de suggérer une modification ou de laisser un commentaire à votre attention.
- Un planificateur de voyage qui permet à l’agent de comparer des options et de mettre à jour un itinéraire pendant que vous examinez la carte.
Vous pouvez également écrire le code vous-même. Dans le module JavaScript de votre page, vérifiez la compatibilité du navigateur et enregistrez un outil. Cet exemple en lecture seule renvoie le titre de la page actuelle :
if (typeof document.modelContext?.registerTool === "function") {
await document.modelContext.registerTool({
name: "get_page_title",
description: "Read the title of the current page.",
inputSchema: {
type: "object",
properties: {},
additionalProperties: false,
},
annotations: { readOnlyHint: true },
execute: async () => ({ title: document.title }),
});
}Un agent compatible peut détecter get_page_title et recevoir le
titre actuel de la page. Pour un outil qui accepte des arguments, décrivez-les dans le schéma
d’entrée et utilisez-les dans le gestionnaire execute pour appeler la logique
existante de votre application.
Limitez précisément les entrées, décrivez les effets secondaires et renvoyez suffisamment d’informations pour vérifier le résultat. Utilisez les mécanismes existants d’authentification, d’autorisation et de validation des entrées de votre application. Conservez l’interface habituelle pour les personnes et les navigateurs qui ne prennent pas en charge WebMCP.
Pour obtenir des informations sur l’API et consulter des exemples, consultez la spécification WebMCP et le guide de développement de Chrome.