Aller au contenu
Lilo
Esc
↑↓naviguer↵ouvrir⌘Japerçu
Sur cette page

Outils MCP

Les outils que le serveur MCP intégré de Lilo offre aux agents IA, avec leurs paramètres, types et champs requis, générés depuis les définitions de l'app.

Les outils qu’un agent IA peut appeler une fois que vous avez activé Laisser les agents utiliser Lilo dans Réglages > Agents. Chacun comporte un court résumé et les paramètres qu’un client MCP envoie, avec leurs types, leurs valeurs autorisées et leur caractère obligatoire ou non. Pour connecter un agent, consultez Agents IA.

Ce qui vaut pour chaque outil :

  • Les outils dont dispose Claude in Chrome conservent ses noms et ses formes, de sorte qu’un agent écrit pour lui n’a besoin de rien de nouveau. Lilo en ajoute d’autres, tels que les outils d’inspecteur web, de réseau et de profil.
  • Un agent travaille dans son propre dossier, que les descriptions des outils appellent son groupe d’onglets. tabId est le numéro que tabs_context_mcp et tabs_create_mcp donnent pour un onglet de ce dossier, et un agent n’atteint que les onglets de ses dossiers. Un agent connecté depuis une autre app travaille dans un espace Agents, dans le profil Agents jusqu’à ce que vous autorisiez l’un des vôtres ; un agent dans une conversation Lilo travaille dans le dossier de la conversation, dans votre propre espace, avec le profil de cet espace et vos connexions. Aucun agent n’atteint l’un de vos espaces privés. Ces outils sont tout ce que Lilo donne à un agent : les outils de fichiers et de commandes propres à un agent de conversation sont ceux de l’agent, pas ceux de Lilo, et rien de ce qui suit ne s’y applique.
  • Certaines actions attendent votre approbation, sauf si vous désactivez Demander avant d’envoyer, payer, supprimer ou publier : un clic ou un appui sur Entrée sur un bouton, un lien ou un formulaire dont le libellé ou l’adresse de formulaire contient l’un des mots d’une liste fixe, tels que « send », « pay », « delete » ou « publish », et une requête autre que GET ou HEAD avec les cookies de l’un de vos profils. La vérification des mots se fait au mieux : les clics sur d’autres types d’éléments, les autres libellés, les autres langues, les icônes et la touche Entrée dans une zone de message passent sans question. Quel que soit ce réglage, Lilo demande avant qu’un agent ne remette à une page l’un de vos fichiers. Ouvrir un fichier local avec navigate et le lire ne demande rien. Sécurité des agents explique ce que les approbations couvrent et ce qu’elles ne couvrent pas.
  • Une description de paramètre ci-dessous traduit le texte, en anglais, que l’agent lit lui-même.

Onglets et pages

tabs_context_mcp

Liste les onglets du dossier de l’agent (son groupe d’onglets), et peut créer le dossier avec un onglet vide lorsqu’il n’existe pas encore.

Paramètre Type Requis Description
createIfEmpty boolean non Crée votre groupe d’onglets avec un onglet vide s’il n’en existe aucun.
title string non Ce sur quoi vous travaillez, en 2 à 4 mots (« Parcours d’inscription », « Bug d’export CSV ») : le nom de votre groupe que voit l’utilisateur, et le groupe qui est listé.

tabs_create_mcp

Ouvre un nouvel onglet vide dans le dossier de l’agent, en arrière-plan, éventuellement dans un espace privé propre à l’agent qui ne partage ni cookies ni connexions avec ses autres onglets.

Paramètre Type Requis Description
title string non Ce sur quoi vous travaillez, en 2 à 4 mots : le nom de votre groupe que voit l’utilisateur, et le groupe dans lequel va l’onglet.
isolated boolean non True pour un onglet dans votre propre espace privé : il ne partage ni cookie, ni stockage, ni connexion avec vos autres onglets, comme un nouveau visiteur ou un second utilisateur. Vos onglets isolés partagent un même ensemble de cookies, qui disparaît lorsque vous vous déconnectez.

tabs_close_mcp

Ferme l’un des onglets de l’agent.

Paramètre Type Requis Description
tabId number oui L’onglet à fermer.

Charge une URL dans un onglet, ou revient en arrière, avance ou recharge, puis attend les redirections et la stabilisation de la page avant de donner son URL et son titre définitifs.

Paramètre Type Requis Description
url string oui L’URL à charger (le schéma par défaut est https://), ou « back », « forward » ou « reload ».
tabId number oui L’onglet dans lequel naviguer.

read_page

Renvoie l’arbre d’accessibilité de la page, chaque élément avec une ref que les autres outils acceptent, éventuellement limité aux éléments interactifs ou à un seul sous-arbre.

Paramètre Type Requis Description
tabId number oui L’onglet à lire.
filter string : interactive, all non « all » (par défaut) ou « interactive ».
ref_id string non Lire uniquement le sous-arbre de cet élément.
depth number non Profondeur maximale de l’arbre (15 par défaut).
max_chars number non Nombre maximal de caractères en sortie (50000 par défaut).

find

Trouve jusqu’à 20 éléments affichés dont le rôle, le nom ou le texte contient une requête, sans tenir compte de la casse.

Paramètre Type Requis Description
query string oui Texte à rechercher.
tabId number oui L’onglet dans lequel chercher.

wait_for

Attend qu’un texte, un élément ou un rôle s’affiche ou disparaisse, qu’un contrôle devienne actif, ou que l’onglet atteigne une URL, pendant 50 secondes au maximum.

Paramètre Type Requis Description
text string non Texte qui doit s’afficher, sans tenir compte de la casse.
selector string non Un sélecteur CSS, à la place du texte.
role string non Le rôle d’un élément tel que read_page le donne (button, link, textbox, heading…), à la place du texte.
name string non Avec role : une partie du nom de l’élément tel que read_page le donne, sans tenir compte de la casse.
url string non Une partie de l’URL de l’onglet, ou, avec * pour toute suite de caractères, un motif pour l’URL entière (*/orders/*), en tenant compte de la casse. N’accepte pas de state.
state string : visible, hidden, enabled non visible (par défaut) : jusqu’à ce qu’il s’affiche ; hidden : jusqu’à ce qu’il ait disparu ; enabled : jusqu’à ce que l’élément du sélecteur ou du rôle s’affiche, non désactivé.
timeout number non Secondes, 10 par défaut, jusqu’à 50.
tabId number oui L’onglet.

get_page_text

Extrait le texte visible de la page, en commençant par son article ou son contenu principal.

Paramètre Type Requis Description
tabId number oui L’onglet à lire.
max_chars number non Nombre maximal de caractères en sortie (50000 par défaut).

form_input

Définit la valeur d’un champ de saisie, d’une zone de texte, d’une liste de sélection, d’une case à cocher ou d’un élément modifiable à partir de sa ref, et indique ce que l’élément contient ensuite.

Paramètre Type Requis Description
ref string oui La ref de l’élément, issue de read_page ou de find.
value string ou boolean ou number oui La valeur ; un booléen pour une case à cocher.
tabId number oui L’onglet.

javascript_tool

Exécute du JavaScript dans la page et renvoie la valeur de sa dernière expression ; l’await de premier niveau fonctionne.

Paramètre Type Requis Description
action string : javascript_exec oui Toujours « javascript_exec ».
text string oui Le code JavaScript à exécuter.
timeout number non Secondes avant l’arrêt de l’appel, 55 par défaut, jusqu’à 600 : pour un fetch ou une attente de longue durée. Au-delà de 60 s, votre client MCP peut cesser d’attendre le premier, sauf s’il accepte les notifications de progression.
tabId number oui L’onglet.

fetch

Envoie une requête HTTP depuis un onglet comme le ferait sa page, avec son origine et ses cookies ; une requête autre que GET ou HEAD dans l’un de vos profils attend votre approbation.

Paramètre Type Requis Description
url string oui L’URL à requêter.
method string non GET par défaut.
headers object non En-têtes de la requête, par nom. Le navigateur définit lui-même Cookie.
body string ou object ou array non Le corps de la requête : une chaîne, ou du JSON pour un objet.
credentials string : same-origin, include, omit non Quelles requêtes transportent des cookies, comme l’option de fetch : same-origin par défaut, include pour une API d’une autre origine qui les autorise.
responseType string : text, json, base64 non La forme sous laquelle le corps revient : text (par défaut), json analysé, ou base64 pour du binaire.
maxBytes number non Nombre maximal d’octets du corps lus, 1048576 (1 Mo) par défaut, jusqu’à 10485760.
tabId number oui L’onglet dont la page envoie la requête.

Interaction

computer

Clique, saisit du texte, appuie sur des touches, fait défiler, fait glisser et survole dans un onglet, prend des captures d’écran, et capture une zone avec tous ses détails ; un clic ou la touche Entrée sur un contrôle dont le libellé contient un mot tel que envoyer, payer, commander, supprimer ou publier attend votre approbation.

Paramètre Type Requis Description
action string : left_click, right_click, double_click, triple_click, type, insert_text, key, screenshot, wait, scroll, left_click_drag, zoom, scroll_to, hover oui
coordinate array de number non (x, y) pour les clics, le défilement, le survol et la fin d’un glissement.
ref string non Une ref d’élément issue de read_page ou de find, à la place de coordinate ; pour screenshot, l’élément à capturer.
selector string non screenshot : un sélecteur CSS de l’élément à capturer, à la place de ref.
margin number non screenshot d’un élément : pixels CSS conservés autour de lui, 0 par défaut.
fullPage boolean non screenshot : la page entière, contenu différé chargé, sans redimensionner la zone d’affichage.
fullResolution boolean non screenshot : au rapport de pixels de l’appareil de la page au lieu d’un pixel par point.
savePath string non screenshot : un chemin .png absolu où l’écrire, les dossiers étant créés ; la réponse donne le chemin, pas l’image.
text string non Le texte à saisir ou à insérer, ou pour key les touches : séparées par des espaces, les modificateurs étant reliés par + (cmd+a, Return).
modifiers string non Touches de modification maintenues pendant un clic, reliées par + (cmd, shift, alt, ctrl).
scroll_direction string : up, down, left, right non
scroll_amount number non Crans de molette, 3 par défaut.
start_coordinate array de number non (x, y) où commence un glissement.
region array de number non (x0, y0, x1, y1) sur lesquels zoomer.
duration number non Secondes d’attente, 10 au maximum.
repeat number non Combien de fois appuyer sur les touches d’une action key.
tabId number oui L’onglet.

resize_window

Définit la taille de la zone d’affichage d’un onglet pour tester une mise en page à une autre largeur, sans redimensionner la fenêtre de Lilo.

Paramètre Type Requis Description
width number oui Largeur en pixels.
height number oui Hauteur en pixels.
tabId number oui L’onglet.

read_console_messages

Renvoie la sortie de la console de la page actuelle de l’onglet, éventuellement uniquement les erreurs ou les messages contenant un texte.

Paramètre Type Requis Description
tabId number oui L’onglet.
onlyErrors boolean non Uniquement les erreurs.
pattern string non Uniquement les messages contenant ce texte.
limit number non Nombre de messages les plus récents à renvoyer, 50 par défaut, 200 au maximum.

read_network_requests

Liste les requêtes réseau de l’onglet avec leur méthode, leur statut, leur URL, leur type, leur taille et leur durée ; une fois qu’un outil de développement a été exécuté sur l’onglet, une requête peut être lue en entier, corps compris.

Paramètre Type Requis Description
tabId number oui L’onglet.
urlPattern string non Uniquement les requêtes dont l’URL contient ce texte, tel quel : pas une expression régulière, contrairement à celui de network_mock.
exclude array de string non Écarter les requêtes dont l’URL contient l’un de ces textes, comme [“/node_modules/”, “/@vite/”, “/src/”] pour les modules d’un serveur de développement.
requestId string non Une requête en entier, son id sous forme de chaîne : « 0.16620 ».
limit number non Nombre de requêtes les plus récentes à renvoyer, 50 par défaut.

file_upload

Choisit des fichiers pour un champ de fichier sans afficher de panneau de sélection de fichiers, une fois que vous avez autorisé chaque fichier.

Paramètre Type Requis Description
paths array de string oui Chemins absolus des fichiers.
ref string oui La ref du champ de fichier.
tabId number oui L’onglet.

upload_image

Dépose une image sur un élément ou la définit sur un champ de fichier, à partir d’une capture d’écran prise par l’agent ou d’un fichier que vous autorisez.

Paramètre Type Requis Description
imageId string non L’id d’une capture d’écran prise avec computer.
path string non Un chemin absolu vers un fichier image, que l’utilisateur autorise d’abord.
ref string non La ref de l’élément cible.
coordinate array de number non (x, y) de la cible à la place de ref.
filename string non Le nom de fichier que voit la page.
tabId number oui L’onglet.

gif_creator

Enregistre les actions effectuées dans un onglet et les exporte sous forme de GIF animé dans le dossier Téléchargements.

Paramètre Type Requis Description
action string : start_recording, stop_recording, export, clear oui
filename string non Nom de fichier pour export.
tabId number oui L’onglet.

browser_batch

Exécute plusieurs appels d’outils dans l’ordre en un seul aller-retour, en s’arrêtant à la première erreur.

Paramètre Type Requis Description
actions array de object oui Chaque élément est {name, input} : un nom d’outil et ses arguments.
actions[].name string oui
actions[].input object oui

run

Exécute un programme JavaScript qui appelle lui-même les autres outils, pour des boucles et des branchements sur de nombreuses étapes en un seul aller-retour, avec 200 appels d’outils au maximum.

Paramètre Type Requis Description
code string oui Le corps d’une fonction asynchrone : await et return fonctionnent. Par exemple : for (const u of urls) { await tool(‘navigate’, {tabId: 1, url: u}); out.push(await tool(‘get_page_text’, {tabId: 1})) } return out
timeout number non Secondes avant l’arrêt de l’exécution, 55 par défaut, jusqu’à 600. Au-delà de 60 s, votre client MCP peut cesser d’attendre le premier, sauf s’il accepte les notifications de progression.

list_profiles

Liste les profils de Lilo, en signalant celui qu’utilisent les onglets de l’agent (le profil Agents par défaut) et celui dans lequel vous travaillez.

Aucun paramètre.

switch_profile

Déplace les onglets de l’agent vers un autre profil afin qu’il puisse agir avec les connexions de ce profil, une fois que vous avez autorisé ce profil.

Paramètre Type Requis Description
profile string oui Le nom ou l’id du profil, issu de list_profiles.

reset_profile

Efface les cookies, le stockage, le cache et l’historique du profil Agents et recharge les onglets de l’agent ; il ne touche jamais à vos propres profils.

Paramètre Type Requis Description
wait number non Secondes d’attente pour que les autres agents ferment leurs onglets, jusqu’à 600 (0 par défaut).

Outils de développement

devtools_command

Envoie une commande du protocole de l’inspecteur web de WebKit à un onglet et renvoie son résultat, ou liste toutes les commandes que ce WebKit prend en charge.

Paramètre Type Requis Description
method string non Domain.command, par exemple Runtime.evaluate ou DOM.getDocument.
params object non Les paramètres de la commande.
tabId number oui L’onglet.

devtools_events

Lit les événements du protocole de l’inspecteur web d’un onglet, issus des domaines auxquels l’agent a envoyé des commandes.

Paramètre Type Requis Description
prefix string non Uniquement les événements dont le nom commence par ceci, comme Network. ou Console.messageAdded.
limit number non Nombre d’événements les plus récents à renvoyer, 50 par défaut.
clear boolean non Vider le tampon après la lecture.
tabId number oui L’onglet.

network_mock

Intercepte les requêtes d’un onglet dont l’URL correspond à une expression régulière pour les simuler, les faire échouer, les réécrire ou les retarder.

Paramètre Type Requis Description
action string : add, remove, list, clear oui
id number non La règle à supprimer.
urlPattern string non Une expression régulière JavaScript testée sur l’URL complète.
methods array de string non Uniquement les requêtes utilisant ces méthodes HTTP, comme [“POST”].
bodyPattern string non Uniquement les requêtes dont le corps, en tant que texte, correspond à cette expression régulière JavaScript.
bodyJson object non Uniquement les requêtes dont le corps JSON comporte tous ces champs de premier niveau. Une chaîne est une expression régulière appliquée à la valeur du champ : {operationName: “^GetUser$”} pour une seule opération GraphQL, {query: “^\s*mutation\b”} pour toutes les mutations. Les autres valeurs doivent être égales. Un lot (un tableau JSON) correspond lorsque l’un de ses éléments correspond.
stage string : request, response non request (par défaut) : avant son envoi. response : remplacer la réponse réelle.
response object non La simulation : status (200), statusText, headers, mimeType (text/plain, ou celui du fichier), et l’un de body (texte), bodyBase64 ou path : un chemin local absolu, lu à chaque requête. $1 et les suivants dans path reprennent les groupes de urlPattern, pour servir un dossier : /assets/([^?]*) avec /abs/dist/assets/$1. Un fichier manquant répond 404. L’utilisateur autorise d’abord le fichier, ou le dossier.
error string : General, AccessControl, Cancellation, Timeout non Faire échouer la requête à la place.
modify object non Envoyer la requête modifiée à la place : url, method, headers, postData.
delayMs number non Attendre cette durée avant d’appliquer le résultat.
tabId number oui L’onglet.

network_response

Renvoie les requêtes d’un onglet en entier, avec en-têtes, corps, chronométrages et tailles, ou les enregistre dans un fichier HAR.

Paramètre Type Requis Description
url string non L’URL, ou une partie de celle-ci ; pour une seule requête, la plus récente ayant exactement cette URL l’emporte, sinon la plus récente qui la contient.
requestId string non Une requête par son id, issu de read_network_requests ou de all, sous forme de chaîne : « 0.16620 ».
responseBody boolean non false écarte le corps de la réponse, pour obtenir le seul corps de la requête.
method string non Uniquement les requêtes utilisant cette méthode, comme POST.
all boolean non Toutes les requêtes correspondantes (les 200 dernières), pas seulement la plus récente.
har boolean non Enregistrer toutes les requêtes correspondantes, corps entiers, dans un fichier HAR et renvoyer son chemin.
max_chars number non Nombre maximal de caractères de chaque corps (5000 par défaut pour une seule requête, 2000 avec all). Un corps JSON plus long est aussi accompagné de bodyShape : ses clés et ses types, et la longueur de chaque tableau.
tabId number oui L’onglet.

cookies

Lit et modifie les cookies du profil d’un onglet, y compris les cookies HttpOnly ; la lecture et la suppression n’atteignent que les cookies des sites qu’affichent les onglets de l’agent.

Paramètre Type Requis Description
action string : get, set, delete, clear oui
url string non get : les cookies qu’enverrait une requête vers cette URL.
domain string non get, delete, clear : ce domaine et ses sous-domaines.
name string non delete : le nom du cookie.
cookie object non set : name, value, domain, path (/), expires (secondes unix, un cookie de session en son absence), httpOnly, secure, sameSite (Lax, Strict ou None).
tabId number oui L’onglet.

emulate

Fait passer un onglet pour un autre environnement : agent utilisateur, rapport de pixels, jeu de couleurs, réduction des animations, contraste, type de média, JavaScript, images, cache, en-têtes supplémentaires, un script exécuté avant chaque page, remplacement de texte et gel.

Paramètre Type Requis Description
userAgent string ou null non L’en-tête User-Agent et navigator.userAgent, à partir du prochain chargement.
deviceScaleFactor number ou null non devicePixelRatio, comme 2 ou 3.
colorScheme string ou null : light, dark, null non prefers-color-scheme : le thème clair ou sombre d’un site qui suit le système.
reducedMotion string ou null : reduce, no-preference, null non prefers-reduced-motion.
contrast string ou null : more, no-preference, null non prefers-contrast : more pour un thème à contraste élevé, avec l’un ou l’autre colorScheme.
media string ou null : print, screen, null non Le type de média CSS.
javascript boolean ou null non false exécute les pages sans JavaScript.
images boolean ou null non false ne charge aucune image.
cache boolean ou null non false contourne le cache HTTP.
extraHeaders object ou null non En-têtes ajoutés à chaque requête, par nom.
initScript string ou null non JavaScript exécuté dans le cadre principal de chaque page avant ses propres scripts, à partir du prochain chargement (navigate reload ; le changement de route d’une application monopage n’est pas un chargement) : observateurs de performance, marques de chronométrage, substituts d’API.
textReplace array de array de string ou null non [[motif, remplacement], …] appliqués en continu pendant le rendu de la page, pour des captures anonymisées : texte, valeurs de champs, placeholder, title, alt et aria-label, shadow DOM, chaque cadre et le titre de l’onglet, maintenant et à chaque chargement. Un motif est un texte littéral recherché par mots entiers quelle que soit la casse, ou /une regex/flags ($1 dans le remplacement). Le texte réparti sur plusieurs éléments, les canvas et les images ne sont pas atteints. null rétablit le texte de la page.
textReplaceGuard boolean ou array de string ou null non true, ou d’autres motifs qui ne doivent pas apparaître, comme le prénom seul : screenshot et zoom de computer échouent tant qu’un motif de textReplace ou de garde correspond au texte rendu, y compris un nom scindé par le balisage, ou à un champ.
frozen boolean ou null non true gèle l’onglet comme Lilo gèle l’onglet d’un utilisateur laissé en arrière-plan (page suspendue, informée qu’elle est masquée, médias en pause). Votre prochain appel sur l’onglet le réveille, comme lorsque l’utilisateur y revient.
reset boolean non Annuler toutes les émulations de l’onglet.
tabId number oui L’onglet.

performance

Mesure un onglet : métriques de chargement et d’affichage et mémoire, un profil chronologique avec un résumé, instantanés du tas et ramasse-miettes.

Paramètre Type Requis Description
action string : metrics, start, stop, summary, heap_snapshot, gc oui
fromMs number non stop, summary : uniquement ce qui s’est passé à partir de ce nombre de ms après le début.
toMs number non stop, summary : uniquement ce qui s’est passé jusqu’à ce nombre de ms après le début.
focus string non stop, summary : les chemins d’appel menant aux fonctions dont le nom contient ceci, comme appendChild.
screenshots boolean non start : enregistrer aussi une capture d’écran à chaque image, ce qui coûte du temps à la page (désactivé par défaut).
className string non heap_snapshot : lister ce qui retient les objets de cette classe, et un chemin vers l’un d’eux depuis une racine.
tabId number oui L’onglet.

Sélection du navigateur

Outil Paramètres Résumé
list_connected_browsers aucun Liste les navigateurs que ce serveur peut piloter, c’est-à-dire uniquement le Lilo en cours d’exécution.
select_browser deviceId Sélectionne le navigateur à piloter ; Lilo est le seul.
switch_browser aucun Se connecte à un navigateur ; Lilo est déjà connecté.

Les outils de sélection du navigateur existent pour que les clients écrits pour plusieurs navigateurs trouvent celui qu’ils attendent. Ils ne sont pas proposés aux agents avec lesquels vous parlez dans une conversation Lilo.